diff --git a/include/linux/lsm_hooks.h b/include/linux/lsm_hooks.h index 4deb1a4d2d1a..59085248809a 100644 --- a/include/linux/lsm_hooks.h +++ b/include/linux/lsm_hooks.h @@ -81,6 +81,7 @@ struct lsm_blob_sizes { int lbs_msg_msg; int lbs_task; int lbs_xattr_count; /* number of xattr slots in new_xattrs array */ + int lbs_mnt_opts; bool lbs_secmark; /* expressed desire for secmark use */ }; diff --git a/security/security.c b/security/security.c index e2804c6e2f72..53ee6975ff2c 100644 --- a/security/security.c +++ b/security/security.c @@ -233,6 +233,7 @@ static void __init lsm_set_blob_sizes(struct lsm_blob_sizes *needed) lsm_set_blob_size(&needed->lbs_task, &blob_sizes.lbs_task); lsm_set_blob_size(&needed->lbs_xattr_count, &blob_sizes.lbs_xattr_count); + lsm_set_blob_size(&needed->lbs_mnt_opts, &blob_sizes.lbs_mnt_opts); if (needed->lbs_secmark) { if (!blob_sizes.lbs_secmark) blob_sizes.lbs_secmark = true; @@ -454,6 +455,7 @@ static void __init ordered_lsm_init(void) init_debug("superblock blob size = %d\n", blob_sizes.lbs_superblock); init_debug("task blob size = %d\n", blob_sizes.lbs_task); init_debug("xattr slots = %d\n", blob_sizes.lbs_xattr_count); + init_debug("mnt_opts blob size = %d\n", blob_sizes.lbs_mnt_opts); /* * Create any kmem_caches needed for blobs diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index 334a6b79753a..4135e132b43d 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c @@ -7026,6 +7026,7 @@ struct lsm_blob_sizes selinux_blob_sizes __ro_after_init = { .lbs_sock = sizeof(struct sk_security_struct), .lbs_superblock = sizeof(struct superblock_security_struct), .lbs_xattr_count = SELINUX_INODE_INIT_XATTRS, + .lbs_mnt_opts = sizeof(struct selinux_mnt_opts), .lbs_secmark = true, }; diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c index 51bfb3a656a0..125dde872db5 100644 --- a/security/smack/smack_lsm.c +++ b/security/smack/smack_lsm.c @@ -5065,6 +5065,7 @@ struct lsm_blob_sizes smack_blob_sizes __ro_after_init = { .lbs_sock = sizeof(struct socket_smack), .lbs_superblock = sizeof(struct superblock_smack), .lbs_xattr_count = SMACK_INODE_INIT_XATTRS, + .lbs_mnt_opts = sizeof(struct smack_mnt_opts), .lbs_secmark = true, };