]> git.baikalelectronics.ru Git - kernel.git/commit
genetlink: reorg struct genl_family
authorJakub Kicinski <kuba@kernel.org>
Fri, 2 Oct 2020 21:49:52 +0000 (14:49 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 3 Oct 2020 02:11:11 +0000 (19:11 -0700)
commit6941b0ab7eda6cbcd25ae1bc8c231e2d3dde2f8b
tree4bf1efbc717d0aaee850322aeab00e608c013dd3
parent18acea5a63a233a6701453c0d558a869507d773c
genetlink: reorg struct genl_family

There are holes and oversized members in struct genl_family.

Before: /* size: 104, cachelines: 2, members: 16 */
After:  /* size:  88, cachelines: 2, members: 16 */

The command field in struct genlmsghdr is a u8, so no point
in the operation count being 32 bit. Also operation 0 is
usually undefined, so we only need 255 entries.

netnsok and parallel_ops are only ever initialized to true.

We can grow the fields as needed, compiler should warn us
if someone tries to assign larger constants.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Reviewed-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/genetlink.h