Re: [PATCH v2] net: fix NULL pointer reference in cipso_v4_doi_free

From: Jakub Kicinski
Date: Mon Aug 30 2021 - 12:45:29 EST


On Mon, 30 Aug 2021 10:17:05 -0400 Paul Moore wrote:
> On Mon, Aug 30, 2021 at 6:28 AM 王贇 <yun.wang@xxxxxxxxxxxxxxxxx> wrote:
> >
> > In netlbl_cipsov4_add_std() when 'doi_def->map.std' alloc
> > failed, we sometime observe panic:
> >
> > BUG: kernel NULL pointer dereference, address:
> > ...
> > RIP: 0010:cipso_v4_doi_free+0x3a/0x80
> > ...
> > Call Trace:
> > netlbl_cipsov4_add_std+0xf4/0x8c0
> > netlbl_cipsov4_add+0x13f/0x1b0
> > genl_family_rcv_msg_doit.isra.15+0x132/0x170
> > genl_rcv_msg+0x125/0x240
> >
> > This is because in cipso_v4_doi_free() there is no check
> > on 'doi_def->map.std' when doi_def->type got value 1, which
> > is possibe, since netlbl_cipsov4_add_std() haven't initialize
> > it before alloc 'doi_def->map.std'.
> >
> > This patch just add the check to prevent panic happen in similar
> > cases.
> >
> > Reported-by: Abaci <abaci@xxxxxxxxxxxxxxxxx>
> > Signed-off-by: Michael Wang <yun.wang@xxxxxxxxxxxxxxxxx>
> > ---
> > net/netlabel/netlabel_cipso_v4.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
>
> I see this was already merged, but it looks good to me, thanks for
> making those changes.

FWIW it looks like v1 was also merged:

https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=733c99ee8b