Module Name: src Committed By: riz Date: Mon Sep 3 19:19:55 UTC 2012
Modified Files: src/sys/netipsec [netbsd-6]: key.c key.h Log Message: Apply patch requested by msaitoh in pullup-6 ticket #538: * add TAILQ satailq and sptailq - these queues are referenced from kernfs/ipsecsa, kernfs/ipsecsp as a weak_symbol. - KAME netkey has the two queues, but FAST-IPsec netkey doen't. This cause a panic. To prevent this panic, make a empty tailq. - The tailq doen't work, because there are no implementation yet... To generate a diff of this commit: cvs rdiff -u -r1.76 -r1.76.2.1 src/sys/netipsec/key.c cvs rdiff -u -r1.11 -r1.11.8.1 src/sys/netipsec/key.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/netipsec/key.c diff -u src/sys/netipsec/key.c:1.76 src/sys/netipsec/key.c:1.76.2.1 --- src/sys/netipsec/key.c:1.76 Mon Jan 9 15:42:08 2012 +++ src/sys/netipsec/key.c Mon Sep 3 19:19:54 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: key.c,v 1.76 2012/01/09 15:42:08 drochner Exp $ */ +/* $NetBSD: key.c,v 1.76.2.1 2012/09/03 19:19:54 riz Exp $ */ /* $FreeBSD: src/sys/netipsec/key.c,v 1.3.2.3 2004/02/14 22:23:23 bms Exp $ */ /* $KAME: key.c,v 1.191 2001/06/27 10:46:49 sakane Exp $ */ @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: key.c,v 1.76 2012/01/09 15:42:08 drochner Exp $"); +__KERNEL_RCSID(0, "$NetBSD: key.c,v 1.76.2.1 2012/09/03 19:19:54 riz Exp $"); /* * This code is referd to RFC 2367 @@ -139,6 +139,10 @@ static int key_prefered_oldsa = 0; /* pr static u_int32_t acq_seq = 0; +/* XXX: referenced by kernfs, but not implemented... */ +struct _satailq satailq; +struct _sptailq sptailq; + static LIST_HEAD(_sptree, secpolicy) sptree[IPSEC_DIR_MAX]; /* SPD */ static LIST_HEAD(_sahtree, secashead) sahtree; /* SAD */ static LIST_HEAD(_regtree, secreg) regtree[SADB_SATYPE_MAX + 1]; @@ -7777,6 +7781,9 @@ key_do_init(void) #endif LIST_INIT(&spacqtree); + TAILQ_INIT(&satailq); + TAILQ_INIT(&sptailq); + /* system default */ ip4_def_policy.policy = IPSEC_POLICY_NONE; ip4_def_policy.refcnt++; /*never reclaim this*/ Index: src/sys/netipsec/key.h diff -u src/sys/netipsec/key.h:1.11 src/sys/netipsec/key.h:1.11.8.1 --- src/sys/netipsec/key.h:1.11 Thu Jun 9 19:54:18 2011 +++ src/sys/netipsec/key.h Mon Sep 3 19:19:55 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: key.h,v 1.11 2011/06/09 19:54:18 drochner Exp $ */ +/* $NetBSD: key.h,v 1.11.8.1 2012/09/03 19:19:55 riz Exp $ */ /* $FreeBSD: src/sys/netipsec/key.h,v 1.1.4.1 2003/01/24 05:11:36 sam Exp $ */ /* $KAME: key.h,v 1.21 2001/07/27 03:51:30 itojun Exp $ */ @@ -117,5 +117,9 @@ u_int16_t key_portfromsaddr (const union MALLOC_DECLARE(M_SECA); #endif /* MALLOC_DECLARE */ +/* XXX: referenced by kernfs, but not implemented... */ +extern TAILQ_HEAD(_satailq, secasvar) satailq; +extern TAILQ_HEAD(_sptailq, secpolicy) sptailq; + #endif /* defined(_KERNEL) */ #endif /* !_NETIPSEC_KEY_H_ */