OSDN Git Service

Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
authorJakub Kicinski <kuba@kernel.org>
Fri, 18 Nov 2022 00:19:14 +0000 (16:19 -0800)
committerJakub Kicinski <kuba@kernel.org>
Fri, 18 Nov 2022 02:30:39 +0000 (18:30 -0800)
include/linux/bpf.h
  1f6e04a1c7b8 ("bpf: Fix offset calculation error in __copy_map_value and zero_map_value")
  aa3496accc41 ("bpf: Refactor kptr_off_tab into btf_record")
  f71b2f64177a ("bpf: Refactor map->off_arr handling")
https://lore.kernel.org/all/20221114095000.67a73239@canb.auug.org.au/

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
27 files changed:
1  2 
MAINTAINERS
arch/x86/net/bpf_jit_comp.c
drivers/net/ethernet/amazon/ena/ena_netdev.c
drivers/net/ethernet/atheros/ag71xx.c
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/cavium/liquidio/lio_main.c
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
drivers/net/ethernet/huawei/hinic/hinic_main.c
drivers/net/ethernet/marvell/octeon_ep/octep_main.c
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
drivers/net/ethernet/microchip/sparx5/sparx5_main.c
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
drivers/net/ethernet/pensando/ionic/ionic_main.c
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
drivers/net/macvlan.c
drivers/net/mhi_net.c
drivers/net/netdevsim/dev.c
drivers/net/phy/dp83867.c
drivers/net/usb/qmi_wwan.c
include/linux/bpf.h
include/net/sock.h
kernel/bpf/verifier.c
net/bridge/br_vlan.c
net/dsa/dsa2.c
net/dsa/port.c
tools/testing/selftests/bpf/test_progs.c
tools/testing/selftests/bpf/test_verifier.c

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -356,14 -311,13 +356,14 @@@ static inline void bpf_obj_memcpy(struc
                return;
        }
  
 -      for (i = 0; i < map->off_arr->cnt; i++) {
 -              u32 next_off = map->off_arr->field_off[i];
 +      for (i = 0; i < foffs->cnt; i++) {
 +              u32 next_off = foffs->field_off[i];
 +              u32 sz = next_off - curr_off;
  
 -              memcpy(dst + curr_off, src + curr_off, next_off - curr_off);
 -              curr_off = next_off + map->off_arr->field_sz[i];
 +              memcpy(dst + curr_off, src + curr_off, sz);
-               curr_off += foffs->field_sz[i];
++              curr_off = next_off + foffs->field_sz[i];
        }
 -      memcpy(dst + curr_off, src + curr_off, map->value_size - curr_off);
 +      memcpy(dst + curr_off, src + curr_off, size - curr_off);
  }
  
  static inline void copy_map_value(struct bpf_map *map, void *dst, void *src)
@@@ -386,19 -340,13 +386,19 @@@ static inline void bpf_obj_memzero(stru
                return;
        }
  
 -      for (i = 0; i < map->off_arr->cnt; i++) {
 -              u32 next_off = map->off_arr->field_off[i];
 +      for (i = 0; i < foffs->cnt; i++) {
 +              u32 next_off = foffs->field_off[i];
 +              u32 sz = next_off - curr_off;
  
 -              memset(dst + curr_off, 0, next_off - curr_off);
 -              curr_off = next_off + map->off_arr->field_sz[i];
 +              memset(dst + curr_off, 0, sz);
-               curr_off += foffs->field_sz[i];
++              curr_off = next_off + foffs->field_sz[i];
        }
 -      memset(dst + curr_off, 0, map->value_size - curr_off);
 +      memset(dst + curr_off, 0, size - curr_off);
 +}
 +
 +static inline void zero_map_value(struct bpf_map *map, void *dst)
 +{
 +      bpf_obj_memzero(map->field_offs, dst, map->value_size);
  }
  
  void copy_map_value_locked(struct bpf_map *map, void *dst, void *src,
Simple merge
Simple merge
Simple merge
diff --cc net/dsa/dsa2.c
Simple merge
diff --cc net/dsa/port.c
Simple merge