CC: [email protected]
In-Reply-To: <[email protected]>
References: <[email protected]>
TO: Florian Westphal <[email protected]>

Hi Florian,

I love your patch! Perhaps something to improve:

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

url:    
https://github.com/0day-ci/linux/commits/Florian-Westphal/netfilter-conntrack-pptp-use-single-option-structure/20220120-230953
base:   https://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next.git master
:::::: branch date: 3 weeks ago
:::::: commit date: 3 weeks ago
config: x86_64-rhel-8.3-kselftests 
(https://download.01.org/0day-ci/archive/20220208/[email protected]/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.4-dirty
        # 
https://github.com/0day-ci/linux/commit/ffa8a2dcecaa350f84e5747750956010d5514ab2
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Florian-Westphal/netfilter-conntrack-pptp-use-single-option-structure/20220120-230953
        git checkout ffa8a2dcecaa350f84e5747750956010d5514ab2
        # save the config file to linux build tree
        mkdir build_dir
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir 
ARCH=x86_64 SHELL=/bin/bash

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


sparse warnings: (new ones prefixed by >>)
   net/netfilter/nf_conntrack_pptp.c:48:31: sparse: sparse: symbol 
'nf_nat_pptp_hook' redeclared with different type (different address spaces):
>> net/netfilter/nf_conntrack_pptp.c:48:31: sparse:    struct nf_nat_pptp_hook 
>> const *[addressable] [toplevel] nf_nat_pptp_hook
   net/netfilter/nf_conntrack_pptp.c: note: in included file:
   include/linux/netfilter/nf_conntrack_pptp.h:320:44: sparse: note: previously 
declared as:
>> include/linux/netfilter/nf_conntrack_pptp.h:320:44: sparse:    struct 
>> nf_nat_pptp_hook const [noderef] __rcu *extern [addressable] [toplevel] 
>> nf_nat_pptp_hook
   net/netfilter/nf_conntrack_pptp.c:103:16: sparse: sparse: incompatible types 
in comparison expression (different address spaces):
>> net/netfilter/nf_conntrack_pptp.c:103:16: sparse:    struct nf_nat_pptp_hook 
>> const [noderef] __rcu *
>> net/netfilter/nf_conntrack_pptp.c:103:16: sparse:    struct nf_nat_pptp_hook 
>> const *
   net/netfilter/nf_conntrack_pptp.c:220:16: sparse: sparse: incompatible types 
in comparison expression (different address spaces):
   net/netfilter/nf_conntrack_pptp.c:220:16: sparse:    struct nf_nat_pptp_hook 
const [noderef] __rcu *
   net/netfilter/nf_conntrack_pptp.c:220:16: sparse:    struct nf_nat_pptp_hook 
const *
   net/netfilter/nf_conntrack_pptp.c:364:16: sparse: sparse: incompatible types 
in comparison expression (different address spaces):
   net/netfilter/nf_conntrack_pptp.c:364:16: sparse:    struct nf_nat_pptp_hook 
const [noderef] __rcu *
   net/netfilter/nf_conntrack_pptp.c:364:16: sparse:    struct nf_nat_pptp_hook 
const *
   net/netfilter/nf_conntrack_pptp.c:459:16: sparse: sparse: incompatible types 
in comparison expression (different address spaces):
   net/netfilter/nf_conntrack_pptp.c:459:16: sparse:    struct nf_nat_pptp_hook 
const [noderef] __rcu *
   net/netfilter/nf_conntrack_pptp.c:459:16: sparse:    struct nf_nat_pptp_hook 
const *

vim +48 net/netfilter/nf_conntrack_pptp.c

f09943fefe6b70 Patrick McHardy   2006-12-02   47  
ffa8a2dcecaa35 Florian Westphal  2022-01-20  @48  const struct nf_nat_pptp_hook 
*nf_nat_pptp_hook;
ffa8a2dcecaa35 Florian Westphal  2022-01-20   49  
EXPORT_SYMBOL_GPL(nf_nat_pptp_hook);
f09943fefe6b70 Patrick McHardy   2006-12-02   50  
e9d376f0fa66bd Jason Baron       2009-02-05   51  #if defined(DEBUG) || 
defined(CONFIG_DYNAMIC_DEBUG)
f09943fefe6b70 Patrick McHardy   2006-12-02   52  /* PptpControlMessageType 
names */
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   53  static const char *const 
pptp_msg_name_array[PPTP_MSG_MAX + 1] = {
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   54        [0]                     
        = "UNKNOWN_MESSAGE",
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   55        
[PPTP_START_SESSION_REQUEST]    = "START_SESSION_REQUEST",
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   56        
[PPTP_START_SESSION_REPLY]      = "START_SESSION_REPLY",
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   57        
[PPTP_STOP_SESSION_REQUEST]     = "STOP_SESSION_REQUEST",
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   58        
[PPTP_STOP_SESSION_REPLY]       = "STOP_SESSION_REPLY",
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   59        [PPTP_ECHO_REQUEST]     
        = "ECHO_REQUEST",
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   60        [PPTP_ECHO_REPLY]       
        = "ECHO_REPLY",
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   61        [PPTP_OUT_CALL_REQUEST] 
        = "OUT_CALL_REQUEST",
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   62        [PPTP_OUT_CALL_REPLY]   
        = "OUT_CALL_REPLY",
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   63        [PPTP_IN_CALL_REQUEST]  
        = "IN_CALL_REQUEST",
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   64        [PPTP_IN_CALL_REPLY]    
        = "IN_CALL_REPLY",
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   65        [PPTP_IN_CALL_CONNECT]  
        = "IN_CALL_CONNECT",
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   66        
[PPTP_CALL_CLEAR_REQUEST]       = "CALL_CLEAR_REQUEST",
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   67        
[PPTP_CALL_DISCONNECT_NOTIFY]   = "CALL_DISCONNECT_NOTIFY",
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   68        [PPTP_WAN_ERROR_NOTIFY] 
        = "WAN_ERROR_NOTIFY",
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   69        [PPTP_SET_LINK_INFO]    
        = "SET_LINK_INFO"
f09943fefe6b70 Patrick McHardy   2006-12-02   70  };
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   71  
4946ea5c123703 Pablo Neira Ayuso 2020-05-27   72  const char 
*pptp_msg_name(u_int16_t msg)
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   73  {
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   74        if (msg > PPTP_MSG_MAX)
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   75                return 
pptp_msg_name_array[0];
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   76  
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   77        return 
pptp_msg_name_array[msg];
4c559f15efcc43 Pablo Neira Ayuso 2020-05-14   78  }
f09943fefe6b70 Patrick McHardy   2006-12-02   79  EXPORT_SYMBOL(pptp_msg_name);
f09943fefe6b70 Patrick McHardy   2006-12-02   80  #endif
f09943fefe6b70 Patrick McHardy   2006-12-02   81  
f09943fefe6b70 Patrick McHardy   2006-12-02   82  #define SECS *HZ
f09943fefe6b70 Patrick McHardy   2006-12-02   83  #define MINS * 60 SECS
f09943fefe6b70 Patrick McHardy   2006-12-02   84  #define HOURS * 60 MINS
f09943fefe6b70 Patrick McHardy   2006-12-02   85  
f09943fefe6b70 Patrick McHardy   2006-12-02   86  #define PPTP_GRE_TIMEOUT      
        (10 MINS)
f09943fefe6b70 Patrick McHardy   2006-12-02   87  #define 
PPTP_GRE_STREAM_TIMEOUT       (5 HOURS)
f09943fefe6b70 Patrick McHardy   2006-12-02   88  
f09943fefe6b70 Patrick McHardy   2006-12-02   89  static void 
pptp_expectfn(struct nf_conn *ct,
f09943fefe6b70 Patrick McHardy   2006-12-02   90                         struct 
nf_conntrack_expect *exp)
f09943fefe6b70 Patrick McHardy   2006-12-02   91  {
ffa8a2dcecaa35 Florian Westphal  2022-01-20   92        const struct 
nf_nat_pptp_hook *hook;
0e6e75af921d1f Alexey Dobriyan   2008-10-08   93        struct net *net = 
nf_ct_net(ct);
0d53778e81ac7a Patrick McHardy   2007-07-07   94        pr_debug("increasing 
timeouts\n");
f09943fefe6b70 Patrick McHardy   2006-12-02   95  
f09943fefe6b70 Patrick McHardy   2006-12-02   96        /* increase timeout of 
GRE data channel conntrack entry */
f09943fefe6b70 Patrick McHardy   2006-12-02   97        ct->proto.gre.timeout   
     = PPTP_GRE_TIMEOUT;
f09943fefe6b70 Patrick McHardy   2006-12-02   98        
ct->proto.gre.stream_timeout = PPTP_GRE_STREAM_TIMEOUT;
f09943fefe6b70 Patrick McHardy   2006-12-02   99  
f09943fefe6b70 Patrick McHardy   2006-12-02  100        /* Can you see how 
rusty this code is, compared with the pre-2.6.11
f09943fefe6b70 Patrick McHardy   2006-12-02  101         * one? That's what 
happened to my shiny newnat of 2002 ;( -HW */
f09943fefe6b70 Patrick McHardy   2006-12-02  102  
ffa8a2dcecaa35 Florian Westphal  2022-01-20 @103        hook = 
rcu_dereference(nf_nat_pptp_hook);
ffa8a2dcecaa35 Florian Westphal  2022-01-20  104        if (hook && 
ct->master->status & IPS_NAT_MASK)
ffa8a2dcecaa35 Florian Westphal  2022-01-20  105                
hook->expectfn(ct, exp);
f09943fefe6b70 Patrick McHardy   2006-12-02  106        else {
f09943fefe6b70 Patrick McHardy   2006-12-02  107                struct 
nf_conntrack_tuple inv_t;
f09943fefe6b70 Patrick McHardy   2006-12-02  108                struct 
nf_conntrack_expect *exp_other;
f09943fefe6b70 Patrick McHardy   2006-12-02  109  
f09943fefe6b70 Patrick McHardy   2006-12-02  110                /* obviously 
this tuple inversion only works until you do NAT */
303e0c5589592e Florian Westphal  2019-01-15  111                
nf_ct_invert_tuple(&inv_t, &exp->tuple);
0d53778e81ac7a Patrick McHardy   2007-07-07  112                
pr_debug("trying to unexpect other dir: ");
3c9fba656a185c Jan Engelhardt    2008-04-14  113                
nf_ct_dump_tuple(&inv_t);
f09943fefe6b70 Patrick McHardy   2006-12-02  114  
5d0aa2ccd4699a Patrick McHardy   2010-02-15  115                exp_other = 
nf_ct_expect_find_get(net, nf_ct_zone(ct), &inv_t);
f09943fefe6b70 Patrick McHardy   2006-12-02  116                if (exp_other) {
f09943fefe6b70 Patrick McHardy   2006-12-02  117                        /* 
delete other expectation.  */
0d53778e81ac7a Patrick McHardy   2007-07-07  118                        
pr_debug("found\n");
6823645d608541 Patrick McHardy   2007-07-07  119                        
nf_ct_unexpect_related(exp_other);
6823645d608541 Patrick McHardy   2007-07-07  120                        
nf_ct_expect_put(exp_other);
f09943fefe6b70 Patrick McHardy   2006-12-02  121                } else {
0d53778e81ac7a Patrick McHardy   2007-07-07  122                        
pr_debug("not found\n");
f09943fefe6b70 Patrick McHardy   2006-12-02  123                }
f09943fefe6b70 Patrick McHardy   2006-12-02  124        }
f09943fefe6b70 Patrick McHardy   2006-12-02  125  }
f09943fefe6b70 Patrick McHardy   2006-12-02  126  

---
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