CC: [email protected]
In-Reply-To: 
<9dbbf51e7f6868b3e9c8610a8d49b4493fb1b50f.1610381606.git.dan...@iogearbox.net>
References: 
<9dbbf51e7f6868b3e9c8610a8d49b4493fb1b50f.1610381606.git.dan...@iogearbox.net>
TO: Daniel Borkmann <[email protected]>
TO: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: Daniel Borkmann <[email protected]>

Hi Daniel,

I love your patch! Perhaps something to improve:

[auto build test WARNING on bpf-next/master]

url:    
https://github.com/0day-ci/linux/commits/Daniel-Borkmann/bpf-allow-to-retrieve-sol_socket-opts-from-sock_addr-progs/20210112-002246
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
:::::: branch date: 5 hours ago
:::::: commit date: 5 hours ago
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


"cppcheck warnings: (new ones prefixed by >>)"
   net/core/filter.c:612:12: warning: Pointer addition with NULL pointer. 
[nullPointerArithmetic]
     new_insn += 3;
              ^
   net/core/filter.c:560:43: note: Assignment 'first_insn=NULL', assigned value 
is 0
    struct bpf_insn *new_insn, *first_insn = NULL;
                                             ^
   net/core/filter.c:580:13: note: Assignment 'new_insn=first_insn', assigned 
value is 0
    new_insn = first_insn;
               ^
   net/core/filter.c:612:3: note: Compound assignment '+=', assigned value is 3
     new_insn += 3;
     ^
   net/core/filter.c:612:12: note: Null pointer addition
     new_insn += 3;
              ^

cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

   net/core/filter.c:8419:7: warning: Return value of function offsetof() is 
not used. [ignoredReturnValue]
    case offsetof(struct __sk_buff, cb[0]) ...
         ^
   net/core/filter.c:8544:7: warning: Return value of function offsetof() is 
not used. [ignoredReturnValue]
    case offsetof(struct __sk_buff, remote_ip6[0]) ...
         ^
   net/core/filter.c:8564:7: warning: Return value of function offsetof() is 
not used. [ignoredReturnValue]
    case offsetof(struct __sk_buff, local_ip6[0]) ...
         ^
   net/core/filter.c:9231:7: warning: Return value of function offsetof() is 
not used. [ignoredReturnValue]
    case offsetof(struct bpf_sock_ops, replylong[0]) ...
         ^
   net/core/filter.c:9283:7: warning: Return value of function offsetof() is 
not used. [ignoredReturnValue]
    case offsetof(struct bpf_sock_ops, remote_ip6[0]) ...
         ^
   net/core/filter.c:9304:7: warning: Return value of function offsetof() is 
not used. [ignoredReturnValue]
    case offsetof(struct bpf_sock_ops, local_ip6[0]) ...
         ^
   net/core/filter.c:9591:7: warning: Return value of function offsetof() is 
not used. [ignoredReturnValue]
    case offsetof(struct sk_msg_md, remote_ip6[0]) ...
         ^
   net/core/filter.c:9612:7: warning: Return value of function offsetof() is 
not used. [ignoredReturnValue]
    case offsetof(struct sk_msg_md, local_ip6[0]) ...
         ^
>> net/core/filter.c:4777:8: warning: Variable 'ret' is reassigned a value 
>> before the old one has been used. 'break;' missing? [redundantAssignInSwitch]
      ret = sock_bindtoindex(sk, ifindex, false);
          ^
   net/core/filter.c:4764:9: note: Variable 'ret' is reassigned a value before 
the old one has been used. 'break;' missing?
       ret = -ENODEV;
           ^
   net/core/filter.c:4777:8: note: Variable 'ret' is reassigned a value before 
the old one has been used. 'break;' missing?
      ret = sock_bindtoindex(sk, ifindex, false);
          ^

vim +4777 net/core/filter.c

