Hi Kevin,

[auto build test ERROR on ipsec-next/master]
[also build test ERROR on v4.10-rc4 next-20170120]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Kevin-Cernekee/Make-xfrm-usable-by-32-bit-programs/20170121-150712
base:   https://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next.git 
master
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 6.2.0
reproduce:
        wget 
https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross
 -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=ia64 

All errors (new ones prefixed by >>):

>> net/xfrm/xfrm_user_legacy.c:845:5: error: redefinition of 
>> 'xfrm_exp_state_notify_legacy'
    int xfrm_exp_state_notify_legacy(const struct xfrm_state *x,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from net/xfrm/xfrm_user_legacy.c:30:0:
   net/xfrm/xfrm_user.h:131:19: note: previous definition of 
'xfrm_exp_state_notify_legacy' was here
    static inline int xfrm_exp_state_notify_legacy(const struct xfrm_state *x,
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> net/xfrm/xfrm_user_legacy.c:863:5: error: redefinition of 
>> 'xfrm_notify_sa_legacy'
    int xfrm_notify_sa_legacy(const struct xfrm_state *x, const struct km_event 
*c)
        ^~~~~~~~~~~~~~~~~~~~~
   In file included from net/xfrm/xfrm_user_legacy.c:30:0:
   net/xfrm/xfrm_user.h:137:19: note: previous definition of 
'xfrm_notify_sa_legacy' was here
    static inline int xfrm_notify_sa_legacy(const struct xfrm_state *x,
                      ^~~~~~~~~~~~~~~~~~~~~
>> net/xfrm/xfrm_user_legacy.c:983:5: error: redefinition of 
>> 'xfrm_send_acquire_legacy'
    int xfrm_send_acquire_legacy(struct xfrm_state *x,
        ^~~~~~~~~~~~~~~~~~~~~~~~
   In file included from net/xfrm/xfrm_user_legacy.c:30:0:
   net/xfrm/xfrm_user.h:143:19: note: previous definition of 
'xfrm_send_acquire_legacy' was here
    static inline int xfrm_send_acquire_legacy(struct xfrm_state *x,
                      ^~~~~~~~~~~~~~~~~~~~~~~~
>> net/xfrm/xfrm_user_legacy.c:1043:5: error: redefinition of 
>> 'xfrm_exp_policy_notify_legacy'
    int xfrm_exp_policy_notify_legacy(const struct xfrm_policy *xp,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from net/xfrm/xfrm_user_legacy.c:30:0:
   net/xfrm/xfrm_user.h:150:19: note: previous definition of 
'xfrm_exp_policy_notify_legacy' was here
    static inline int xfrm_exp_policy_notify_legacy(const struct xfrm_policy 
*xp,
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> net/xfrm/xfrm_user_legacy.c:1060:5: error: redefinition of 
>> 'xfrm_notify_policy_legacy'
    int xfrm_notify_policy_legacy(const struct xfrm_policy *xp,
        ^~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from net/xfrm/xfrm_user_legacy.c:30:0:
   net/xfrm/xfrm_user.h:157:19: note: previous definition of 
'xfrm_notify_policy_legacy' was here
    static inline int xfrm_notify_policy_legacy(const struct xfrm_policy *xp,
                      ^~~~~~~~~~~~~~~~~~~~~~~~~

vim +/xfrm_exp_state_notify_legacy +845 net/xfrm/xfrm_user_legacy.c

   839                  return err;
   840  
   841          nlmsg_end(skb, nlh);
   842          return 0;
   843  }
   844  
 > 845  int xfrm_exp_state_notify_legacy(const struct xfrm_state *x,
   846                                   const struct km_event *c)
   847  {
   848          struct net *net = xs_net(x);
   849          struct sk_buff *skb;
   850  
   851          skb = nlmsg_new(xfrm_expire_msgsize(), GFP_ATOMIC);
   852          if (skb == NULL)
   853                  return -ENOMEM;
   854  
   855          if (build_expire(skb, x, c) < 0) {
   856                  kfree_skb(skb);
   857                  return -EMSGSIZE;
   858          }
   859  
   860          return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_EXPIRE);
   861  }
   862  
 > 863  int xfrm_notify_sa_legacy(const struct xfrm_state *x, const struct 
 > km_event *c)
   864  {
   865          struct net *net = xs_net(x);
   866          struct xfrm_usersa_info_legacy *p;
   867          struct xfrm_usersa_id *id;
   868          struct nlmsghdr *nlh;
   869          struct sk_buff *skb;
   870          int len = xfrm_sa_len(x);
   871          int headlen, err;
   872          u32 event = 0;
   873  
   874          headlen = sizeof(*p);
   875          if (c->event == XFRM_MSG_DELSA) {
   876                  len += nla_total_size(headlen);
   877                  headlen = sizeof(*id);
   878                  len += nla_total_size(sizeof(struct xfrm_mark));
   879          }
   880          len += NLMSG_ALIGN(headlen);
   881  
   882          skb = nlmsg_new(len, GFP_ATOMIC);
   883          if (skb == NULL)
   884                  return -ENOMEM;
   885  
   886          switch (c->event) {
   887          case XFRM_MSG_NEWSA:
   888                  event = XFRM_MSG_NEWSA_LEGACY;
   889                  break;
   890          case XFRM_MSG_UPDSA:
   891                  event = XFRM_MSG_UPDSA_LEGACY;
   892                  break;
   893          case XFRM_MSG_DELSA:
   894                  event = XFRM_MSG_DELSA_LEGACY;
   895                  break;
   896          }
   897  
   898          nlh = nlmsg_put(skb, c->portid, c->seq, event, headlen, 0);
   899          err = -EMSGSIZE;
   900          if (nlh == NULL)
   901                  goto out_free_skb;
   902  
   903          p = nlmsg_data(nlh);
   904          if (c->event == XFRM_MSG_DELSA) {
   905                  struct nlattr *attr;
   906  
   907                  id = nlmsg_data(nlh);
   908                  memcpy(&id->daddr, &x->id.daddr, sizeof(id->daddr));
   909                  id->spi = x->id.spi;
   910                  id->family = x->props.family;
   911                  id->proto = x->id.proto;
   912  
   913                  attr = nla_reserve(skb, XFRMA_SA, sizeof(*p));
   914                  err = -EMSGSIZE;
   915                  if (attr == NULL)
   916                          goto out_free_skb;
   917  
   918                  p = nla_data(attr);
   919          }
   920          err = copy_to_user_state_extra(x, p, skb);
   921          if (err)
   922                  goto out_free_skb;
   923  
   924          nlmsg_end(skb, nlh);
   925  
   926          return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_SA);
   927  
   928  out_free_skb:
   929          kfree_skb(skb);
   930          return err;
   931  }
   932  
   933  static inline size_t xfrm_acquire_msgsize(const struct xfrm_state *x,
   934                                            const struct xfrm_policy *xp)
   935  {
   936          return NLMSG_ALIGN(sizeof(struct xfrm_user_acquire_legacy))
   937                 + nla_total_size(sizeof(struct xfrm_user_tmpl) * 
xp->xfrm_nr)
   938                 + nla_total_size(sizeof(struct xfrm_mark))
   939                 + nla_total_size(xfrm_user_sec_ctx_size(x->security))
   940                 + userpolicy_type_attrsize();
   941  }
   942  
   943  static int build_acquire(struct sk_buff *skb,
   944                           struct xfrm_state *x,
   945                           const struct xfrm_tmpl *xt,
   946                           const struct xfrm_policy *xp)
   947  {
   948          __u32 seq = xfrm_get_acqseq();
   949          struct xfrm_user_acquire_legacy *ua;
   950          struct nlmsghdr *nlh;
   951          int err;
   952  
   953          nlh = nlmsg_put(skb, 0, 0, XFRM_MSG_ACQUIRE_LEGACY, 
sizeof(*ua), 0);
   954          if (nlh == NULL)
   955                  return -EMSGSIZE;
   956  
   957          ua = nlmsg_data(nlh);
   958          memcpy(&ua->id, &x->id, sizeof(ua->id));
   959          memcpy(&ua->saddr, &x->props.saddr, sizeof(ua->saddr));
   960          memcpy(&ua->sel, &x->sel, sizeof(ua->sel));
   961          copy_to_user_policy(xp, &ua->policy, XFRM_POLICY_OUT);
   962          ua->aalgos = xt->aalgos;
   963          ua->ealgos = xt->ealgos;
   964          ua->calgos = xt->calgos;
   965          ua->seq = x->km.seq = seq;
   966  
   967          err = xfrm_copy_to_user_tmpl(xp, skb);
   968          if (!err)
   969                  err = copy_to_user_state_sec_ctx(x, skb);
   970          if (!err)
   971                  err = copy_to_user_policy_type(xp->type, skb);
   972          if (!err)
   973                  err = xfrm_mark_put(skb, &xp->mark);
   974          if (err) {
   975                  nlmsg_cancel(skb, nlh);
   976                  return err;
   977          }
   978  
   979          nlmsg_end(skb, nlh);
   980          return 0;
   981  }
   982  
 > 983  int xfrm_send_acquire_legacy(struct xfrm_state *x,
   984                               const struct xfrm_tmpl *xt,
   985                               const struct xfrm_policy *xp)
   986  {
   987          struct net *net = xs_net(x);
   988          struct sk_buff *skb;
   989  
   990          skb = nlmsg_new(xfrm_acquire_msgsize(x, xp), GFP_ATOMIC);
   991          if (skb == NULL)
   992                  return -ENOMEM;
   993  
   994          if (build_acquire(skb, x, xt, xp) < 0)
   995                  BUG();
   996  
   997          return xfrm_nlmsg_multicast(net, skb, 0, XFRMNLGRP_ACQUIRE);
   998  }
   999  
  1000  static inline size_t xfrm_polexpire_msgsize(const struct xfrm_policy 
*xp)
  1001  {
  1002          return NLMSG_ALIGN(sizeof(struct xfrm_user_polexpire_legacy))
  1003                 + nla_total_size(sizeof(struct xfrm_user_tmpl) * 
xp->xfrm_nr)
  1004                 + nla_total_size(xfrm_user_sec_ctx_size(xp->security))
  1005                 + nla_total_size(sizeof(struct xfrm_mark))
  1006                 + userpolicy_type_attrsize();
  1007  }
  1008  
  1009  static int build_polexpire(struct sk_buff *skb,
  1010                             const struct xfrm_policy *xp,
  1011                             int dir,
  1012                             const struct km_event *c)
  1013  {
  1014          struct xfrm_user_polexpire_legacy *upe;
  1015          int hard = c->data.hard;
  1016          struct nlmsghdr *nlh;
  1017          int err;
  1018  
  1019          nlh = nlmsg_put(skb, c->portid, 0, XFRM_MSG_POLEXPIRE_LEGACY,
  1020                          sizeof(*upe), 0);
  1021          if (nlh == NULL)
  1022                  return -EMSGSIZE;
  1023  
  1024          upe = nlmsg_data(nlh);
  1025          copy_to_user_policy(xp, &upe->pol, dir);
  1026          err = xfrm_copy_to_user_tmpl(xp, skb);
  1027          if (!err)
  1028                  err = copy_to_user_sec_ctx(xp, skb);
  1029          if (!err)
  1030                  err = copy_to_user_policy_type(xp->type, skb);
  1031          if (!err)
  1032                  err = xfrm_mark_put(skb, &xp->mark);
  1033          if (err) {
  1034                  nlmsg_cancel(skb, nlh);
  1035                  return err;
  1036          }
  1037          upe->hard = !!hard;
  1038  
  1039          nlmsg_end(skb, nlh);
  1040          return 0;
  1041  }
  1042  
> 1043  int xfrm_exp_policy_notify_legacy(const struct xfrm_policy *xp,
  1044                                    int dir,
  1045                                    const struct km_event *c)
  1046  {

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to