Module Name: src Committed By: rmind Date: Sat Oct 6 23:38:20 UTC 2012
Modified Files: src/sys/net/npf: npf_handler.c Log Message: npf_packet_handler: drop the packet if IPv6 reassembly did not work. To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/sys/net/npf/npf_handler.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/net/npf/npf_handler.c diff -u src/sys/net/npf/npf_handler.c:1.22 src/sys/net/npf/npf_handler.c:1.23 --- src/sys/net/npf/npf_handler.c:1.22 Sun Sep 16 13:47:41 2012 +++ src/sys/net/npf/npf_handler.c Sat Oct 6 23:38:20 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: npf_handler.c,v 1.22 2012/09/16 13:47:41 rmind Exp $ */ +/* $NetBSD: npf_handler.c,v 1.23 2012/10/06 23:38:20 rmind Exp $ */ /*- * Copyright (c) 2009-2012 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: npf_handler.c,v 1.22 2012/09/16 13:47:41 rmind Exp $"); +__KERNEL_RCSID(0, "$NetBSD: npf_handler.c,v 1.23 2012/10/06 23:38:20 rmind Exp $"); #include <sys/types.h> #include <sys/param.h> @@ -136,8 +136,10 @@ npf_packet_handler(void *arg, struct mbu nbuf = (nbuf_t *)*mp; npc.npc_info = 0; - int ret __unused = npf_cache_all(&npc, nbuf); - KASSERT((ret & NPC_IPFRAG) == 0); + if (npf_cache_all(&npc, nbuf) & NPC_IPFRAG) { + se = NULL; + goto out; + } npf_stats_inc(NPF_STAT_REASSEMBLY); }