NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: PR/54950 CVS commit: src/sys/net/npf
The following reply was made to PR kern/54950; it has been noted by GNATS.
From: Lloyd Parkes <lloyd%must-have-coffee.gen.nz@localhost>
To: gnats-bugs%netbsd.org@localhost, kern-bug-people%netbsd.org@localhost,
gnats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost
Cc:
Subject: Re: PR/54950 CVS commit: src/sys/net/npf
Date: Thu, 13 Feb 2020 19:50:29 +1300
On 12/02/20 2:35 pm, Christos Zoulas wrote:
> The following reply was made to PR kern/54950; it has been noted by GNATS.
>
> From: "Christos Zoulas" <christos%netbsd.org@localhost>
> To: gnats-bugs%gnats.NetBSD.org@localhost
> Cc:
> Subject: PR/54950 CVS commit: src/sys/net/npf
> Date: Tue, 11 Feb 2020 20:34:55 -0500
>
> Modified Files:
> src/sys/net/npf: npf_ruleset.c
I'm pretty sure that this doesn't cover all NULL pointer derefs in NPF.
You can also get a NULL pointer deref for the NAT rulesets.
I'm still waiting for my CVS to rsync from anoncvs.netbsd.org so I don't
actually know what this patch is, but a patch I generated last night is
below.
On top of that, I don't see how any of this could have been triggered my
my actual NPF configuration and I'm guessing that our trivial test cases
have uncovered other problems. I'm going to try and regenerate my
original configuration and see what happens.
Cheers
cvs diff: Diffing .
Index: npf_conf.c
===================================================================
RCS file: /vol/src/rsync-src/src/sys/net/npf/npf_conf.c,v
retrieving revision 1.15
diff -u -r1.15 npf_conf.c
--- npf_conf.c 25 Aug 2019 13:21:03 -0000 1.15
+++ npf_conf.c 12 Feb 2020 04:38:30 -0000
@@ -47,7 +47,7 @@
#ifdef _KERNEL
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: npf_conf.c,v 1.14 2019/08/11 20:26:33 rmind
Exp $");
+__KERNEL_RCSID(0, "$NetBSD: npf_conf.c,v 1.15 2019/08/25 13:21:03 rmind
Exp $");
#include <sys/param.h>
#include <sys/types.h>
@@ -94,8 +94,8 @@
* Note: the rulesets must be destroyed first, in order to drop
* any references to the tableset.
*/
- npf_ruleset_destroy(nc->ruleset);
- npf_ruleset_destroy(nc->nat_ruleset);
+ if (nc->ruleset) npf_ruleset_destroy(nc->ruleset);
+ if (nc->nat_ruleset) npf_ruleset_destroy(nc->nat_ruleset);
npf_rprocset_destroy(nc->rule_procs);
npf_tableset_destroy(nc->tableset);
kmem_free(nc, sizeof(npf_config_t));
Home |
Main Index |
Thread Index |
Old Index