git: e6dd0e2e8d4f - main - pf: assert that sizeof(struct pf_state) <= 312

Mateusz Guzik mjg at FreeBSD.org
Mon Jun 28 15:49:27 UTC 2021


The branch main has been updated by mjg:

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

commit e6dd0e2e8d4f59275fb576a9ccb9d356d36457bb
Author:     Mateusz Guzik <mjg at FreeBSD.org>
AuthorDate: 2021-06-28 12:49:40 +0000
Commit:     Mateusz Guzik <mjg at 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
 
 /*


More information about the dev-commits-src-all mailing list