lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <c63b7b3e-803b-7e6f-a96c-e75f738f6448@linux.dev>
Date:   Mon, 10 Oct 2022 17:18:46 -0700
From:   Martin KaFai Lau <martin.lau@...ux.dev>
To:     Rongfeng Ji <SikoJobs@...look.com>
Cc:     bpf@...r.kernel.org, linux-kernel@...r.kernel.org, ast@...nel.org,
        daniel@...earbox.net, andrii@...nel.org, song@...nel.org,
        yhs@...com, john.fastabend@...il.com, kpsingh@...nel.org,
        sdf@...gle.com, haoluo@...gle.com, jolsa@...nel.org,
        joannelkoong@...il.com, kuifeng@...com, maximmi@...dia.com,
        quentin@...valent.com
Subject: Re: [PATCH] bpf: Add SO_REUSEPORT to bpf_{g,s}etsockopt documentation

On 10/7/22 10:55 AM, Rongfeng Ji wrote:
> SO_REUSEPORT has been supported by bpf_{g,s}etsockopt for a long time.
> It is added at the beginning of the optname list under level
> SOL_SOCKET because it is supported by both helper functions.
> 
> Signed-off-by: Rongfeng Ji <SikoJobs@...look.com>
> ---
>   include/uapi/linux/bpf.h       | 7 ++++---
>   tools/include/uapi/linux/bpf.h | 7 ++++---
>   2 files changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h
> index 51b9aa640ad2..ccae9cb833b8 100644
> --- a/include/uapi/linux/bpf.h
> +++ b/include/uapi/linux/bpf.h
> @@ -2574,9 +2574,9 @@ union bpf_attr {
>    * 		It supports the following *level*\ s:
>    *
>    * 		* **SOL_SOCKET**, which supports the following *optname*\ s:
> - * 		  **SO_RCVBUF**, **SO_SNDBUF**, **SO_MAX_PACING_RATE**,
> - * 		  **SO_PRIORITY**, **SO_RCVLOWAT**, **SO_MARK**,
> - * 		  **SO_BINDTODEVICE**, **SO_KEEPALIVE**.
> + * 		  **SO_REUSEPORT**, **SO_RCVBUF**, **SO_SNDBUF**,
> + * 		  **SO_MAX_PACING_RATE**, **SO_PRIORITY**, **SO_RCVLOWAT**,
> + * 		  **SO_MARK**, **SO_BINDTODEVICE**, **SO_KEEPALIVE**.

More options has recently been added to SOL_SOCKET, IPPROTO_TCP, and 
IPPROTO_IPV6.  Could you take this chance to also add them together?

Also, it seems the optnames here is not in any particular order.  Please append 
the new ones to the end to avoid shifting code churn like the above.

>    * 		* **IPPROTO_TCP**, which supports the following *optname*\ s:
>    * 		  **TCP_CONGESTION**, **TCP_BPF_IW**,
>    * 		  **TCP_BPF_SNDCWND_CLAMP**, **TCP_SAVE_SYN**,
> @@ -2802,6 +2802,7 @@ union bpf_attr {
>    * 		This helper actually implements a subset of **getsockopt()**.
>    * 		It supports the following *level*\ s:
>    *
> + * 		* **SOL_SOCKET**, which supports *optname* **SO_REUSEPORT**.

For bpf_getsockopt(), it supports all optnames in bpf_setsockopt() with a few 
exceptions.  The exceptions should be the TCP_BPF_* which is Set only.  The 
TCP_SAVED_SYNC is Get only.  Please check.

The doc for bpf_getsockopt() could be simplified to "... the same set of 
bpf_setsockopt's optnames is supported.  The exceptions are... TCP_BPF_* which 
is bpf_setsockopt() only.... TCP_SAVED_SYNC is bpf_getsockopt() only..."

Please tag it as bpf-next and also v2 in the next revision:
Documentation/bpf/bpf_devel_QA.rst  (Q: How do I indicate which tree....)


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