Re: [PATCH] net: bridge: fix potential null pointer dereference on return from br_port_get_rtnl()

From: Garry McNulty
Date: Fri Jun 22 2018 - 15:06:06 EST


On Fri, 22 Jun 2018 at 00:35, Nikolay Aleksandrov
<nikolay@xxxxxxxxxxxxxxxxxxx> wrote:
>
> On 06/22/2018 01:20 AM, David Miller wrote:
> > From: Garry McNulty <garrmcnu@xxxxxxxxx>
> > Date: Thu, 21 Jun 2018 21:14:27 +0100
> >
> >> br_port_get_rtnl() can return NULL if the network device is not a bridge
> >> port (IFF_BRIDGE_PORT flag not set). br_port_slave_changelink() and
> >> br_port_fill_slave_info() callbacks dereference this pointer without
> >> checking. Currently this is not a problem because slave devices always
> >> set this flag. Add null check in case these conditions ever changye.
> >>
> >> Detected by CoverityScan, CID 1339613 ("Dereference null return value")
> >>
> >> Signed-off-by: Garry McNulty <garrmcnu@xxxxxxxxx>
> >
> > I don't think this is reasonable.
> >
> > The bridge code will never, ever, install a slave that doesn't have
> > that bit set. It's the most fundamental aspect of how these objects
> > are managed.
> >
> +1
>
> This keeps coming up, here's the previous one:
> https://patchwork.ozlabs.org/patch/896046/
>
> Please do a more thorough check if these conditions can actually occur.
> In this case, as Dave said, they cannot.
>
> To be explicit as with the patch I mentioned above:
> Nacked-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx>
>
> You can find more info in my reply to the patch above.
>
> Thanks,
> Nik

Thanks for reviewing and for the feedback.

Regards

Garry