Module Name: src Committed By: martin Date: Thu Oct 8 17:50:11 UTC 2020
Modified Files: src/sys/netipsec [netbsd-8]: xform_esp.c Log Message: Pull up following revision(s) (requested by knakahara in ticket #1612): sys/netipsec/xform_esp.c: revision 1.101 Make sequence number of esp header MP-safe for IPsec Tx side. reviewed by ozaki-r@n.o In IPsec Tx side, one Security Association can be used by multiple CPUs. On the other hand, in IPsec Rx side, one Security Association is used by only one CPU. XXX pullup-{8,9} To generate a diff of this commit: cvs rdiff -u -r1.55.2.3 -r1.55.2.4 src/sys/netipsec/xform_esp.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/netipsec/xform_esp.c diff -u src/sys/netipsec/xform_esp.c:1.55.2.3 src/sys/netipsec/xform_esp.c:1.55.2.4 --- src/sys/netipsec/xform_esp.c:1.55.2.3 Fri Mar 30 11:53:13 2018 +++ src/sys/netipsec/xform_esp.c Thu Oct 8 17:50:11 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: xform_esp.c,v 1.55.2.3 2018/03/30 11:53:13 martin Exp $ */ +/* $NetBSD: xform_esp.c,v 1.55.2.4 2020/10/08 17:50:11 martin Exp $ */ /* $FreeBSD: src/sys/netipsec/xform_esp.c,v 1.2.2.1 2003/01/24 05:11:36 sam Exp $ */ /* $OpenBSD: ip_esp.c,v 1.69 2001/06/26 06:18:59 angelos Exp $ */ @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: xform_esp.c,v 1.55.2.3 2018/03/30 11:53:13 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: xform_esp.c,v 1.55.2.4 2020/10/08 17:50:11 martin Exp $"); #if defined(_KERNEL_OPT) #include "opt_inet.h" @@ -804,11 +804,12 @@ esp_output(struct mbuf *m, const struct #ifdef IPSEC_DEBUG /* Emulate replay attack when ipsec_replay is TRUE. */ - if (!ipsec_replay) + if (ipsec_replay) + replay = htonl(sav->replay->count); + else #endif - sav->replay->count++; + replay = htonl(atomic_inc_32_nv(&sav->replay->count)); - replay = htonl(sav->replay->count); memcpy(mtod(mo,char *) + roff + sizeof(uint32_t), &replay, sizeof(uint32_t)); }