Subject: Re: [PATCH] netfilter: ctnetlink: Make some parameters integer to avoid enum mismatch

From: Matthias Kaehlcke <[email-masked]>
Date: Wed, 19 Apr 2017 12:59:14 -0700

El Wed, Apr 19, 2017 at 12:41:10PM -0700 Joe Perches ha dit:

> On Wed, 2017-04-19 at 11:39 -0700, Matthias Kaehlcke wrote:
> > Not all parameters passed to ctnetlink_parse_tuple() and
> > ctnetlink_exp_dump_tuple() match the enum type in the signatures of these
> > functions.
> 
> Maybe that should be changed/fixed.

Please see the previous discussion at
http://www.spinics.net/lists/netfilter-devel/msg47540.html

> > Since this is intended change the argument type of to be an int
> > value.
> 
> u32 is not int, it's unsigned int

I would argue that an unsigned int is an int(eger) and considered it
an unnecessary detail for the commit message to be explicit. I can
change it if others deem it incorrect.

Cheers

Matthias

> > Signed-off-by: Matthias Kaehlcke <[email-masked]>
> > ---
> >  net/netfilter/nf_conntrack_netlink.c | 7 +++----
> >  1 file changed, 3 insertions(+), 4 deletions(-)
> > 
> > diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c
> > index dc7dfd68fafe..775eb5d9165b 100644
> > --- a/net/netfilter/nf_conntrack_netlink.c
> > +++ b/net/netfilter/nf_conntrack_netlink.c
> > @@ -1006,9 +1006,8 @@ static const struct nla_policy tuple_nla_policy[CTA_TUPLE_MAX+1] = {
> >  
> >  static int
> >  ctnetlink_parse_tuple(const struct nlattr * const cda[],
> > -		      struct nf_conntrack_tuple *tuple,
> > -		      enum ctattr_type type, u_int8_t l3num,
> > -		      struct nf_conntrack_zone *zone)
> > +		      struct nf_conntrack_tuple *tuple, u32 type,
> > +		      u_int8_t l3num, struct nf_conntrack_zone *zone)
> >  {
> >  	struct nlattr *tb[CTA_TUPLE_MAX+1];
> >  	int err;
> > @@ -2443,7 +2442,7 @@ static struct nfnl_ct_hook ctnetlink_glue_hook = {
> >  
> >  static int ctnetlink_exp_dump_tuple(struct sk_buff *skb,
> >  				    const struct nf_conntrack_tuple *tuple,
> > -				    enum ctattr_expect type)
> > +				    u32 type)
> >  {
> >  	struct nlattr *nest_parms;
> >