Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Jun 2021 15:49:27 GMT
From:      Mateusz Guzik <mjg@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: e6dd0e2e8d4f - main - pf: assert that sizeof(struct pf_state) <= 312
Message-ID:  <202106281549.15SFnRVX016105@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by mjg:

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

commit e6dd0e2e8d4f59275fb576a9ccb9d356d36457bb
Author:     Mateusz Guzik <mjg@FreeBSD.org>
AuthorDate: 2021-06-28 12:49:40 +0000
Commit:     Mateusz Guzik <mjg@FreeBSD.org>
CommitDate: 2021-06-28 15:49:20 +0000

    pf: assert that sizeof(struct pf_state) <= 312
    
    To prevent accidentally going over a threshold which makes UMA fit only
    12 objects per page instead of 13.
    
    Reviewed by:    kp
    Sponsored by:   Rubicon Communications, LLC ("Netgate")
---
 sys/net/pfvar.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h
index 9578ec0a701f..9f0bf002b631 100644
--- a/sys/net/pfvar.h
+++ b/sys/net/pfvar.h
@@ -551,6 +551,11 @@ struct pf_state {
 	u_int8_t		 sync_updates;
 	u_int8_t		_tail[3];
 };
+
+/*
+ * Size <= fits 13 objects per page on LP64. Try to not grow the struct beyond that.
+ */
+_Static_assert(sizeof(struct pf_state) <= 312, "pf_state size crosses 312 bytes");
 #endif
 
 /*



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202106281549.15SFnRVX016105>