Hi Horatiu, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on net-next/master] url: https://github.com/0day-ci/linux/commits/Horatiu-Vultur/bridge-mrp-Add-support-for-getting-the-status/20200630-214828 base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 5fb62372a0207f1514fa6052c51991198c46ffe2 config: i386-randconfig-s002-20200630 (attached as .config) compiler: gcc-9 (Debian 9.3.0-13) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.2-3-gfa153962-dirty # save the attached .config to linux build tree make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) net/smc/smc_ib.c:202:44: sparse: got struct net_device [noderef] __rcu *const ndev net/sctp/sm_make_chunk.c:3060:48: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected int optname @@ got restricted __be16 @@ net/sctp/sm_make_chunk.c:3060:48: sparse: expected int optname net/sctp/sm_make_chunk.c:3060:48: sparse: got restricted __be16 net/sctp/sm_make_chunk.c:3132:48: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected int optname @@ got restricted __be16 @@ net/sctp/sm_make_chunk.c:3132:48: sparse: expected int optname net/sctp/sm_make_chunk.c:3132:48: sparse: got restricted __be16 net/ipv4/tcp_output.c:3346: warning: Function parameter or member 'sk' not described in 'tcp_make_synack' net/ipv4/tcp_output.c:3346: warning: Function parameter or member 'dst' not described in 'tcp_make_synack' net/ipv4/tcp_output.c:3346: warning: Function parameter or member 'req' not described in 'tcp_make_synack' net/ipv4/tcp_output.c:3346: warning: Function parameter or member 'foc' not described in 'tcp_make_synack' net/ipv4/tcp_output.c:3346: warning: Function parameter or member 'synack_type' not described in 'tcp_make_synack' net/core/filter.c:400:33: sparse: sparse: subtraction of functions? Share your drugs net/core/filter.c:403:33: sparse: sparse: subtraction of functions? Share your drugs net/core/filter.c:406:33: sparse: sparse: subtraction of functions? Share your drugs net/core/filter.c:409:33: sparse: sparse: subtraction of functions? Share your drugs net/core/filter.c:412:33: sparse: sparse: subtraction of functions? Share your drugs net/core/filter.c:486:27: sparse: sparse: subtraction of functions? Share your drugs net/core/filter.c:489:27: sparse: sparse: subtraction of functions? Share your drugs net/core/filter.c:492:27: sparse: sparse: subtraction of functions? Share your drugs net/core/filter.c:1380:39: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sock_filter const *filter @@ got struct sock_filter [noderef] __user *filter @@ net/core/filter.c:1380:39: sparse: expected struct sock_filter const *filter net/core/filter.c:1380:39: sparse: got struct sock_filter [noderef] __user *filter net/core/filter.c:1458:39: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sock_filter const *filter @@ got struct sock_filter [noderef] __user *filter @@ net/core/filter.c:1458:39: sparse: expected struct sock_filter const *filter net/core/filter.c:1458:39: sparse: got struct sock_filter [noderef] __user *filter net/core/filter.c:7008:27: sparse: sparse: subtraction of functions? Share your drugs net/core/filter.c:7011:27: sparse: sparse: subtraction of functions? Share your drugs net/core/filter.c:7014:27: sparse: sparse: subtraction of functions? Share your drugs net/core/filter.c:8768:31: sparse: sparse: symbol 'cg_skb_verifier_ops' was not declared. Should it be static? net/core/filter.c:8774:27: sparse: sparse: symbol 'cg_skb_prog_ops' was not declared. Should it be static? net/core/filter.c:8819:31: sparse: sparse: symbol 'cg_sock_verifier_ops' was not declared. Should it be static? net/core/filter.c:8825:27: sparse: sparse: symbol 'cg_sock_prog_ops' was not declared. Should it be static? net/core/filter.c:8828:31: sparse: sparse: symbol 'cg_sock_addr_verifier_ops' was not declared. Should it be static? net/core/filter.c:8834:27: sparse: sparse: symbol 'cg_sock_addr_prog_ops' was not declared. Should it be static? net/core/filter.c:215:32: sparse: sparse: cast to restricted __be16 net/core/filter.c:215:32: sparse: sparse: cast to restricted __be16 net/core/filter.c:215:32: sparse: sparse: cast to restricted __be16 net/core/filter.c:215:32: sparse: sparse: cast to restricted __be16 net/core/filter.c:242:32: sparse: sparse: cast to restricted __be32 net/core/filter.c:242:32: sparse: sparse: cast to restricted __be32 net/core/filter.c:242:32: sparse: sparse: cast to restricted __be32 net/core/filter.c:242:32: sparse: sparse: cast to restricted __be32 net/core/filter.c:242:32: sparse: sparse: cast to restricted __be32 net/core/filter.c:242:32: sparse: sparse: cast to restricted __be32 net/core/filter.c:1882:43: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __wsum [usertype] diff @@ got unsigned long long [usertype] to @@ net/core/filter.c:1882:43: sparse: expected restricted __wsum [usertype] diff net/core/filter.c:1882:43: sparse: got unsigned long long [usertype] to net/core/filter.c:1885:36: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __be16 [usertype] old @@ got unsigned long long [usertype] from @@ net/core/filter.c:1885:36: sparse: expected restricted __be16 [usertype] old net/core/filter.c:1885:36: sparse: got unsigned long long [usertype] from net/core/filter.c:1885:42: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected restricted __be16 [usertype] new @@ got unsigned long long [usertype] to @@ net/core/filter.c:1885:42: sparse: expected restricted __be16 [usertype] new net/core/filter.c:1885:42: sparse: got unsigned long long [usertype] to net/core/filter.c:1888:36: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __be32 [usertype] from @@ got unsigned long long [usertype] from @@ net/core/filter.c:1888:36: sparse: expected restricted __be32 [usertype] from net/core/filter.c:1888:36: sparse: got unsigned long long [usertype] from net/core/filter.c:1888:42: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected restricted __be32 [usertype] to @@ got unsigned long long [usertype] to @@ net/core/filter.c:1888:42: sparse: expected restricted __be32 [usertype] to net/core/filter.c:1888:42: sparse: got unsigned long long [usertype] to net/core/filter.c:1933:59: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected restricted __wsum [usertype] diff @@ got unsigned long long [usertype] to @@ net/core/filter.c:1933:59: sparse: expected restricted __wsum [usertype] diff net/core/filter.c:1933:59: sparse: got unsigned long long [usertype] to net/core/filter.c:1936:52: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected restricted __be16 [usertype] from @@ got unsigned long long [usertype] from @@ net/core/filter.c:1936:52: sparse: expected restricted __be16 [usertype] from net/core/filter.c:1936:52: sparse: got unsigned long long [usertype] from net/core/filter.c:1936:58: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected restricted __be16 [usertype] to @@ got unsigned long long [usertype] to @@ net/core/filter.c:1936:58: sparse: expected restricted __be16 [usertype] to net/core/filter.c:1936:58: sparse: got unsigned long long [usertype] to net/core/filter.c:1939:52: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected restricted __be32 [usertype] from @@ got unsigned long long [usertype] from @@ net/core/filter.c:1939:52: sparse: expected restricted __be32 [usertype] from net/core/filter.c:1939:52: sparse: got unsigned long long [usertype] from net/core/filter.c:1939:58: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected restricted __be32 [usertype] to @@ got unsigned long long [usertype] to @@ net/core/filter.c:1939:58: sparse: expected restricted __be32 [usertype] to net/core/filter.c:1939:58: sparse: got unsigned long long [usertype] to net/core/filter.c:1985:28: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned long long @@ got restricted __wsum @@ net/core/filter.c:1985:28: sparse: expected unsigned long long net/core/filter.c:1985:28: sparse: got restricted __wsum net/core/filter.c:2007:35: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned long long @@ got restricted __wsum [usertype] csum @@ net/core/filter.c:2007:35: sparse: expected unsigned long long net/core/filter.c:2007:35: sparse: got restricted __wsum [usertype] csum net/core/filter.c:4694:17: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] spi @@ got restricted __be32 const [usertype] spi @@ net/core/filter.c:4694:17: sparse: expected unsigned int [usertype] spi net/core/filter.c:4694:17: sparse: got restricted __be32 const [usertype] spi net/core/filter.c:4702:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] remote_ipv4 @@ got restricted __be32 const [usertype] a4 @@ net/core/filter.c:4702:33: sparse: expected unsigned int [usertype] remote_ipv4 net/core/filter.c:4702:33: sparse: got restricted __be32 const [usertype] a4 net/atm/lec.c:891:39: sparse: sparse: context imbalance in 'lec_priv_walk' - unexpected unlock net/atm/lec.c:947:39: sparse: sparse: context imbalance in 'lec_seq_stop' - unexpected unlock net/9p/client.c:420: warning: Function parameter or member 'c' not described in 'p9_client_cb' net/9p/client.c:420: warning: Function parameter or member 'req' not described in 'p9_client_cb' net/9p/client.c:420: warning: Function parameter or member 'status' not described in 'p9_client_cb' net/9p/client.c:568: warning: Function parameter or member 'uidata' not described in 'p9_check_zc_errors' net/9p/client.c:824: warning: Function parameter or member 'in_hdrlen' not described in 'p9_client_zc_rpc' net/9p/client.c:824: warning: Excess function parameter 'hdrlen' description in 'p9_client_zc_rpc' net/sunrpc/svcsock.c:226:5: warning: "ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE" is not defined, evaluates to 0 [-Wundef] 226 | #if ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> net/bridge/br_mrp_netlink.c:316:9: sparse: sparse: dereference of noderef expression net/bridge/br_mrp_netlink.c:325:36: sparse: sparse: dereference of noderef expression net/bridge/br_mrp_netlink.c:325:36: sparse: sparse: dereference of noderef expression net/bridge/br_mrp_netlink.c:328:36: sparse: sparse: dereference of noderef expression net/bridge/br_mrp_netlink.c:328:36: sparse: sparse: dereference of noderef expression >> net/bridge/br_mrp_netlink.c:316:9: sparse: sparse: dereference of noderef expression net/bridge/br_mrp.c:106:18: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] @@ got restricted __be16 [usertype] @@ net/bridge/br_mrp.c:106:18: sparse: expected unsigned short [usertype] net/bridge/br_mrp.c:106:18: sparse: got restricted __be16 [usertype] net/bridge/br_mrp.c:281:23: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected struct list_head *entry @@ got struct list_head [noderef] * @@ net/bridge/br_mrp.c:281:23: sparse: expected struct list_head *entry net/bridge/br_mrp.c:281:23: sparse: got struct list_head [noderef] * net/bridge/br_mrp.c:332:28: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected struct list_head *new @@ got struct list_head [noderef] * @@ net/bridge/br_mrp.c:332:28: sparse: expected struct list_head *new net/bridge/br_mrp.c:332:28: sparse: got struct list_head [noderef] * net/bridge/br_mrp.c:332:40: sparse: sparse: incorrect type in argument 2 (different modifiers) @@ expected struct list_head *head @@ got struct list_head [noderef] * @@ net/bridge/br_mrp.c:332:40: sparse: expected struct list_head *head net/bridge/br_mrp.c:332:40: sparse: got struct list_head [noderef] * net/bridge/br_mrp.c:682:29: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected struct list_head const *head @@ got struct list_head [noderef] * @@ net/bridge/br_mrp.c:682:29: sparse: expected struct list_head const *head net/bridge/br_mrp.c:682:29: sparse: got struct list_head [noderef] * net/tipc/bearer.c:77: warning: Function parameter or member 'name' not described in 'tipc_media_find' net/tipc/bearer.c:91: warning: Function parameter or member 'type' not described in 'media_find_id' net/tipc/bearer.c:105: warning: Function parameter or member 'buf' not described in 'tipc_media_addr_printf' net/tipc/bearer.c:105: warning: Function parameter or member 'len' not described in 'tipc_media_addr_printf' net/tipc/bearer.c:105: warning: Function parameter or member 'a' not described in 'tipc_media_addr_printf' net/tipc/bearer.c:174: warning: Function parameter or member 'net' not described in 'tipc_bearer_find' net/tipc/bearer.c:174: warning: Function parameter or member 'name' not described in 'tipc_bearer_find' net/tipc/bearer.c:238: warning: Function parameter or member 'net' not described in 'tipc_enable_bearer' net/tipc/bearer.c:238: warning: Function parameter or member 'name' not described in 'tipc_enable_bearer' net/tipc/bearer.c:238: warning: Function parameter or member 'disc_domain' not described in 'tipc_enable_bearer' net/tipc/bearer.c:238: warning: Function parameter or member 'prio' not described in 'tipc_enable_bearer' net/tipc/bearer.c:238: warning: Function parameter or member 'attr' not described in 'tipc_enable_bearer' net/tipc/bearer.c:350: warning: Function parameter or member 'net' not described in 'tipc_reset_bearer' net/tipc/bearer.c:350: warning: Function parameter or member 'b' not described in 'tipc_reset_bearer' net/tipc/bearer.c:374: warning: Function parameter or member 'net' not described in 'bearer_disable' net/tipc/bearer.c:374: warning: Function parameter or member 'b' not described in 'bearer_disable' net/tipc/bearer.c:462: warning: Function parameter or member 'net' not described in 'tipc_l2_send_msg' net/tipc/bearer.c:609: warning: Function parameter or member 'skb' not described in 'tipc_l2_rcv_msg' net/tipc/bearer.c:609: warning: Excess function parameter 'buf' description in 'tipc_l2_rcv_msg' net/ipv4/tcp_offload.c:129:49: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __wsum [usertype] res @@ got fouled restricted __sum16 @@ net/ipv4/tcp_offload.c:129:49: sparse: expected restricted __wsum [usertype] res net/ipv4/tcp_offload.c:129:49: sparse: got fouled restricted __sum16 net/ipv4/tcp_offload.c:131:60: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __wsum [usertype] res @@ got fouled restricted __sum16 @@ net/ipv4/tcp_offload.c:131:60: sparse: expected restricted __wsum [usertype] res net/ipv4/tcp_offload.c:131:60: sparse: got fouled restricted __sum16 net/ipv4/tcp_offload.c:173:41: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __wsum [usertype] res @@ got fouled restricted __sum16 @@ net/ipv4/tcp_offload.c:173:41: sparse: expected restricted __wsum [usertype] res net/ipv4/tcp_offload.c:173:41: sparse: got fouled restricted __sum16 net/ipv4/tcp_offload.c:175:52: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __wsum [usertype] res @@ got fouled restricted __sum16 @@ net/ipv4/tcp_offload.c:175:52: sparse: expected restricted __wsum [usertype] res net/ipv4/tcp_offload.c:175:52: sparse: got fouled restricted __sum16 net/9p/trans_fd.c:932:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [addressable] [assigned] [usertype] s_addr @@ got unsigned long @@ net/9p/trans_fd.c:932:28: sparse: expected restricted __be32 [addressable] [assigned] [usertype] s_addr net/9p/trans_fd.c:932:28: sparse: got unsigned long net/dcb/dcbnl.c:1828: warning: Function parameter or member 'dev' not described in 'dcb_getapp' net/dcb/dcbnl.c:1828: warning: Function parameter or member 'app' not described in 'dcb_getapp' net/dcb/dcbnl.c:1850: warning: Function parameter or member 'dev' not described in 'dcb_setapp' net/dcb/dcbnl.c:1850: warning: Function parameter or member 'new' not described in 'dcb_setapp' net/dcb/dcbnl.c:1891: warning: Function parameter or member 'dev' not described in 'dcb_ieee_getapp_mask' net/dcb/dcbnl.c:1891: warning: Function parameter or member 'app' not described in 'dcb_ieee_getapp_mask' net/dcb/dcbnl.c:1914: warning: Function parameter or member 'dev' not described in 'dcb_ieee_setapp' net/dcb/dcbnl.c:1914: warning: Function parameter or member 'new' not described in 'dcb_ieee_setapp' net/dcb/dcbnl.c:1945: warning: Function parameter or member 'dev' not described in 'dcb_ieee_delapp' net/dcb/dcbnl.c:1945: warning: Function parameter or member 'del' not described in 'dcb_ieee_delapp' net/dcb/dcbnl.c:1978: warning: Function parameter or member 'dev' not described in 'dcb_ieee_getapp_prio_dscp_mask_map' net/dcb/dcbnl.c:1978: warning: Function parameter or member 'p_map' not described in 'dcb_ieee_getapp_prio_dscp_mask_map' net/dcb/dcbnl.c:2008: warning: Function parameter or member 'dev' not described in 'dcb_ieee_getapp_dscp_prio_mask_map' net/dcb/dcbnl.c:2008: warning: Function parameter or member 'p_map' not described in 'dcb_ieee_getapp_dscp_prio_mask_map' net/dcb/dcbnl.c:2037: warning: Function parameter or member 'dev' not described in 'dcb_ieee_getapp_default_prio_mask' net/9p/trans_common.c:23: warning: Function parameter or member 'pages' not described in 'p9_release_pages' net/9p/trans_common.c:23: warning: Function parameter or member 'nr_pages' not described in 'p9_release_pages' net/tipc/discover.c:82: warning: Function parameter or member 'skb' not described in 'tipc_disc_init_msg' net/tipc/discover.c:82: warning: Function parameter or member 'mtyp' not described in 'tipc_disc_init_msg' net/tipc/discover.c:82: warning: Excess function parameter 'type' description in 'tipc_disc_init_msg' net/tipc/discover.c:348: warning: Function parameter or member 'skb' not described in 'tipc_disc_create' net/tipc/discover.c:348: warning: Excess function parameter 'dest_domain' description in 'tipc_disc_create' net/tipc/discover.c:399: warning: Excess function parameter 'dest_domain' description in 'tipc_disc_reset' net/tipc/msg.c:68: warning: Function parameter or member 'gfp' not described in 'tipc_buf_acquire' net/tipc/msg.c:214: warning: Function parameter or member '_hdr' not described in 'tipc_msg_append' net/tipc/msg.c:214: warning: Excess function parameter 'hdr' description in 'tipc_msg_append' net/tipc/msg.c:380: warning: Function parameter or member 'offset' not described in 'tipc_msg_build' net/tipc/msg.c:706: warning: Function parameter or member 'net' not described in 'tipc_msg_lookup_dest' net/tipc/monitor.c:263:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int @@ got restricted __be32 [usertype] @@ net/tipc/monitor.c:263:35: sparse: expected unsigned int net/tipc/monitor.c:263:35: sparse: got restricted __be32 [usertype] net/tipc/monitor.c:269:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] len @@ got restricted __be16 [usertype] @@ net/tipc/monitor.c:269:20: sparse: expected unsigned short [usertype] len net/tipc/monitor.c:269:20: sparse: got restricted __be16 [usertype] net/tipc/monitor.c:270:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] gen @@ got restricted __be16 [usertype] @@ net/tipc/monitor.c:270:20: sparse: expected unsigned short [usertype] gen net/tipc/monitor.c:270:20: sparse: got restricted __be16 [usertype] net/tipc/monitor.c:271:27: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] member_cnt @@ got restricted __be16 [usertype] @@ net/tipc/monitor.c:271:27: sparse: expected unsigned short [usertype] member_cnt net/tipc/monitor.c:271:27: sparse: got restricted __be16 [usertype] net/tipc/monitor.c:272:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] up_map @@ got restricted __be64 [usertype] @@ net/tipc/monitor.c:272:23: sparse: expected unsigned long long [usertype] up_map net/tipc/monitor.c:272:23: sparse: got restricted __be64 [usertype] net/tipc/monitor.c:458:30: sparse: sparse: cast to restricted __be16 net/tipc/monitor.c:458:30: sparse: sparse: cast to restricted __be16 net/tipc/monitor.c:458:30: sparse: sparse: cast to restricted __be16 net/tipc/monitor.c:458:30: sparse: sparse: cast to restricted __be16 net/tipc/monitor.c:460:23: sparse: sparse: cast to restricted __be16 net/tipc/monitor.c:460:23: sparse: sparse: cast to restricted __be16 net/tipc/monitor.c:460:23: sparse: sparse: cast to restricted __be16 net/tipc/monitor.c:460:23: sparse: sparse: cast to restricted __be16 -- net/bridge/br_device.c:475:25: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected struct list_head *list @@ got struct list_head [noderef] * @@ net/bridge/br_device.c:475:25: sparse: expected struct list_head *list net/bridge/br_device.c:475:25: sparse: got struct list_head [noderef] * net/bridge/br_netlink_tunnel.c:29:6: warning: no previous prototype for 'vlan_tunid_inrange' [-Wmissing-prototypes] 29 | bool vlan_tunid_inrange(const struct net_bridge_vlan *v_curr, | ^~~~~~~~~~~~~~~~~~ net/bridge/br_netlink_tunnel.c:196:5: warning: no previous prototype for 'br_vlan_tunnel_info' [-Wmissing-prototypes] 196 | int br_vlan_tunnel_info(const struct net_bridge_port *p, int cmd, | ^~~~~~~~~~~~~~~~~~~ >> net/bridge/br_mrp_netlink.c:316:9: sparse: sparse: dereference of noderef expression net/bridge/br_mrp_netlink.c:325:36: sparse: sparse: dereference of noderef expression net/bridge/br_mrp_netlink.c:325:36: sparse: sparse: dereference of noderef expression net/bridge/br_mrp_netlink.c:328:36: sparse: sparse: dereference of noderef expression net/bridge/br_mrp_netlink.c:328:36: sparse: sparse: dereference of noderef expression >> net/bridge/br_mrp_netlink.c:316:9: sparse: sparse: dereference of noderef expression net/bridge/br_mrp.c:106:18: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] @@ got restricted __be16 [usertype] @@ net/bridge/br_mrp.c:106:18: sparse: expected unsigned short [usertype] net/bridge/br_mrp.c:106:18: sparse: got restricted __be16 [usertype] net/bridge/br_mrp.c:281:23: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected struct list_head *entry @@ got struct list_head [noderef] * @@ net/bridge/br_mrp.c:281:23: sparse: expected struct list_head *entry net/bridge/br_mrp.c:281:23: sparse: got struct list_head [noderef] * net/bridge/br_mrp.c:332:28: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected struct list_head *new @@ got struct list_head [noderef] * @@ net/bridge/br_mrp.c:332:28: sparse: expected struct list_head *new net/bridge/br_mrp.c:332:28: sparse: got struct list_head [noderef] * net/bridge/br_mrp.c:332:40: sparse: sparse: incorrect type in argument 2 (different modifiers) @@ expected struct list_head *head @@ got struct list_head [noderef] * @@ net/bridge/br_mrp.c:332:40: sparse: expected struct list_head *head net/bridge/br_mrp.c:332:40: sparse: got struct list_head [noderef] * net/bridge/br_mrp.c:682:29: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected struct list_head const *head @@ got struct list_head [noderef] * @@ net/bridge/br_mrp.c:682:29: sparse: expected struct list_head const *head net/bridge/br_mrp.c:682:29: sparse: got struct list_head [noderef] * -- >> net/bridge/br_mrp_netlink.c:316:9: sparse: sparse: dereference of noderef expression net/bridge/br_mrp_netlink.c:325:36: sparse: sparse: dereference of noderef expression net/bridge/br_mrp_netlink.c:325:36: sparse: sparse: dereference of noderef expression net/bridge/br_mrp_netlink.c:328:36: sparse: sparse: dereference of noderef expression net/bridge/br_mrp_netlink.c:328:36: sparse: sparse: dereference of noderef expression >> net/bridge/br_mrp_netlink.c:316:9: sparse: sparse: dereference of noderef expression vim +316 net/bridge/br_mrp_netlink.c 306 307 int br_mrp_fill_info(struct sk_buff *skb, struct net_bridge *br) 308 { 309 struct nlattr *tb, *mrp_tb; 310 struct br_mrp *mrp; 311 312 mrp_tb = nla_nest_start_noflag(skb, IFLA_BRIDGE_MRP); 313 if (!mrp_tb) 314 return -EMSGSIZE; 315 > 316 list_for_each_entry(mrp, &br->mrp_list, list) { 317 tb = nla_nest_start_noflag(skb, IFLA_BRIDGE_MRP_INFO); 318 if (!tb) 319 goto nla_info_failure; 320 321 if (nla_put_u32(skb, IFLA_BRIDGE_MRP_INFO_RING_ID, 322 mrp->ring_id)) 323 goto nla_put_failure; 324 if (nla_put_u32(skb, IFLA_BRIDGE_MRP_INFO_P_IFINDEX, 325 mrp->p_port->dev->ifindex)) 326 goto nla_put_failure; 327 if (nla_put_u32(skb, IFLA_BRIDGE_MRP_INFO_S_IFINDEX, 328 mrp->s_port->dev->ifindex)) 329 goto nla_put_failure; 330 if (nla_put_u16(skb, IFLA_BRIDGE_MRP_INFO_PRIO, 331 mrp->prio)) 332 goto nla_put_failure; 333 if (nla_put_u32(skb, IFLA_BRIDGE_MRP_INFO_RING_STATE, 334 mrp->ring_state)) 335 goto nla_put_failure; 336 if (nla_put_u32(skb, IFLA_BRIDGE_MRP_INFO_RING_ROLE, 337 mrp->ring_role)) 338 goto nla_put_failure; 339 if (nla_put_u32(skb, IFLA_BRIDGE_MRP_INFO_TEST_INTERVAL, 340 mrp->test_interval)) 341 goto nla_put_failure; 342 if (nla_put_u32(skb, IFLA_BRIDGE_MRP_INFO_TEST_MAX_MISS, 343 mrp->test_max_miss)) 344 goto nla_put_failure; 345 if (nla_put_u32(skb, IFLA_BRIDGE_MRP_INFO_TEST_MONITOR, 346 mrp->test_monitor)) 347 goto nla_put_failure; 348 349 nla_nest_end(skb, tb); 350 } 351 nla_nest_end(skb, mrp_tb); 352 353 return 0; 354 355 nla_put_failure: 356 nla_nest_cancel(skb, tb); 357 358 nla_info_failure: 359 nla_nest_cancel(skb, mrp_tb); 360 361 return -EMSGSIZE; 362 } 363 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org