Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 05 Jun 2026 21:50:58 +0000
From:      Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav <des@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 77e894cb09af - main - audit: Replace TAILQ with STAILQ
Message-ID:  <6a2344c2.1a931.6e903b99@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by des:

URL: https://cgit.FreeBSD.org/src/commit/?id=77e894cb09affe828f4bc81b8e4751a7e22860de

commit 77e894cb09affe828f4bc81b8e4751a7e22860de
Author:     Dag-Erling Smørgrav <des@FreeBSD.org>
AuthorDate: 2026-06-05 21:50:46 +0000
Commit:     Dag-Erling Smørgrav <des@FreeBSD.org>
CommitDate: 2026-06-05 21:50:46 +0000

    audit: Replace TAILQ with STAILQ
    
    This reduces the size of a trigger entry from 24 bytes to 16 (or from
    12 bytes to 8 on 32-bit) with no additional complexity.
    
    MFC after:      1 week
    Sponsored by:   Klara, Inc.
    Reviewed by:    kevans, emaste
    Differential Revision:  https://reviews.freebsd.org/D57464
---
 sys/security/audit/audit_trigger.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/sys/security/audit/audit_trigger.c b/sys/security/audit/audit_trigger.c
index e2520292cc5d..b7ed68f73363 100644
--- a/sys/security/audit/audit_trigger.c
+++ b/sys/security/audit/audit_trigger.c
@@ -50,13 +50,13 @@
  */
 struct trigger_info {
 	unsigned int			trigger;
-	TAILQ_ENTRY(trigger_info)	list;
+	STAILQ_ENTRY(trigger_info)	list;
 };
 
 static MALLOC_DEFINE(M_AUDITTRIGGER, "audit_trigger", "Audit trigger events");
 static struct cdev *audit_dev;
 static int audit_isopen = 0;
-static TAILQ_HEAD(, trigger_info) trigger_list;
+static STAILQ_HEAD(, trigger_info) trigger_list;
 static struct mtx audit_trigger_mtx;
 static struct selinfo audit_trigger_rsel;
 
@@ -85,9 +85,9 @@ audit_close(struct cdev *dev, int fflag, int devtype, struct thread *td)
 	/* Flush the queue of pending trigger events. */
 	mtx_lock(&audit_trigger_mtx);
 	audit_isopen = 0;
-	while (!TAILQ_EMPTY(&trigger_list)) {
-		ti = TAILQ_FIRST(&trigger_list);
-		TAILQ_REMOVE(&trigger_list, ti, list);
+	while (!STAILQ_EMPTY(&trigger_list)) {
+		ti = STAILQ_FIRST(&trigger_list);
+		STAILQ_REMOVE_HEAD(&trigger_list, list);
 		free(ti, M_AUDITTRIGGER);
 	}
 	mtx_unlock(&audit_trigger_mtx);
@@ -102,15 +102,15 @@ audit_read(struct cdev *dev, struct uio *uio, int ioflag)
 	struct trigger_info *ti = NULL;
 
 	mtx_lock(&audit_trigger_mtx);
-	while (TAILQ_EMPTY(&trigger_list)) {
+	while (STAILQ_EMPTY(&trigger_list)) {
 		error = msleep(&trigger_list, &audit_trigger_mtx,
 		    PSOCK | PCATCH, "auditd", 0);
 		if (error)
 			break;
 	}
 	if (!error) {
-		ti = TAILQ_FIRST(&trigger_list);
-		TAILQ_REMOVE(&trigger_list, ti, list);
+		ti = STAILQ_FIRST(&trigger_list);
+		STAILQ_REMOVE_HEAD(&trigger_list, list);
 	}
 	mtx_unlock(&audit_trigger_mtx);
 	if (!error) {
@@ -135,7 +135,7 @@ audit_poll(struct cdev *dev, int events, struct thread *td)
 
 	if (events & (POLLIN | POLLRDNORM)) {
 		mtx_lock(&audit_trigger_mtx);
-		if (!TAILQ_EMPTY(&trigger_list))
+		if (!STAILQ_EMPTY(&trigger_list))
 			revents = events & (POLLIN | POLLRDNORM);
 		else
 			selrecord(td, &audit_trigger_rsel);
@@ -158,7 +158,7 @@ audit_send_trigger(unsigned int trigger)
 		return (ENODEV);
 	}
 	ti->trigger = trigger;
-	TAILQ_INSERT_TAIL(&trigger_list, ti, list);
+	STAILQ_INSERT_TAIL(&trigger_list, ti, list);
 	selwakeup(&audit_trigger_rsel);
 	wakeup(&trigger_list);
 	mtx_unlock(&audit_trigger_mtx);
@@ -179,7 +179,7 @@ void
 audit_trigger_init(void)
 {
 
-	TAILQ_INIT(&trigger_list);
+	STAILQ_INIT(&trigger_list);
 	mtx_init(&audit_trigger_mtx, "audit_trigger_mtx", NULL, MTX_DEF);
 }
 


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a2344c2.1a931.6e903b99>