diff mbox series

lsm: cleanup lsm_hooks.h

Message ID 20240729215702.318099-2-paul@paul-moore.com (mailing list archive)
State Accepted
Delegated to: Paul Moore
Headers show
Series lsm: cleanup lsm_hooks.h | expand

Commit Message

Paul Moore July 29, 2024, 9:57 p.m. UTC
Some cleanup and style corrections for lsm_hooks.h.

 * Drop the lsm_inode_alloc() extern declaration, it is not needed.
 * Relocate lsm_get_xattr_slot() and extern variables in the file to
   improve grouping of related objects.
 * Don't use tabs to needlessly align structure fields.

Signed-off-by: Paul Moore <paul@paul-moore.com>
---
 include/linux/lsm_hooks.h | 82 +++++++++++++++++++--------------------
 security/security.c       |  2 +-
 2 files changed, 41 insertions(+), 43 deletions(-)

Comments

Casey Schaufler July 29, 2024, 10:09 p.m. UTC | #1
On 7/29/2024 2:57 PM, Paul Moore wrote:
> Some cleanup and style corrections for lsm_hooks.h.
>
>  * Drop the lsm_inode_alloc() extern declaration, it is not needed.
>  * Relocate lsm_get_xattr_slot() and extern variables in the file to
>    improve grouping of related objects.
>  * Don't use tabs to needlessly align structure fields.
>
> Signed-off-by: Paul Moore <paul@paul-moore.com>

Sense of aesthetics aside,

Reviewed-by: Casey Schaufler <casey@schaufler-ca.com>

