Networking fixes for 5.19-rc2, including fixes bpf and netfilter.

Current release - regressions:
  - eth: amt: fix possible null-ptr-deref in amt_rcv()

Previous releases - regressions:
  - tcp: use alloc_large_system_hash() to allocate table_perturb

  - af_unix: fix a data-race in unix_dgram_peer_wake_me()

  - nfc: st21nfca: fix memory leaks in EVT_TRANSACTION handling

  - eth: ixgbe: fix unexpected VLAN rx in promisc mode on VF

Previous releases - always broken:
  - ipv6: fix signed integer overflow in __ip6_append_data

  - netfilter:
    - nat: really support inet nat without l3 address
    - nf_tables: memleak flow rule from commit path

  - bpf: fix calling global functions from BPF_PROG_TYPE_EXT programs

  - openvswitch: fix misuse of the cached connection on tuple changes

  - nfc: nfcmrvl: fix memory leak in nfcmrvl_play_deferred

  - eth: altera: fix refcount leak in altera_tse_mdio_create

  - add Quentin Monnet to bpftool maintainers

Signed-off-by: Paolo Abeni <>
net: amd-xgbe: fix clang -Wformat warning

see warning:
| drivers/net/ethernet/amd/xgbe/xgbe-drv.c:2787:43: warning: format specifies
| type 'unsigned short' but the argument has type 'int' [-Wformat]
|        netdev_dbg(netdev, "Protocol: %#06hx\n", ntohs(eth->h_proto));
|                                      ~~~~~~     ^~~~~~~~~~~~~~~~~~~

Variadic functions (printf-like) undergo default argument promotion.
Documentation/core-api/printk-formats.rst specifically recommends
using the promoted-to-type's format flag.

Also, as per C11
`If an int can represent all values of the original type ..., the
value is converted to an int; otherwise, it is converted to an
unsigned int. These are called the integer promotions.`

Since the argument is a u16 it will get promoted to an int and thus it is
most accurate to use the %x format specifier here. It should be noted that the
`#06` formatting sugar does not alter the promotion rules.

Signed-off-by: Justin Stitt <>
Reviewed-by: Nick Desaulniers <>
Signed-off-by: Jakub Kicinski <>
1 file changed