[PATCH v2 1/1] netlink: fix neigh lladdr decoder

Dmitry V. Levin ldv at altlinux.org
Fri Dec 6 12:27:26 UTC 2019


On Sun, Sep 09, 2018 at 02:25:13AM +0300, Dmitry V. Levin wrote:
> On Sat, Sep 01, 2018 at 02:11:08PM -0400, Jamal Hadi Salim wrote:
> > From: Jamal Hadi Salim <jhs at mojatatu.com>
> > 
> > Fixes: 19abd528fbba ("rtnl_neigh: decode ndmsg netlink attributes")
> > signed-off-by: Jamal Hadi Salim <jhs at mojatatu.com>
> 
> It would be great if you added a sentence describing what was wrong in the
> decoder (I suppose that mac address was printed as inet address) and what
> is a fix (I suppose it's a new decoder for mac addresses).
> 
> > ---
> >  rtnl_neigh.c | 18 +++++++++++++++++-
> >  1 file changed, 17 insertions(+), 1 deletion(-)
> > 
> > diff --git a/rtnl_neigh.c b/rtnl_neigh.c
> > index 31087748..c1dd3d1c 100644
> > --- a/rtnl_neigh.c
> > +++ b/rtnl_neigh.c
> > @@ -56,6 +56,22 @@ decode_neigh_addr(struct tcb *const tcp,
> >  }
> >  
> >  static bool
> > +decode_neigh_lladdr(struct tcb *const tcp,
> > +		    const kernel_ulong_t addr,
> > +		    const unsigned int len,
> > +		    const void *const opaque_data)
> > +{
> > +	uint8_t maddr[6];
> > +
> > +	if (len < sizeof(maddr))
> > +		return false;
> > +	else if (!umove_or_printaddr(tcp, addr, &maddr))
> > +		print_mac_addr("",  maddr, sizeof(maddr));
> > +
> > +	return true;
> > +}
> > +
> > +static bool
> >  decode_nda_cacheinfo(struct tcb *const tcp,
> >  		     const kernel_ulong_t addr,
> >  		     const unsigned int len,
> > @@ -78,7 +94,7 @@ decode_nda_cacheinfo(struct tcb *const tcp,
> >  
> >  static const nla_decoder_t ndmsg_nla_decoders[] = {
> >  	[NDA_DST]		= decode_neigh_addr,
> > -	[NDA_LLADDR]		= decode_neigh_addr,
> > +	[NDA_LLADDR]		= decode_neigh_lladdr,
> >  	[NDA_CACHEINFO]		= decode_nda_cacheinfo,
> >  	[NDA_PROBES]		= decode_nla_u32,
> >  	[NDA_VLAN]		= decode_nla_u16,
> 
> This looks OK.
> 
> Could you add a corresponding check to tests/nlattr_ndmsg.c, please?

OK, I applied the patch and added a test for it.

Thanks,


-- 
ldv
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20191206/c7b65551/attachment.bin>


More information about the Strace-devel mailing list