Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/netipsec Fix: update lastused of ipsecif(4) IPv6 out SP.



details:   https://anonhg.NetBSD.org/src/rev/4ee8805916e7
branches:  trunk
changeset: 372560:4ee8805916e7
user:      knakahara <knakahara%NetBSD.org@localhost>
date:      Thu Dec 08 08:05:03 2022 +0000

description:
Fix: update lastused of ipsecif(4) IPv6 out SP.

diffstat:

 sys/netipsec/ipsecif.c |   7 +++++--
 sys/netipsec/key.c     |  11 +++++++++--
 sys/netipsec/key.h     |   3 ++-
 3 files changed, 16 insertions(+), 5 deletions(-)

diffs (78 lines):

diff -r 2c1c63e5f4d1 -r 4ee8805916e7 sys/netipsec/ipsecif.c
--- a/sys/netipsec/ipsecif.c    Thu Dec 08 06:30:15 2022 +0000
+++ b/sys/netipsec/ipsecif.c    Thu Dec 08 08:05:03 2022 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: ipsecif.c,v 1.20 2022/12/07 08:30:15 knakahara Exp $  */
+/*     $NetBSD: ipsecif.c,v 1.21 2022/12/08 08:05:03 knakahara Exp $  */
 
 /*
  * Copyright (c) 2017 Internet Initiative Japan Inc.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ipsecif.c,v 1.20 2022/12/07 08:30:15 knakahara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ipsecif.c,v 1.21 2022/12/08 08:05:03 knakahara Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -395,7 +395,10 @@
        /*
         * The SPs in ipsec_variant are prevented from freed by
         * ipsec_variant->iv_psref. So, KEY_SP_REF() is unnecessary here.
+        *
+        * However, lastused should be updated.
         */
+       key_sp_touch(sp);
 
        KASSERT(sp->policy != IPSEC_POLICY_NONE);
        KASSERT(sp->policy != IPSEC_POLICY_ENTRUST);
diff -r 2c1c63e5f4d1 -r 4ee8805916e7 sys/netipsec/key.c
--- a/sys/netipsec/key.c        Thu Dec 08 06:30:15 2022 +0000
+++ b/sys/netipsec/key.c        Thu Dec 08 08:05:03 2022 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: key.c,v 1.278 2022/10/19 21:28:02 christos Exp $       */
+/*     $NetBSD: key.c,v 1.279 2022/12/08 08:05:03 knakahara Exp $      */
 /*     $FreeBSD: 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.278 2022/10/19 21:28:02 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: key.c,v 1.279 2022/12/08 08:05:03 knakahara Exp $");
 
 /*
  * This code is referred to RFC 2367
@@ -871,6 +871,13 @@
        return 0;
 }
 
+void
+key_sp_touch(struct secpolicy *sp)
+{
+
+       sp->lastused = time_uptime;
+}
+
 static void
 key_spd_pserialize_perform(void)
 {
diff -r 2c1c63e5f4d1 -r 4ee8805916e7 sys/netipsec/key.h
--- a/sys/netipsec/key.h        Thu Dec 08 06:30:15 2022 +0000
+++ b/sys/netipsec/key.h        Thu Dec 08 08:05:03 2022 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: key.h,v 1.37 2021/08/09 20:49:10 andvar Exp $  */
+/*     $NetBSD: key.h,v 1.38 2022/12/08 08:05:03 knakahara Exp $       */
 /*     $FreeBSD: 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 $    */
 
@@ -67,6 +67,7 @@
 u_int key_sp_refcnt(const struct secpolicy *);
 void key_sp_ref(struct secpolicy *, const char *, int);
 void key_sp_unref(struct secpolicy *, const char *, int);
+void key_sp_touch(struct secpolicy *);
 void key_sa_ref(struct secasvar *, const char *, int);
 void key_sa_unref(struct secasvar *, const char *, int);
 u_int key_sa_refcnt(const struct secasvar *);



Home | Main Index | Thread Index | Old Index