6acc5c2910689fc6 Chenbo Feng        2017-03-22  4696  
beecf11bc2188067 Stanislav Fomichev 2020-04-30  4697  static int 
_bpf_setsockopt(struct sock *sk, int level, int optname,
5cdc744caab7cb0d Neal Cardwell      2020-09-10  4698                       char 
*optval, int optlen)
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4699  {
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4700    char devname[IFNAMSIZ];
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4701    int val, valbool;
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4702    struct net *net;
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4703    int ifindex;
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4704    int ret = 0;
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4705  
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4706    if (!sk_fullsock(sk))
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4707            return -EINVAL;
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4708  
beecf11bc2188067 Stanislav Fomichev 2020-04-30  4709    sock_owned_by_me(sk);
beecf11bc2188067 Stanislav Fomichev 2020-04-30  4710  
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4711    if (level == 
SOL_SOCKET) {
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4712            if (optlen != 
sizeof(int) && optname != SO_BINDTODEVICE)
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4713                    return 
-EINVAL;
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4714            val = *((int 
*)optval);
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4715            valbool = val ? 
1 : 0;
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4716  
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4717            /* Only some 
socketops are supported */
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4718            switch 
(optname) {
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4719            case SO_RCVBUF:
c9e4576743eeda8d Yafang Shao        2019-01-23  4720                    val = 
min_t(u32, val, sysctl_rmem_max);
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4721                    
sk->sk_userlocks |= SOCK_RCVBUF_LOCK;
ebb3b78db7bf8422 Eric Dumazet       2019-10-10  4722                    
WRITE_ONCE(sk->sk_rcvbuf,
ebb3b78db7bf8422 Eric Dumazet       2019-10-10  4723                            
   max_t(int, val * 2, SOCK_MIN_RCVBUF));
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4724                    break;
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4725            case SO_SNDBUF:
c9e4576743eeda8d Yafang Shao        2019-01-23  4726                    val = 
min_t(u32, val, sysctl_wmem_max);
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4727                    
sk->sk_userlocks |= SOCK_SNDBUF_LOCK;
e292f05e0df73f9f Eric Dumazet       2019-10-10  4728                    
WRITE_ONCE(sk->sk_sndbuf,
e292f05e0df73f9f Eric Dumazet       2019-10-10  4729                            
   max_t(int, val * 2, SOCK_MIN_SNDBUF));
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4730                    break;
76a9ebe811fb3d06 Eric Dumazet       2018-10-15  4731            case 
SO_MAX_PACING_RATE: /* 32bit version */
e224c390a6259c52 Yuchung Cheng      2019-01-17  4732                    if (val 
!= ~0U)
e224c390a6259c52 Yuchung Cheng      2019-01-17  4733                            
cmpxchg(&sk->sk_pacing_status,
e224c390a6259c52 Yuchung Cheng      2019-01-17  4734                            
        SK_PACING_NONE,
e224c390a6259c52 Yuchung Cheng      2019-01-17  4735                            
        SK_PACING_NEEDED);
700465fd338fe5df Ke Li              2020-10-22  4736                    
sk->sk_max_pacing_rate = (val == ~0U) ?
700465fd338fe5df Ke Li              2020-10-22  4737                            
                 ~0UL : (unsigned int)val;
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4738                    
sk->sk_pacing_rate = min(sk->sk_pacing_rate,
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4739                            
                 sk->sk_max_pacing_rate);
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4740                    break;
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4741            case 
SO_PRIORITY:
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4742                    
sk->sk_priority = val;
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4743                    break;
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4744            case 
SO_RCVLOWAT:
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4745                    if (val 
< 0)
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4746                            
val = INT_MAX;
eac66402d1c342f0 Eric Dumazet       2019-10-09  4747                    
WRITE_ONCE(sk->sk_rcvlowat, val ? : 1);
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4748                    break;
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4749            case SO_MARK:
f4924f24da8c7ef6 Peter Oskolkov     2019-01-16  4750                    if 
(sk->sk_mark != val) {
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4751                            
sk->sk_mark = val;
f4924f24da8c7ef6 Peter Oskolkov     2019-01-16  4752                            
sk_dst_reset(sk);
f4924f24da8c7ef6 Peter Oskolkov     2019-01-16  4753                    }
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4754                    break;
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4755            case 
SO_BINDTODEVICE:
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4756                    optlen 
= min_t(long, optlen, IFNAMSIZ - 1);
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4757                    
strncpy(devname, optval, optlen);
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4758                    
devname[optlen] = 0;
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4759  
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4760                    ifindex 
= 0;
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4761                    if 
(devname[0] != '\0') {
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4762                            
struct net_device *dev;
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4763  
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4764                            
ret = -ENODEV;
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4765  
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4766                            
net = sock_net(sk);
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4767                            
dev = dev_get_by_name(net, devname);
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4768                            
if (!dev)
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4769                            
        break;
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4770                            
ifindex = dev->ifindex;
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4771                            
dev_put(dev);
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4772                    }
03f510703daae949 Daniel Borkmann    2021-01-11  4773                    
fallthrough;
03f510703daae949 Daniel Borkmann    2021-01-11  4774            case 
SO_BINDTOIFINDEX:
03f510703daae949 Daniel Borkmann    2021-01-11  4775                    if 
(optname == SO_BINDTOIFINDEX)
03f510703daae949 Daniel Borkmann    2021-01-11  4776                            
ifindex = val;
70c58997c1e864c9 Ferenc Fejes       2020-05-30 @4777                    ret = 
sock_bindtoindex(sk, ifindex, false);
70c58997c1e864c9 Ferenc Fejes       2020-05-30  4778                    break;
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4779            case 
SO_KEEPALIVE:
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4780                    if 
(sk->sk_prot->keepalive)
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4781                            
sk->sk_prot->keepalive(sk, valbool);
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4782                    
sock_valbool_flag(sk, SOCK_KEEPOPEN, valbool);
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4783                    break;
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4784            default:
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4785                    ret = 
-EINVAL;
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4786            }
a5192c52377e6d28 Lawrence Brakmo    2017-07-02  4787  #ifdef CONFIG_INET
6f5c39fa5cd4a78c Nikita V. Shirokov 2018-03-26  4788    } else if (level == 
SOL_IP) {
6f5c39fa5cd4a78c Nikita V. Shirokov 2018-03-26  4789            if (optlen != 
sizeof(int) || sk->sk_family != AF_INET)
6f5c39fa5cd4a78c Nikita V. Shirokov 2018-03-26  4790                    return 
-EINVAL;
6f5c39fa5cd4a78c Nikita V. Shirokov 2018-03-26  4791  
6f5c39fa5cd4a78c Nikita V. Shirokov 2018-03-26  4792            val = *((int 
*)optval);
6f5c39fa5cd4a78c Nikita V. Shirokov 2018-03-26  4793            /* Only some 
options are supported */
6f5c39fa5cd4a78c Nikita V. Shirokov 2018-03-26  4794            switch 
(optname) {
6f5c39fa5cd4a78c Nikita V. Shirokov 2018-03-26  4795            case IP_TOS:
6f5c39fa5cd4a78c Nikita V. Shirokov 2018-03-26  4796                    if (val 
< -1 || val > 0xff) {
6f5c39fa5cd4a78c Nikita V. Shirokov 2018-03-26  4797                            
ret = -EINVAL;
6f5c39fa5cd4a78c Nikita V. Shirokov 2018-03-26  4798                    } else {
6f5c39fa5cd4a78c Nikita V. Shirokov 2018-03-26  4799                            
struct inet_sock *inet = inet_sk(sk);
6f5c39fa5cd4a78c Nikita V. Shirokov 2018-03-26  4800  
6f5c39fa5cd4a78c Nikita V. Shirokov 2018-03-26  4801                            
if (val == -1)
6f5c39fa5cd4a78c Nikita V. Shirokov 2018-03-26  4802                            
        val = 0;
6f5c39fa5cd4a78c Nikita V. Shirokov 2018-03-26  4803                            
inet->tos = val;
6f5c39fa5cd4a78c Nikita V. Shirokov 2018-03-26  4804                    }
6f5c39fa5cd4a78c Nikita V. Shirokov 2018-03-26  4805                    break;
6f5c39fa5cd4a78c Nikita V. Shirokov 2018-03-26  4806            default:
6f5c39fa5cd4a78c Nikita V. Shirokov 2018-03-26  4807                    ret = 
-EINVAL;
6f5c39fa5cd4a78c Nikita V. Shirokov 2018-03-26  4808            }
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4809  #if 
IS_ENABLED(CONFIG_IPV6)
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4810    } else if (level == 
SOL_IPV6) {
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4811            if (optlen != 
sizeof(int) || sk->sk_family != AF_INET6)
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4812                    return 
-EINVAL;
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4813  
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4814            val = *((int 
*)optval);
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4815            /* Only some 
options are supported */
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4816            switch 
(optname) {
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4817            case 
IPV6_TCLASS:
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4818                    if (val 
< -1 || val > 0xff) {
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4819                            
ret = -EINVAL;
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4820                    } else {
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4821                            
struct ipv6_pinfo *np = inet6_sk(sk);
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4822  
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4823                            
if (val == -1)
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4824                            
        val = 0;
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4825                            
np->tclass = val;
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4826                    }
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4827                    break;
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4828            default:
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4829                    ret = 
-EINVAL;
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4830            }
6f9bd3d731aac0d2 Lawrence Brakmo    2018-01-25  4831  #endif
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4832    } else if (level == 
SOL_TCP &&
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4833               
sk->sk_prot->setsockopt == tcp_setsockopt) {
91b5b21c7c16899a Lawrence Brakmo    2017-06-30  4834            if (optname == 
TCP_CONGESTION) {
91b5b21c7c16899a Lawrence Brakmo    2017-06-30  4835                    char 
name[TCP_CA_NAME_MAX];
91b5b21c7c16899a Lawrence Brakmo    2017-06-30  4836  
91b5b21c7c16899a Lawrence Brakmo    2017-06-30  4837                    
strncpy(name, optval, min_t(long, optlen,
91b5b21c7c16899a Lawrence Brakmo    2017-06-30  4838                            
                    TCP_CA_NAME_MAX-1));
91b5b21c7c16899a Lawrence Brakmo    2017-06-30  4839                    
name[TCP_CA_NAME_MAX-1] = 0;
29a949325c6c90f1 Neal Cardwell      2020-09-10  4840                    ret = 
tcp_set_congestion_control(sk, name, false, true);
91b5b21c7c16899a Lawrence Brakmo    2017-06-30  4841            } else {
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4842                    struct 
inet_connection_sock *icsk = inet_csk(sk);
fc7478103c84af43 Lawrence Brakmo    2017-06-30  4843                    struct 
tcp_sock *tp = tcp_sk(sk);
2b8ee4f05d4f6a6c Martin KaFai Lau   2020-08-20  4844                    
unsigned long timeout;
fc7478103c84af43 Lawrence Brakmo    2017-06-30  4845  
fc7478103c84af43 Lawrence Brakmo    2017-06-30  4846                    if 
(optlen != sizeof(int))
fc7478103c84af43 Lawrence Brakmo    2017-06-30  4847                            
return -EINVAL;
fc7478103c84af43 Lawrence Brakmo    2017-06-30  4848  
fc7478103c84af43 Lawrence Brakmo    2017-06-30  4849                    val = 
*((int *)optval);
fc7478103c84af43 Lawrence Brakmo    2017-06-30  4850                    /* Only 
some options are supported */
fc7478103c84af43 Lawrence Brakmo    2017-06-30  4851                    switch 
(optname) {
fc7478103c84af43 Lawrence Brakmo    2017-06-30  4852                    case 
TCP_BPF_IW:
31aa6503a15ba001 Yuchung Cheng      2019-01-08  4853                            
if (val <= 0 || tp->data_segs_out > tp->syn_data)
91b5b21c7c16899a Lawrence Brakmo    2017-06-30  4854                            
        ret = -EINVAL;
fc7478103c84af43 Lawrence Brakmo    2017-06-30  4855                            
else
fc7478103c84af43 Lawrence Brakmo    2017-06-30  4856                            
        tp->snd_cwnd = val;
fc7478103c84af43 Lawrence Brakmo    2017-06-30  4857                            
break;
13bf96411ad2bd16 Lawrence Brakmo    2017-06-30  4858                    case 
TCP_BPF_SNDCWND_CLAMP:
13bf96411ad2bd16 Lawrence Brakmo    2017-06-30  4859                            
if (val <= 0) {
13bf96411ad2bd16 Lawrence Brakmo    2017-06-30  4860                            
        ret = -EINVAL;
13bf96411ad2bd16 Lawrence Brakmo    2017-06-30  4861                            
} else {
13bf96411ad2bd16 Lawrence Brakmo    2017-06-30  4862                            
        tp->snd_cwnd_clamp = val;
13bf96411ad2bd16 Lawrence Brakmo    2017-06-30  4863                            
        tp->snd_ssthresh = val;
13bf96411ad2bd16 Lawrence Brakmo    2017-06-30  4864                            
}
6d3f06a0042ebd59 Colin Ian King     2017-07-04  4865                            
break;
2b8ee4f05d4f6a6c Martin KaFai Lau   2020-08-20  4866                    case 
TCP_BPF_DELACK_MAX:
2b8ee4f05d4f6a6c Martin KaFai Lau   2020-08-20  4867                            
timeout = usecs_to_jiffies(val);
2b8ee4f05d4f6a6c Martin KaFai Lau   2020-08-20  4868                            
if (timeout > TCP_DELACK_MAX ||
2b8ee4f05d4f6a6c Martin KaFai Lau   2020-08-20  4869                            
    timeout < TCP_TIMEOUT_MIN)
2b8ee4f05d4f6a6c Martin KaFai Lau   2020-08-20  4870                            
        return -EINVAL;
2b8ee4f05d4f6a6c Martin KaFai Lau   2020-08-20  4871                            
inet_csk(sk)->icsk_delack_max = timeout;
2b8ee4f05d4f6a6c Martin KaFai Lau   2020-08-20  4872                            
break;
ca584ba070864c60 Martin KaFai Lau   2020-08-20  4873                    case 
TCP_BPF_RTO_MIN:
ca584ba070864c60 Martin KaFai Lau   2020-08-20  4874                            
timeout = usecs_to_jiffies(val);
ca584ba070864c60 Martin KaFai Lau   2020-08-20  4875                            
if (timeout > TCP_RTO_MIN ||
ca584ba070864c60 Martin KaFai Lau   2020-08-20  4876                            
    timeout < TCP_TIMEOUT_MIN)
ca584ba070864c60 Martin KaFai Lau   2020-08-20  4877                            
        return -EINVAL;
ca584ba070864c60 Martin KaFai Lau   2020-08-20  4878                            
inet_csk(sk)->icsk_rto_min = timeout;
ca584ba070864c60 Martin KaFai Lau   2020-08-20  4879                            
break;
1e215300f1384072 Nikita V. Shirokov 2018-08-30  4880                    case 
TCP_SAVE_SYN:
1e215300f1384072 Nikita V. Shirokov 2018-08-30  4881                            
if (val < 0 || val > 1)
1e215300f1384072 Nikita V. Shirokov 2018-08-30  4882                            
        ret = -EINVAL;
1e215300f1384072 Nikita V. Shirokov 2018-08-30  4883                            
else
1e215300f1384072 Nikita V. Shirokov 2018-08-30  4884                            
        tp->save_syn = val;
1e215300f1384072 Nikita V. Shirokov 2018-08-30  4885                            
break;
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4886                    case 
TCP_KEEPIDLE:
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4887                            
ret = tcp_sock_set_keepidle_locked(sk, val);
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4888                            
break;
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4889                    case 
TCP_KEEPINTVL:
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4890                            
if (val < 1 || val > MAX_TCP_KEEPINTVL)
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4891                            
        ret = -EINVAL;
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4892                            
else
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4893                            
        tp->keepalive_intvl = val * HZ;
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4894                            
break;
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4895                    case 
TCP_KEEPCNT:
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4896                            
if (val < 1 || val > MAX_TCP_KEEPCNT)
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4897                            
        ret = -EINVAL;
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4898                            
else
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4899                            
        tp->keepalive_probes = val;
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4900                            
break;
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4901                    case 
TCP_SYNCNT:
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4902                            
if (val < 1 || val > MAX_TCP_SYNCNT)
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4903                            
        ret = -EINVAL;
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4904                            
else
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4905                            
        icsk->icsk_syn_retries = val;
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4906                            
break;
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4907                    case 
TCP_USER_TIMEOUT:
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4908                            
if (val < 0)
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4909                            
        ret = -EINVAL;
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4910                            
else
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4911                            
        icsk->icsk_user_timeout = val;
f9bcf96837f158db Dmitry Yakunin     2020-06-20  4912                            
break;
eca43ee6c46db92d Nikita V. Shirokov 2020-10-09  4913                    case 
TCP_NOTSENT_LOWAT:
eca43ee6c46db92d Nikita V. Shirokov 2020-10-09  4914                            
tp->notsent_lowat = val;
eca43ee6c46db92d Nikita V. Shirokov 2020-10-09  4915                            
sk->sk_write_space(sk);
eca43ee6c46db92d Nikita V. Shirokov 2020-10-09  4916                            
break;
cb81110997d1f509 Prankur gupta      2020-12-02  4917                    case 
TCP_WINDOW_CLAMP:
cb81110997d1f509 Prankur gupta      2020-12-02  4918                            
ret = tcp_set_window_clamp(sk, val);
cb81110997d1f509 Prankur gupta      2020-12-02  4919                            
break;
fc7478103c84af43 Lawrence Brakmo    2017-06-30  4920                    default:
fc7478103c84af43 Lawrence Brakmo    2017-06-30  4921                            
ret = -EINVAL;
fc7478103c84af43 Lawrence Brakmo    2017-06-30  4922                    }
91b5b21c7c16899a Lawrence Brakmo    2017-06-30  4923            }
91b5b21c7c16899a Lawrence Brakmo    2017-06-30  4924  #endif
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4925    } else {
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4926            ret = -EINVAL;
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4927    }
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4928    return ret;
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4929  }
8c4b4c7e9ff04479 Lawrence Brakmo    2017-06-30  4930  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to