No description
Find a file
Martin KaFai Lau dbafd7ddd6 bpf: Add bpf_get_listener_sock(struct bpf_sock *sk) helper
Add a new helper "struct bpf_sock *bpf_get_listener_sock(struct bpf_sock *sk)"
which returns a bpf_sock in TCP_LISTEN state.  It will trace back to
the listener sk from a request_sock if possible.  It returns NULL
for all other cases.

No reference is taken because the helper ensures the sk is
in SOCK_RCU_FREE (where the TCP_LISTEN sock should be in).
Hence, bpf_sk_release() is unnecessary and the verifier does not
allow bpf_sk_release(listen_sk) to be called either.

The following is also allowed because the bpf_prog is run under
rcu_read_lock():

	sk = bpf_sk_lookup_tcp();
	/* if (!sk) { ... } */
	listen_sk = bpf_get_listener_sock(sk);
	/* if (!listen_sk) { ... } */
	bpf_sk_release(sk);
	src_port = listen_sk->src_port; /* Allowed */

Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2019-03-13 12:04:35 -07:00
arch ARM: dts: stm32: Add Ethernet support on stm32h7 SOC and activate it for eval and disco boards 2019-03-08 11:48:19 -08:00
block
certs
crypto
Documentation dt-bindings: net: stmmac: remove syscfg clock property 2019-03-08 11:48:19 -08:00
drivers vxlan: test dev->flags & IFF_UP before calling gro_cells_receive() 2019-03-10 11:05:52 -07:00
firmware
fs
include bpf: Add bpf_get_listener_sock(struct bpf_sock *sk) helper 2019-03-13 12:04:35 -07:00
init
ipc
kernel bpf: Fix bpf_tcp_sock and bpf_sk_fullsock issue related to bpf_sk_release 2019-03-13 12:04:35 -07:00
lib
LICENSES
mm
net bpf: Add bpf_get_listener_sock(struct bpf_sock *sk) helper 2019-03-13 12:04:35 -07:00
samples bpf: hbm: fix spelling mistake "deault" -> "default" 2019-03-07 10:35:00 +01:00
scripts
security
sound
tools libbpf: fix to reject unknown flags in xsk_socket__create() 2019-03-12 21:58:18 +01:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS appletalk: Add atalk.h header files to MAINTAINERS file 2019-03-06 10:46:43 -08:00
Makefile
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.