git: f75b6fce91b1 - stable/13 - pf: assert that sizeof(struct pf_state) <= 312

Mateusz Guzik mjg at FreeBSD.org
Mon Jul 5 11:33:50 UTC 2021


The branch stable/13 has been updated by mjg:

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

commit f75b6fce91b12df3494a13075a809a1386bfd9db
Author:     Mateusz Guzik <mjg at FreeBSD.org>
AuthorDate: 2021-06-28 12:49:40 +0000
Commit:     Mateusz Guzik <mjg at FreeBSD.org>
CommitDate: 2021-07-05 11:32:11 +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")
    
    (cherry picked from commit e6dd0e2e8d4f59275fb576a9ccb9d356d36457bb)
---
 sys/net/pfvar.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h
index 9e6dad5ca2ac..e0eb4e55a46f 100644
--- a/sys/net/pfvar.h
+++ b/sys/net/pfvar.h
@@ -548,6 +548,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