Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0dc400f4 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull networking fixes from David Miller:

 1) Fix error path in netdevsim, from Jakub Kicinski.

 2) Default values listed in tcp_wmem and tcp_rmem documentation were
    inaccurate, from Tonghao Zhang.

 3) Fix route leaks in SCTP, both for ipv4 and ipv6. From Alexey Kodanev
    and Tommi Rantala.

 4) Fix "MASK < Y" meant to be "MASK << Y" in xgbe driver, from Wolfram
    Sang.

 5) Use after free in u32_destroy_key(), from Paolo Abeni.

 6) Fix two TX issues in be2net driver, from Suredh Reddy.

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (25 commits)
  be2net: Handle transmit completion errors in Lancer
  be2net: Fix HW stall issue in Lancer
  RDS: IB: Fix null pointer issue
  nfp: fix kdoc warnings on nested structures
  sample/bpf: fix erspan metadata
  net: erspan: fix erspan config overwrite
  net: erspan: fix metadata extraction
  cls_u32: fix use after free in u32_destroy_key()
  net: amd-xgbe: fix comparison to bitshift when dealing with a mask
  net: phy: Handle not having GPIO enabled in the kernel
  ibmvnic: fix empty firmware version and errors cleanup
  sctp: fix dst refcnt leak in sctp_v4_get_dst
  sctp: fix dst refcnt leak in sctp_v6_get_dst()
  dwc-xlgmac: remove Jie Deng as co-maintainer
  doc: Change the min default value of tcp_wmem/tcp_rmem.
  samples/bpf: use bpf_set_link_xdp_fd
  libbpf: add missing SPDX-License-Identifier
  libbpf: add error reporting in XDP
  libbpf: add function to setup XDP
  tools: add netlink.h and if_link.h in tools uapi
  ...
parents cbd7b8a7 176bfb40
Loading
Loading
Loading
Loading
+31 −0
Original line number Diff line number Diff line
@@ -516,4 +516,35 @@ A: LLVM has a -mcpu selector for the BPF back end in order to allow the
   By the way, the BPF kernel selftests run with -mcpu=probe for better
   test coverage.

Q: In some cases clang flag "-target bpf" is used but in other cases the
   default clang target, which matches the underlying architecture, is used.
   What is the difference and when I should use which?

A: Although LLVM IR generation and optimization try to stay architecture
   independent, "-target <arch>" still has some impact on generated code:

     - BPF program may recursively include header file(s) with file scope
       inline assembly codes. The default target can handle this well,
       while bpf target may fail if bpf backend assembler does not
       understand these assembly codes, which is true in most cases.

     - When compiled without -g, additional elf sections, e.g.,
       .eh_frame and .rela.eh_frame, may be present in the object file
       with default target, but not with bpf target.

     - The default target may turn a C switch statement into a switch table
       lookup and jump operation. Since the switch table is placed
       in the global readonly section, the bpf program will fail to load.
       The bpf target does not support switch table optimization.
       The clang option "-fno-jump-tables" can be used to disable
       switch table generation.

   You should use default target when:

     - Your program includes a header file, e.g., ptrace.h, which eventually
       pulls in some header files containing file scope host assembly codes.
     - You can add "-fno-jump-tables" to work around the switch table issue.

   Otherwise, you can use bpf target.

Happy BPF hacking!
+2 −2
Original line number Diff line number Diff line
@@ -508,7 +508,7 @@ tcp_rmem - vector of 3 INTEGERs: min, default, max
	min: Minimal size of receive buffer used by TCP sockets.
	It is guaranteed to each TCP socket, even under moderate memory
	pressure.
	Default: 1 page
	Default: 4K

	default: initial size of receive buffer used by TCP sockets.
	This value overrides net.core.rmem_default used by other protocols.
@@ -667,7 +667,7 @@ tcp_window_scaling - BOOLEAN
tcp_wmem - vector of 3 INTEGERs: min, default, max
	min: Amount of memory reserved for send buffers for TCP sockets.
	Each TCP socket has rights to use it due to fact of its birth.
	Default: 1 page
	Default: 4K

	default: initial size of send buffer used by TCP sockets.  This
	value overrides net.core.wmem_default used by other protocols.
+0 −1
Original line number Diff line number Diff line
@@ -13326,7 +13326,6 @@ F: include/linux/platform_data/dma-dw.h
F:	drivers/dma/dw/

SYNOPSYS DESIGNWARE ENTERPRISE ETHERNET DRIVER
M:	Jie Deng <jiedeng@synopsys.com>
M:	Jose Abreu <Jose.Abreu@synopsys.com>
L:	netdev@vger.kernel.org
S:	Supported
+1 −1
Original line number Diff line number Diff line
@@ -595,7 +595,7 @@ static void xgbe_isr_task(unsigned long data)

		reissue_mask = 1 << 0;
		if (!pdata->per_channel_irq)
			reissue_mask |= 0xffff < 4;
			reissue_mask |= 0xffff << 4;

		XP_IOWRITE(pdata, XP_INT_REISSUE_EN, reissue_mask);
	}
+5 −2
Original line number Diff line number Diff line
@@ -248,6 +248,7 @@ struct be_tx_stats {
	u32 tx_spoof_check_err;
	u32 tx_qinq_err;
	u32 tx_internal_parity_err;
	u32 tx_sge_err;
	struct u64_stats_sync sync;
	struct u64_stats_sync sync_compl;
};
@@ -944,8 +945,10 @@ static inline bool is_ipv6_ext_hdr(struct sk_buff *skb)
#define BE_ERROR_EEH		1
#define BE_ERROR_UE		BIT(1)
#define BE_ERROR_FW		BIT(2)
#define BE_ERROR_HW		(BE_ERROR_EEH | BE_ERROR_UE)
#define BE_ERROR_ANY		(BE_ERROR_EEH | BE_ERROR_UE | BE_ERROR_FW)
#define BE_ERROR_TX		BIT(3)
#define BE_ERROR_HW		(BE_ERROR_EEH | BE_ERROR_UE | BE_ERROR_TX)
#define BE_ERROR_ANY		(BE_ERROR_EEH | BE_ERROR_UE | BE_ERROR_FW | \
				 BE_ERROR_TX)
#define BE_CLEAR_ALL		0xFF

static inline u8 be_check_error(struct be_adapter *adapter, u32 err_type)
Loading