On Sat, Jan 19, 2019 at 02:20:30PM +0800, Yafang Shao wrote: > When sock recvbuff is set by bpf_setsockopt(), the value must by limited > by rmem_max. > It is the same with sendbuff. > > Signed-off-by: Yafang Shao <laoar.s...@gmail.com> For bug fixes, please target the bpf branch instead of bpf-next and please also add the Fixes tag: Fixes: 8c4b4c7e9ff0 ("bpf: Add setsockopt helper function to bpf")
Patch LGTM, Acked-by: Martin KaFai Lau <ka...@fb.com> Cc: Lawrence Brakmo, thought? > --- > net/core/filter.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/net/core/filter.c b/net/core/filter.c > index 447dd1b..f30b58a 100644 > --- a/net/core/filter.c > +++ b/net/core/filter.c > @@ -4111,10 +4111,12 @@ static unsigned long bpf_xdp_copy(void *dst_buff, > const void *src_buff, > /* Only some socketops are supported */ > switch (optname) { > case SO_RCVBUF: > + val = min_t(u32, val, sysctl_rmem_max); > sk->sk_userlocks |= SOCK_RCVBUF_LOCK; > sk->sk_rcvbuf = max_t(int, val * 2, SOCK_MIN_RCVBUF); > break; > case SO_SNDBUF: > + val = min_t(u32, val, sysctl_wmem_max); > sk->sk_userlocks |= SOCK_SNDBUF_LOCK; > sk->sk_sndbuf = max_t(int, val * 2, SOCK_MIN_SNDBUF); > break; > -- > 1.8.3.1 >