NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
PR/57136 CVS commit: [netbsd-10] src/sys/net/npf
The following reply was made to PR kern/57136; it has been noted by GNATS.
From: "Martin Husemann" <martin%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc:
Subject: PR/57136 CVS commit: [netbsd-10] src/sys/net/npf
Date: Mon, 21 Aug 2023 12:18:17 +0000
Module Name: src
Committed By: martin
Date: Mon Aug 21 12:18:17 UTC 2023
Modified Files:
src/sys/net/npf [netbsd-10]: npf_tableset.c
Log Message:
Pull up following revision(s) (requested by riastradh in ticket #332):
sys/net/npf/npf_tableset.c: revision 1.41
npf(9): Drop table lock around copyout.
It is forbidden to hold a spin lock around copyout, and t_lock is a
spin lock.
We need t_lock in order to iterate over the list of entries.
However, during copyout itself, we only need to ensure that the
object we're copying out isn't freed by npf_table_remove or
npf_table_gc.
Fortunately, the only caller of npf_table_list, npf_table_remove, and
npf_table_gc is npfctl_table, and it serializes all of them by the
npf config lock. So we can safely drop t_lock across copyout.
PR kern/57136
PR kern/57181
To generate a diff of this commit:
cvs rdiff -u -r1.38 -r1.38.4.1 src/sys/net/npf/npf_tableset.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index