genetlink: mark families as __ro_after_init

Now genl_register_family() is the only thing (other than the
users themselves, perhaps, but I didn't find any doing that)
writing to the family struct.

In all families that I found, genl_register_family() is only
called from __init functions (some indirectly, in which case
I've add __init annotations to clarifly things), so all can
actually be marked __ro_after_init.

This protects the data structure from accidental corruption.

Signed-off-by: Johannes Berg <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
Johannes Berg 2016-10-24 14:40:05 +02:00 • committed by David S. Miller
commit 56989f6d85
35 changed files with 51 additions and 51 deletions

View file

@ -349,7 +349,7 @@ static const struct genl_ops netlbl_calipso_ops[] = {
},
};
static struct genl_family netlbl_calipso_gnl_family = {
static struct genl_family netlbl_calipso_gnl_family __ro_after_init = {
.hdrsize = 0,
.name = NETLBL_NLTYPE_CALIPSO_NAME,
.version = NETLBL_PROTO_VERSION,

View file

@ -760,7 +760,7 @@ static const struct genl_ops netlbl_cipsov4_ops[] = {
},
};
static struct genl_family netlbl_cipsov4_gnl_family = {
static struct genl_family netlbl_cipsov4_gnl_family __ro_after_init = {
.hdrsize = 0,
.name = NETLBL_NLTYPE_CIPSOV4_NAME,
.version = NETLBL_PROTO_VERSION,

View file

@ -828,7 +828,7 @@ static const struct genl_ops netlbl_mgmt_genl_ops[] = {
},
};
static struct genl_family netlbl_mgmt_gnl_family = {
static struct genl_family netlbl_mgmt_gnl_family __ro_after_init = {
.hdrsize = 0,
.name = NETLBL_NLTYPE_MGMT_NAME,
.version = NETLBL_PROTO_VERSION,

View file

@ -1372,7 +1372,7 @@ static const struct genl_ops netlbl_unlabel_genl_ops[] = {
},
};
static struct genl_family netlbl_unlabel_gnl_family = {
static struct genl_family netlbl_unlabel_gnl_family __ro_after_init = {
.hdrsize = 0,
.name = NETLBL_NLTYPE_UNLABELED_NAME,
.version = NETLBL_PROTO_VERSION,