net/ipv4/tcp_cong.c:238:24: sparse: sparse: incorrect type in initializer (different address spaces)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 33cc938e65a98f1d29d0a18403dbbee050dcad9a commit: e188f3330a13df904d77003846eafd3edf99009d ARC: cmpxchg/xchg: rewrite as macros to make type safe date: 2 years, 3 months ago config: arc-randconfig-r123-20231117 (https://download.01.org/0day-ci/archive/20231204/202312041926.teyyqdat-...@intel.com/config) compiler: arceb-elf-gcc (GCC) 13.2.0 reproduce: (https://download.01.org/0day-ci/archive/20231204/202312041926.teyyqdat-...@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot | Closes: https://lore.kernel.org/oe-kbuild-all/202312041926.teyyqdat-...@intel.com/ sparse warnings: (new ones prefixed by >>) >> net/ipv4/tcp_cong.c:238:24: sparse: sparse: incorrect type in initializer >> (different address spaces) @@ expected struct tcp_congestion_ops const >> [noderef] __rcu *_val_ @@ got struct tcp_congestion_ops *[assigned] ca @@ net/ipv4/tcp_cong.c:238:24: sparse: expected struct tcp_congestion_ops const [noderef] __rcu *_val_ net/ipv4/tcp_cong.c:238:24: sparse: got struct tcp_congestion_ops *[assigned] ca net/ipv4/tcp_cong.c:238:22: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct tcp_congestion_ops const *prev @@ got struct tcp_congestion_ops const [noderef] __rcu *[assigned] _val_ @@ net/ipv4/tcp_cong.c:238:22: sparse: expected struct tcp_congestion_ops const *prev net/ipv4/tcp_cong.c:238:22: sparse: got struct tcp_congestion_ops const [noderef] __rcu *[assigned] _val_ vim +238 net/ipv4/tcp_cong.c 317a76f9a44b43 Stephen Hemminger 2005-06-23 219 317a76f9a44b43 Stephen Hemminger 2005-06-23 220 /* Used by sysctl to change default congestion control */ 6670e152447732 Stephen Hemminger 2017-11-14 221 int tcp_set_default_congestion_control(struct net *net, const char *name) 317a76f9a44b43 Stephen Hemminger 2005-06-23 222 { 317a76f9a44b43 Stephen Hemminger 2005-06-23 223struct tcp_congestion_ops *ca; 6670e152447732 Stephen Hemminger 2017-11-14 224const struct tcp_congestion_ops *prev; 6670e152447732 Stephen Hemminger 2017-11-14 225int ret; 317a76f9a44b43 Stephen Hemminger 2005-06-23 226 6670e152447732 Stephen Hemminger 2017-11-14 227rcu_read_lock(); 6670e152447732 Stephen Hemminger 2017-11-14 228ca = tcp_ca_find_autoload(net, name); 6670e152447732 Stephen Hemminger 2017-11-14 229if (!ca) { 6670e152447732 Stephen Hemminger 2017-11-14 230ret = -ENOENT; 0baf26b0fcd74b Martin KaFai Lau 2020-01-08 231} else if (!bpf_try_module_get(ca, ca->owner)) { 6670e152447732 Stephen Hemminger 2017-11-14 232ret = -EBUSY; 8d432592f30fcc Jonathon Reinhart 2021-05-01 233} else if (!net_eq(net, _net) && 8d432592f30fcc Jonathon Reinhart 2021-05-01 234 !(ca->flags & TCP_CONG_NON_RESTRICTED)) { 8d432592f30fcc Jonathon Reinhart 2021-05-01 235/* Only init netns can set default to a restricted algorithm */ 8d432592f30fcc Jonathon Reinhart 2021-05-01 236ret = -EPERM; 6670e152447732 Stephen Hemminger 2017-11-14 237} else { 6670e152447732 Stephen Hemminger 2017-11-14 @238prev = xchg(>ipv4.tcp_congestion_control, ca); 6670e152447732 Stephen Hemminger 2017-11-14 239if (prev) 0baf26b0fcd74b Martin KaFai Lau 2020-01-08 240 bpf_module_put(prev, prev->owner); 317a76f9a44b43 Stephen Hemminger 2005-06-23 241 6670e152447732 Stephen Hemminger 2017-11-14 242ca->flags |= TCP_CONG_NON_RESTRICTED; 317a76f9a44b43 Stephen Hemminger 2005-06-23 243ret = 0; 317a76f9a44b43 Stephen Hemminger 2005-06-23 244} 6670e152447732 Stephen Hemminger 2017-11-14 245rcu_read_unlock(); 317a76f9a44b43 Stephen Hemminger 2005-06-23 246 317a76f9a44b43 Stephen Hemminger 2005-06-23 247return ret; 317a76f9a44b43 Stephen Hemminger 2005-06-23 248 } 317a76f9a44b43 Stephen Hemminger 2005-06-23 249 :: The code at line 238 was first introduced by commit :: 6670e152447732ba90626f36dfc015a13fbf150e tcp: Namespace-ify sysctl_tcp_default_congestion_control :: TO: Stephen Hemminger :: CC: David S. Miller -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki ___ linux-snps-arc mailing list linux-snps-arc@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-snps-arc
net/ipv4/tcp_cong.c:238:24: sparse: sparse: incorrect type in initializer (different address spaces)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 10d4879f9ef01cc6190fafe4257d06f375bab92c commit: e188f3330a13df904d77003846eafd3edf99009d ARC: cmpxchg/xchg: rewrite as macros to make type safe date: 1 year ago config: arc-randconfig-s041-20220828 (https://download.01.org/0day-ci/archive/20220828/202208281216.awxruhll-...@intel.com/config) compiler: arc-elf-gcc (GCC) 12.1.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.4-39-gce1a6720-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e188f3330a13df904d77003846eafd3edf99009d git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout e188f3330a13df904d77003846eafd3edf99009d # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arc SHELL=/bin/bash net/ipv4/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) >> net/ipv4/tcp_cong.c:238:24: sparse: sparse: incorrect type in initializer >> (different address spaces) @@ expected struct tcp_congestion_ops const >> [noderef] __rcu *_val_ @@ got struct tcp_congestion_ops *[assigned] ca @@ net/ipv4/tcp_cong.c:238:24: sparse: expected struct tcp_congestion_ops const [noderef] __rcu *_val_ net/ipv4/tcp_cong.c:238:24: sparse: got struct tcp_congestion_ops *[assigned] ca net/ipv4/tcp_cong.c:238:22: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct tcp_congestion_ops const *prev @@ got struct tcp_congestion_ops const [noderef] __rcu *[assigned] _val_ @@ net/ipv4/tcp_cong.c:238:22: sparse: expected struct tcp_congestion_ops const *prev net/ipv4/tcp_cong.c:238:22: sparse: got struct tcp_congestion_ops const [noderef] __rcu *[assigned] _val_ vim +238 net/ipv4/tcp_cong.c 317a76f9a44b43 Stephen Hemminger 2005-06-23 219 317a76f9a44b43 Stephen Hemminger 2005-06-23 220 /* Used by sysctl to change default congestion control */ 6670e152447732 Stephen Hemminger 2017-11-14 221 int tcp_set_default_congestion_control(struct net *net, const char *name) 317a76f9a44b43 Stephen Hemminger 2005-06-23 222 { 317a76f9a44b43 Stephen Hemminger 2005-06-23 223struct tcp_congestion_ops *ca; 6670e152447732 Stephen Hemminger 2017-11-14 224const struct tcp_congestion_ops *prev; 6670e152447732 Stephen Hemminger 2017-11-14 225int ret; 317a76f9a44b43 Stephen Hemminger 2005-06-23 226 6670e152447732 Stephen Hemminger 2017-11-14 227rcu_read_lock(); 6670e152447732 Stephen Hemminger 2017-11-14 228ca = tcp_ca_find_autoload(net, name); 6670e152447732 Stephen Hemminger 2017-11-14 229if (!ca) { 6670e152447732 Stephen Hemminger 2017-11-14 230ret = -ENOENT; 0baf26b0fcd74b Martin KaFai Lau 2020-01-08 231} else if (!bpf_try_module_get(ca, ca->owner)) { 6670e152447732 Stephen Hemminger 2017-11-14 232ret = -EBUSY; 8d432592f30fcc Jonathon Reinhart 2021-05-01 233} else if (!net_eq(net, _net) && 8d432592f30fcc Jonathon Reinhart 2021-05-01 234 !(ca->flags & TCP_CONG_NON_RESTRICTED)) { 8d432592f30fcc Jonathon Reinhart 2021-05-01 235/* Only init netns can set default to a restricted algorithm */ 8d432592f30fcc Jonathon Reinhart 2021-05-01 236ret = -EPERM; 6670e152447732 Stephen Hemminger 2017-11-14 237} else { 6670e152447732 Stephen Hemminger 2017-11-14 @238prev = xchg(>ipv4.tcp_congestion_control, ca); 6670e152447732 Stephen Hemminger 2017-11-14 239if (prev) 0baf26b0fcd74b Martin KaFai Lau 2020-01-08 240 bpf_module_put(prev, prev->owner); 317a76f9a44b43 Stephen Hemminger 2005-06-23 241 6670e152447732 Stephen Hemminger 2017-11-14 242ca->flags |= TCP_CONG_NON_RESTRICTED; 317a76f9a44b43 Stephen Hemminger 2005-06-23 243ret = 0; 317a76f9a44b43 Stephen Hemminger 2005-06-23 244} 6670e152447732 Stephen Hemminger 2017-11-14 245rcu_read_unlock(); 317a76f9a44b43 Stephen Hemminger 2005-06-23 246 317a76f9a44b43 Stephen Hemminger 2005-06-23 247return ret; 317a76f9a44b43 Stephen Hemminger 2005-06-23 248 } 317a76f9a44b43 Stephen Hemminger 2005-06-23 249 :: The code at line 238 was first introduced by commit :: 6670e152447732ba90626f36dfc015a13fbf150e tcp: Namespace-ify sysctl_tcp_default_
net/ipv4/tcp_cong.c:238:24: sparse: sparse: incorrect type in initializer (different address spaces)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 9b59ec8d50a1f28747ceff9a4f39af5deba9540e commit: e188f3330a13df904d77003846eafd3edf99009d ARC: cmpxchg/xchg: rewrite as macros to make type safe date: 11 months ago config: arc-allyesconfig (https://download.01.org/0day-ci/archive/20220716/202207160525.ya4hoipa-...@intel.com/config) compiler: arceb-elf-gcc (GCC) 12.1.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.4-39-gce1a6720-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e188f3330a13df904d77003846eafd3edf99009d git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout e188f3330a13df904d77003846eafd3edf99009d # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arc SHELL=/bin/bash net/ipv4/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) >> net/ipv4/tcp_cong.c:238:24: sparse: sparse: incorrect type in initializer >> (different address spaces) @@ expected struct tcp_congestion_ops const >> [noderef] __rcu *_val_ @@ got struct tcp_congestion_ops *[assigned] ca @@ net/ipv4/tcp_cong.c:238:24: sparse: expected struct tcp_congestion_ops const [noderef] __rcu *_val_ net/ipv4/tcp_cong.c:238:24: sparse: got struct tcp_congestion_ops *[assigned] ca net/ipv4/tcp_cong.c:238:22: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct tcp_congestion_ops const *prev @@ got struct tcp_congestion_ops const [noderef] __rcu *[assigned] _val_ @@ net/ipv4/tcp_cong.c:238:22: sparse: expected struct tcp_congestion_ops const *prev net/ipv4/tcp_cong.c:238:22: sparse: got struct tcp_congestion_ops const [noderef] __rcu *[assigned] _val_ vim +238 net/ipv4/tcp_cong.c 317a76f9a44b43 Stephen Hemminger 2005-06-23 219 317a76f9a44b43 Stephen Hemminger 2005-06-23 220 /* Used by sysctl to change default congestion control */ 6670e152447732 Stephen Hemminger 2017-11-14 221 int tcp_set_default_congestion_control(struct net *net, const char *name) 317a76f9a44b43 Stephen Hemminger 2005-06-23 222 { 317a76f9a44b43 Stephen Hemminger 2005-06-23 223struct tcp_congestion_ops *ca; 6670e152447732 Stephen Hemminger 2017-11-14 224const struct tcp_congestion_ops *prev; 6670e152447732 Stephen Hemminger 2017-11-14 225int ret; 317a76f9a44b43 Stephen Hemminger 2005-06-23 226 6670e152447732 Stephen Hemminger 2017-11-14 227rcu_read_lock(); 6670e152447732 Stephen Hemminger 2017-11-14 228ca = tcp_ca_find_autoload(net, name); 6670e152447732 Stephen Hemminger 2017-11-14 229if (!ca) { 6670e152447732 Stephen Hemminger 2017-11-14 230ret = -ENOENT; 0baf26b0fcd74b Martin KaFai Lau 2020-01-08 231} else if (!bpf_try_module_get(ca, ca->owner)) { 6670e152447732 Stephen Hemminger 2017-11-14 232ret = -EBUSY; 8d432592f30fcc Jonathon Reinhart 2021-05-01 233} else if (!net_eq(net, _net) && 8d432592f30fcc Jonathon Reinhart 2021-05-01 234 !(ca->flags & TCP_CONG_NON_RESTRICTED)) { 8d432592f30fcc Jonathon Reinhart 2021-05-01 235/* Only init netns can set default to a restricted algorithm */ 8d432592f30fcc Jonathon Reinhart 2021-05-01 236ret = -EPERM; 6670e152447732 Stephen Hemminger 2017-11-14 237} else { 6670e152447732 Stephen Hemminger 2017-11-14 @238prev = xchg(>ipv4.tcp_congestion_control, ca); 6670e152447732 Stephen Hemminger 2017-11-14 239if (prev) 0baf26b0fcd74b Martin KaFai Lau 2020-01-08 240 bpf_module_put(prev, prev->owner); 317a76f9a44b43 Stephen Hemminger 2005-06-23 241 6670e152447732 Stephen Hemminger 2017-11-14 242ca->flags |= TCP_CONG_NON_RESTRICTED; 317a76f9a44b43 Stephen Hemminger 2005-06-23 243ret = 0; 317a76f9a44b43 Stephen Hemminger 2005-06-23 244} 6670e152447732 Stephen Hemminger 2017-11-14 245rcu_read_unlock(); 317a76f9a44b43 Stephen Hemminger 2005-06-23 246 317a76f9a44b43 Stephen Hemminger 2005-06-23 247return ret; 317a76f9a44b43 Stephen Hemminger 2005-06-23 248 } 317a76f9a44b43 Stephen Hemminger 2005-06-23 249 :: The code at line 238 was first introduced by commit :: 6670e152447732ba90626f36dfc015a13fbf150e tcp: Namespace-ify sysctl_tcp_default_congestio
net/ipv4/tcp_cong.c:238:24: sparse: sparse: incorrect type in initializer (different address spaces)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 330f4c53d3c2d8b11d86ec03a964b86dc81452f5 commit: e188f3330a13df904d77003846eafd3edf99009d ARC: cmpxchg/xchg: rewrite as macros to make type safe date: 7 months ago config: arc-allmodconfig (https://download.01.org/0day-ci/archive/20220309/202203091427.dx5hvkdo-...@intel.com/config) compiler: arceb-elf-gcc (GCC) 11.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.4-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e188f3330a13df904d77003846eafd3edf99009d git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout e188f3330a13df904d77003846eafd3edf99009d # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arc SHELL=/bin/bash net/ipv4/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) >> net/ipv4/tcp_cong.c:238:24: sparse: sparse: incorrect type in initializer >> (different address spaces) @@ expected struct tcp_congestion_ops const >> [noderef] __rcu *_val_ @@ got struct tcp_congestion_ops *[assigned] ca @@ net/ipv4/tcp_cong.c:238:24: sparse: expected struct tcp_congestion_ops const [noderef] __rcu *_val_ net/ipv4/tcp_cong.c:238:24: sparse: got struct tcp_congestion_ops *[assigned] ca net/ipv4/tcp_cong.c:238:22: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct tcp_congestion_ops const *prev @@ got struct tcp_congestion_ops const [noderef] __rcu *[assigned] _val_ @@ net/ipv4/tcp_cong.c:238:22: sparse: expected struct tcp_congestion_ops const *prev net/ipv4/tcp_cong.c:238:22: sparse: got struct tcp_congestion_ops const [noderef] __rcu *[assigned] _val_ vim +238 net/ipv4/tcp_cong.c 317a76f9a44b43 Stephen Hemminger 2005-06-23 219 317a76f9a44b43 Stephen Hemminger 2005-06-23 220 /* Used by sysctl to change default congestion control */ 6670e152447732 Stephen Hemminger 2017-11-14 221 int tcp_set_default_congestion_control(struct net *net, const char *name) 317a76f9a44b43 Stephen Hemminger 2005-06-23 222 { 317a76f9a44b43 Stephen Hemminger 2005-06-23 223struct tcp_congestion_ops *ca; 6670e152447732 Stephen Hemminger 2017-11-14 224const struct tcp_congestion_ops *prev; 6670e152447732 Stephen Hemminger 2017-11-14 225int ret; 317a76f9a44b43 Stephen Hemminger 2005-06-23 226 6670e152447732 Stephen Hemminger 2017-11-14 227rcu_read_lock(); 6670e152447732 Stephen Hemminger 2017-11-14 228ca = tcp_ca_find_autoload(net, name); 6670e152447732 Stephen Hemminger 2017-11-14 229if (!ca) { 6670e152447732 Stephen Hemminger 2017-11-14 230ret = -ENOENT; 0baf26b0fcd74b Martin KaFai Lau 2020-01-08 231} else if (!bpf_try_module_get(ca, ca->owner)) { 6670e152447732 Stephen Hemminger 2017-11-14 232ret = -EBUSY; 8d432592f30fcc Jonathon Reinhart 2021-05-01 233} else if (!net_eq(net, _net) && 8d432592f30fcc Jonathon Reinhart 2021-05-01 234 !(ca->flags & TCP_CONG_NON_RESTRICTED)) { 8d432592f30fcc Jonathon Reinhart 2021-05-01 235/* Only init netns can set default to a restricted algorithm */ 8d432592f30fcc Jonathon Reinhart 2021-05-01 236ret = -EPERM; 6670e152447732 Stephen Hemminger 2017-11-14 237} else { 6670e152447732 Stephen Hemminger 2017-11-14 @238prev = xchg(>ipv4.tcp_congestion_control, ca); 6670e152447732 Stephen Hemminger 2017-11-14 239if (prev) 0baf26b0fcd74b Martin KaFai Lau 2020-01-08 240 bpf_module_put(prev, prev->owner); 317a76f9a44b43 Stephen Hemminger 2005-06-23 241 6670e152447732 Stephen Hemminger 2017-11-14 242ca->flags |= TCP_CONG_NON_RESTRICTED; 317a76f9a44b43 Stephen Hemminger 2005-06-23 243ret = 0; 317a76f9a44b43 Stephen Hemminger 2005-06-23 244} 6670e152447732 Stephen Hemminger 2017-11-14 245rcu_read_unlock(); 317a76f9a44b43 Stephen Hemminger 2005-06-23 246 317a76f9a44b43 Stephen Hemminger 2005-06-23 247return ret; 317a76f9a44b43 Stephen Hemminger 2005-06-23 248 } 317a76f9a44b43 Stephen Hemminger 2005-06-23 249 :: The code at line 238 was first introduced by commit :: 6670e152447732ba90626f36dfc015a13fbf150e tcp: Namespace-ify sysctl_tcp_default_congestion_control :: TO: Stephen Hemminge
net/ipv4/tcp_cong.c:238:24: sparse: sparse: incorrect type in initializer (different address spaces)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: bbef3c7a63d2a4cb0f3f839db9e767f168c5e348 commit: e188f3330a13df904d77003846eafd3edf99009d ARC: cmpxchg/xchg: rewrite as macros to make type safe date: 3 months ago config: arc-randconfig-s031-20211204 (https://download.01.org/0day-ci/archive/20211205/202112050240.xh7o2mwa-...@intel.com/config) compiler: arc-elf-gcc (GCC) 11.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.4-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e188f3330a13df904d77003846eafd3edf99009d git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout e188f3330a13df904d77003846eafd3edf99009d # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arc SHELL=/bin/bash net/ipv4/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) >> net/ipv4/tcp_cong.c:238:24: sparse: sparse: incorrect type in initializer >> (different address spaces) @@ expected struct tcp_congestion_ops const >> [noderef] __rcu *_val_ @@ got struct tcp_congestion_ops *[assigned] ca @@ net/ipv4/tcp_cong.c:238:24: sparse: expected struct tcp_congestion_ops const [noderef] __rcu *_val_ net/ipv4/tcp_cong.c:238:24: sparse: got struct tcp_congestion_ops *[assigned] ca >> net/ipv4/tcp_cong.c:238:22: sparse: sparse: incorrect type in assignment >> (different address spaces) @@ expected struct tcp_congestion_ops const >> *prev @@ got struct tcp_congestion_ops const [noderef] __rcu *[assigned] >> _val_ @@ net/ipv4/tcp_cong.c:238:22: sparse: expected struct tcp_congestion_ops const *prev net/ipv4/tcp_cong.c:238:22: sparse: got struct tcp_congestion_ops const [noderef] __rcu *[assigned] _val_ vim +238 net/ipv4/tcp_cong.c 317a76f9a44b43 Stephen Hemminger 2005-06-23 219 317a76f9a44b43 Stephen Hemminger 2005-06-23 220 /* Used by sysctl to change default congestion control */ 6670e152447732 Stephen Hemminger 2017-11-14 221 int tcp_set_default_congestion_control(struct net *net, const char *name) 317a76f9a44b43 Stephen Hemminger 2005-06-23 222 { 317a76f9a44b43 Stephen Hemminger 2005-06-23 223struct tcp_congestion_ops *ca; 6670e152447732 Stephen Hemminger 2017-11-14 224const struct tcp_congestion_ops *prev; 6670e152447732 Stephen Hemminger 2017-11-14 225int ret; 317a76f9a44b43 Stephen Hemminger 2005-06-23 226 6670e152447732 Stephen Hemminger 2017-11-14 227rcu_read_lock(); 6670e152447732 Stephen Hemminger 2017-11-14 228ca = tcp_ca_find_autoload(net, name); 6670e152447732 Stephen Hemminger 2017-11-14 229if (!ca) { 6670e152447732 Stephen Hemminger 2017-11-14 230ret = -ENOENT; 0baf26b0fcd74b Martin KaFai Lau 2020-01-08 231} else if (!bpf_try_module_get(ca, ca->owner)) { 6670e152447732 Stephen Hemminger 2017-11-14 232ret = -EBUSY; 8d432592f30fcc Jonathon Reinhart 2021-05-01 233} else if (!net_eq(net, _net) && 8d432592f30fcc Jonathon Reinhart 2021-05-01 234 !(ca->flags & TCP_CONG_NON_RESTRICTED)) { 8d432592f30fcc Jonathon Reinhart 2021-05-01 235/* Only init netns can set default to a restricted algorithm */ 8d432592f30fcc Jonathon Reinhart 2021-05-01 236ret = -EPERM; 6670e152447732 Stephen Hemminger 2017-11-14 237} else { 6670e152447732 Stephen Hemminger 2017-11-14 @238prev = xchg(>ipv4.tcp_congestion_control, ca); 6670e152447732 Stephen Hemminger 2017-11-14 239if (prev) 0baf26b0fcd74b Martin KaFai Lau 2020-01-08 240 bpf_module_put(prev, prev->owner); 317a76f9a44b43 Stephen Hemminger 2005-06-23 241 6670e152447732 Stephen Hemminger 2017-11-14 242ca->flags |= TCP_CONG_NON_RESTRICTED; 317a76f9a44b43 Stephen Hemminger 2005-06-23 243ret = 0; 317a76f9a44b43 Stephen Hemminger 2005-06-23 244} 6670e152447732 Stephen Hemminger 2017-11-14 245rcu_read_unlock(); 317a76f9a44b43 Stephen Hemminger 2005-06-23 246 317a76f9a44b43 Stephen Hemminger 2005-06-23 247return ret; 317a76f9a44b43 Stephen Hemminger 2005-06-23 248 } 317a76f9a44b43 Stephen Hemminger 2005-06-23 249 :: The code at line 238 was first introduced by commit :: 6670e152447732ba90626f36dfc015a13fbf150e tcp: Namespace-ify sysctl_tcp_default_c