> ---
>  include/linux/lsm_hooks.h | 82 +++++++++++++++++++--------------------
>  security/security.c       |  2 +-
>  2 files changed, 41 insertions(+), 43 deletions(-)
>
> diff --git a/include/linux/lsm_hooks.h b/include/linux/lsm_hooks.h
> index 845457f0eeb7..f0dd453b39d5 100644
> --- a/include/linux/lsm_hooks.h
> +++ b/include/linux/lsm_hooks.h
> @@ -79,8 +79,8 @@ struct lsm_static_calls_table {
>   * Contains the information that identifies the LSM.
>   */
>  struct lsm_id {
> -	const char	*name;
> -	u64		id;
> +	const char *name;
> +	u64 id;
>  };
>  
>  /*
> @@ -93,48 +93,30 @@ struct lsm_id {
>   * @lsm: The name of the lsm that owns this hook.
>   */
>  struct security_hook_list {
> -	struct lsm_static_call	*scalls;
> -	union security_list_options	hook;
> -	const struct lsm_id		*lsmid;
> +	struct lsm_static_call *scalls;
> +	union security_list_options hook;
> +	const struct lsm_id *lsmid;
>  } __randomize_layout;
>  
>  /*
>   * Security blob size or offset data.
>   */
>  struct lsm_blob_sizes {
> -	int	lbs_cred;
> -	int	lbs_file;
> -	int	lbs_ib;
> -	int	lbs_inode;
> -	int	lbs_sock;
> -	int	lbs_superblock;
> -	int	lbs_ipc;
> -	int	lbs_key;
> -	int	lbs_msg_msg;
> -	int	lbs_perf_event;
> -	int	lbs_task;
> -	int	lbs_xattr_count; /* number of xattr slots in new_xattrs array */
> -	int	lbs_tun_dev;
> +	int lbs_cred;
> +	int lbs_file;
> +	int lbs_ib;
> +	int lbs_inode;
> +	int lbs_sock;
> +	int lbs_superblock;
> +	int lbs_ipc;
> +	int lbs_key;
> +	int lbs_msg_msg;
> +	int lbs_perf_event;
> +	int lbs_task;
> +	int lbs_xattr_count; /* number of xattr slots in new_xattrs array */
> +	int lbs_tun_dev;
>  };
>  
> -/**
> - * lsm_get_xattr_slot - Return the next available slot and increment the index
> - * @xattrs: array storing LSM-provided xattrs
> - * @xattr_count: number of already stored xattrs (updated)
> - *
> - * Retrieve the first available slot in the @xattrs array to fill with an xattr,
> - * and increment @xattr_count.
> - *
> - * Return: The slot to fill in @xattrs if non-NULL, NULL otherwise.
> - */
> -static inline struct xattr *lsm_get_xattr_slot(struct xattr *xattrs,
> -					       int *xattr_count)
> -{
> -	if (unlikely(!xattrs))
> -		return NULL;
> -	return &xattrs[(*xattr_count)++];
> -}
> -
>  /*
>   * LSM_RET_VOID is used as the default value in LSM_HOOK definitions for void
>   * LSM hooks (in include/linux/lsm_hook_defs.h).
> @@ -153,8 +135,6 @@ static inline struct xattr *lsm_get_xattr_slot(struct xattr *xattrs,
>  		.hook = { .NAME = HOOK }		\
>  	}
>  
> -extern char *lsm_names;
> -
>  extern void security_add_hooks(struct security_hook_list *hooks, int count,
>  			       const struct lsm_id *lsmid);
>  
> @@ -176,9 +156,6 @@ struct lsm_info {
>  	struct lsm_blob_sizes *blobs; /* Optional: for blob sharing. */
>  };
>  
> -extern struct lsm_info __start_lsm_info[], __end_lsm_info[];
> -extern struct lsm_info __start_early_lsm_info[], __end_early_lsm_info[];
> -
>  #define DEFINE_LSM(lsm)							\
>  	static struct lsm_info __lsm_##lsm				\
>  		__used __section(".lsm_info.init")			\
> @@ -189,7 +166,28 @@ extern struct lsm_info __start_early_lsm_info[], __end_early_lsm_info[];
>  		__used __section(".early_lsm_info.init")		\
>  		__aligned(sizeof(unsigned long))
>  
> -extern int lsm_inode_alloc(struct inode *inode);
> +/* DO NOT tamper with these variables outside of the LSM framework */
> +extern char *lsm_names;
>  extern struct lsm_static_calls_table static_calls_table __ro_after_init;
> +extern struct lsm_info __start_lsm_info[], __end_lsm_info[];
> +extern struct lsm_info __start_early_lsm_info[], __end_early_lsm_info[];
> +
> +/**
> + * lsm_get_xattr_slot - Return the next available slot and increment the index
> + * @xattrs: array storing LSM-provided xattrs
> + * @xattr_count: number of already stored xattrs (updated)
> + *
> + * Retrieve the first available slot in the @xattrs array to fill with an xattr,
> + * and increment @xattr_count.
> + *
> + * Return: The slot to fill in @xattrs if non-NULL, NULL otherwise.
> + */
> +static inline struct xattr *lsm_get_xattr_slot(struct xattr *xattrs,
> +					       int *xattr_count)
> +{
> +	if (unlikely(!xattrs))
> +		return NULL;
> +	return &xattrs[(*xattr_count)++];
> +}
>  
>  #endif /* ! __LINUX_LSM_HOOKS_H */
> diff --git a/security/security.c b/security/security.c
> index 780b84f5d09c..7ac6765f9260 100644
> --- a/security/security.c
> +++ b/security/security.c
> @@ -764,7 +764,7 @@ static int lsm_file_alloc(struct file *file)
>   *
>   * Returns 0, or -ENOMEM if memory can't be allocated.
>   */
> -int lsm_inode_alloc(struct inode *inode)
> +static int lsm_inode_alloc(struct inode *inode)
>  {
>  	if (!lsm_inode_cache) {
>  		inode->i_security = NULL;
Paul Moore Aug. 12, 2024, 7:34 p.m. UTC | #2
On Mon, Jul 29, 2024 at 5:57 PM Paul Moore <paul@paul-moore.com> wrote:
>
> Some cleanup and style corrections for lsm_hooks.h.
>
>  * Drop the lsm_inode_alloc() extern declaration, it is not needed.
>  * Relocate lsm_get_xattr_slot() and extern variables in the file to
>    improve grouping of related objects.
>  * Don't use tabs to needlessly align structure fields.
>
> Signed-off-by: Paul Moore <paul@paul-moore.com>
> ---
>  include/linux/lsm_hooks.h | 82 +++++++++++++++++++--------------------
>  security/security.c       |  2 +-
>  2 files changed, 41 insertions(+), 43 deletions(-)

Merged into lsm/dev.
diff mbox series

Patch

diff --git a/include/linux/lsm_hooks.h b/include/linux/lsm_hooks.h
index 845457f0eeb7..f0dd453b39d5 100644
--- a/include/linux/lsm_hooks.h
+++ b/include/linux/lsm_hooks.h
@@ -79,8 +79,8 @@  struct lsm_static_calls_table {
  * Contains the information that identifies the LSM.
  */
 struct lsm_id {
-	const char	*name;
-	u64		id;
+	const char *name;
+	u64 id;
 };
 
 /*
@@ -93,48 +93,30 @@  struct lsm_id {
  * @lsm: The name of the lsm that owns this hook.
  */
 struct security_hook_list {
-	struct lsm_static_call	*scalls;
-	union security_list_options	hook;
-	const struct lsm_id		*lsmid;
+	struct lsm_static_call *scalls;
+	union security_list_options hook;
+	const struct lsm_id *lsmid;
 } __randomize_layout;
 
 /*
  * Security blob size or offset data.
  */
 struct lsm_blob_sizes {
-	int	lbs_cred;
-	int	lbs_file;
-	int	lbs_ib;
-	int	lbs_inode;
-	int	lbs_sock;
-	int	lbs_superblock;
-	int	lbs_ipc;
-	int	lbs_key;
-	int	lbs_msg_msg;
-	int	lbs_perf_event;
-	int	lbs_task;
-	int	lbs_xattr_count; /* number of xattr slots in new_xattrs array */
-	int	lbs_tun_dev;
+	int lbs_cred;
+	int lbs_file;
+	int lbs_ib;
+	int lbs_inode;
+	int lbs_sock;
+	int lbs_superblock;
+	int lbs_ipc;
+	int lbs_key;
+	int lbs_msg_msg;
+	int lbs_perf_event;
+	int lbs_task;
+	int lbs_xattr_count; /* number of xattr slots in new_xattrs array */
+	int lbs_tun_dev;
 };
 
-/**
- * lsm_get_xattr_slot - Return the next available slot and increment the index
- * @xattrs: array storing LSM-provided xattrs
- * @xattr_count: number of already stored xattrs (updated)
- *
- * Retrieve the first available slot in the @xattrs array to fill with an xattr,
- * and increment @xattr_count.
- *
- * Return: The slot to fill in @xattrs if non-NULL, NULL otherwise.
- */
-static inline struct xattr *lsm_get_xattr_slot(struct xattr *xattrs,
-					       int *xattr_count)
-{
-	if (unlikely(!xattrs))
-		return NULL;
-	return &xattrs[(*xattr_count)++];
-}
-
 /*
  * LSM_RET_VOID is used as the default value in LSM_HOOK definitions for void
  * LSM hooks (in include/linux/lsm_hook_defs.h).
@@ -153,8 +135,6 @@  static inline struct xattr *lsm_get_xattr_slot(struct xattr *xattrs,
 		.hook = { .NAME = HOOK }		\
 	}
 
-extern char *lsm_names;
-
 extern void security_add_hooks(struct security_hook_list *hooks, int count,
 			       const struct lsm_id *lsmid);
 
@@ -176,9 +156,6 @@  struct lsm_info {
 	struct lsm_blob_sizes *blobs; /* Optional: for blob sharing. */
 };
 
-extern struct lsm_info __start_lsm_info[], __end_lsm_info[];
-extern struct lsm_info __start_early_lsm_info[], __end_early_lsm_info[];
-
 #define DEFINE_LSM(lsm)							\
 	static struct lsm_info __lsm_##lsm				\
 		__used __section(".lsm_info.init")			\
@@ -189,7 +166,28 @@  extern struct lsm_info __start_early_lsm_info[], __end_early_lsm_info[];
 		__used __section(".early_lsm_info.init")		\
 		__aligned(sizeof(unsigned long))
 
-extern int lsm_inode_alloc(struct inode *inode);
+/* DO NOT tamper with these variables outside of the LSM framework */
+extern char *lsm_names;
 extern struct lsm_static_calls_table static_calls_table __ro_after_init;
+extern struct lsm_info __start_lsm_info[], __end_lsm_info[];
+extern struct lsm_info __start_early_lsm_info[], __end_early_lsm_info[];
+
+/**
+ * lsm_get_xattr_slot - Return the next available slot and increment the index
+ * @xattrs: array storing LSM-provided xattrs
+ * @xattr_count: number of already stored xattrs (updated)
+ *
+ * Retrieve the first available slot in the @xattrs array to fill with an xattr,
+ * and increment @xattr_count.
+ *
+ * Return: The slot to fill in @xattrs if non-NULL, NULL otherwise.
+ */
+static inline struct xattr *lsm_get_xattr_slot(struct xattr *xattrs,
+					       int *xattr_count)
+{
+	if (unlikely(!xattrs))
+		return NULL;
+	return &xattrs[(*xattr_count)++];
+}
 
 #endif /* ! __LINUX_LSM_HOOKS_H */
diff --git a/security/security.c b/security/security.c
index 780b84f5d09c..7ac6765f9260 100644
--- a/security/security.c
+++ b/security/security.c
@@ -764,7 +764,7 @@  static int lsm_file_alloc(struct file *file)
  *
  * Returns 0, or -ENOMEM if memory can't be allocated.
  */
-int lsm_inode_alloc(struct inode *inode)
+static int lsm_inode_alloc(struct inode *inode)
 {
 	if (!lsm_inode_cache) {
 		inode->i_security = NULL;