[v2,7/9] selinux: avoid implicit conversions in selinuxfs code

Message ID 20230728155501.39632-6-cgzones@googlemail.com
State New
Headers
Series [v2,1/9] selinux: avoid implicit conversions in avtab code |

Commit Message

Christian Göttsche July 28, 2023, 3:54 p.m. UTC
  Use umode_t as parameter type for sel_make_inode(), which assigns the
value to the member i_mode of struct inode.

Use identical type for loop iterator.

Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
---
v2: avoid declarations in init-clauses of for loops
---
 security/selinux/selinuxfs.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)
  

Comments

Paul Moore Aug. 4, 2023, 2:20 a.m. UTC | #1
On Jul 28, 2023 =?UTF-8?q?Christian=20G=C3=B6ttsche?= <cgzones@googlemail.com> wrote:
> 
> Use umode_t as parameter type for sel_make_inode(), which assigns the
> value to the member i_mode of struct inode.
> 
> Use identical type for loop iterator.
> 
> Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
> ---
> v2: avoid declarations in init-clauses of for loops
> ---
>  security/selinux/selinuxfs.c | 15 +++++++--------
>  1 file changed, 7 insertions(+), 8 deletions(-)
> 
> diff --git a/security/selinux/selinuxfs.c b/security/selinux/selinuxfs.c
> index b969e87fd870..7d7931d1758e 100644
> --- a/security/selinux/selinuxfs.c
> +++ b/security/selinux/selinuxfs.c

...

> @@ -1623,7 +1622,7 @@ static int sel_make_avc_files(struct dentry *dir)
>  #endif
>  	};
>  
> -	for (i = 0; i < ARRAY_SIZE(files); i++) {
> +	for (u32 i = 0; i < ARRAY_SIZE(files); i++) {

No initializers in the for-loop ;)

Also, how did you decide 'i' should be a u32?

>  		struct inode *inode;
>  		struct dentry *dentry;
>  
> @@ -1649,7 +1648,7 @@ static int sel_make_ss_files(struct dentry *dir)
>  {
>  	struct super_block *sb = dir->d_sb;
>  	struct selinux_fs_info *fsi = sb->s_fs_info;
> -	int i;
> +	u32 i;

Same as above, why u32?

>  	static const struct tree_descr files[] = {
>  		{ "sidtab_hash_stats", &sel_sidtab_hash_stats_ops, S_IRUGO },
>  	};
> @@ -1700,7 +1699,7 @@ static const struct file_operations sel_initcon_ops = {
>  
>  static int sel_make_initcon_files(struct dentry *dir)
>  {
> -	int i;
> +	u32 i;

Again, why u32?

>  	for (i = 1; i <= SECINITSID_NUM; i++) {
>  		struct inode *inode;
> -- 
> 2.40.1

--
paul-moore.com
  

Patch

diff --git a/security/selinux/selinuxfs.c b/security/selinux/selinuxfs.c
index b969e87fd870..7d7931d1758e 100644
--- a/security/selinux/selinuxfs.c
+++ b/security/selinux/selinuxfs.c
@@ -97,7 +97,7 @@  static int selinux_fs_info_create(struct super_block *sb)
 static void selinux_fs_info_free(struct super_block *sb)
 {
 	struct selinux_fs_info *fsi = sb->s_fs_info;
-	int i;
+	unsigned int i;
 
 	if (fsi) {
 		for (i = 0; i < fsi->bool_num; i++)
@@ -1075,8 +1075,8 @@  static ssize_t sel_write_user(struct file *file, char *buf, size_t size)
 	u32 sid, *sids = NULL;
 	ssize_t length;
 	char *newcon;
-	int i, rc;
-	u32 len, nsids;
+	int rc;
+	u32 i, len, nsids;
 
 	length = avc_has_perm(current_sid(), SECINITSID_SECURITY,
 			      SECCLASS_SECURITY, SECURITY__COMPUTE_USER,
@@ -1192,7 +1192,7 @@  static ssize_t sel_write_member(struct file *file, char *buf, size_t size)
 	return length;
 }
 
-static struct inode *sel_make_inode(struct super_block *sb, int mode)
+static struct inode *sel_make_inode(struct super_block *sb, umode_t mode)
 {
 	struct inode *ret = new_inode(sb);
 
@@ -1613,7 +1613,6 @@  static int sel_make_avc_files(struct dentry *dir)
 {
 	struct super_block *sb = dir->d_sb;
 	struct selinux_fs_info *fsi = sb->s_fs_info;
-	int i;
 	static const struct tree_descr files[] = {
 		{ "cache_threshold",
 		  &sel_avc_cache_threshold_ops, S_IRUGO|S_IWUSR },
@@ -1623,7 +1622,7 @@  static int sel_make_avc_files(struct dentry *dir)
 #endif
 	};
 
-	for (i = 0; i < ARRAY_SIZE(files); i++) {
+	for (u32 i = 0; i < ARRAY_SIZE(files); i++) {
 		struct inode *inode;
 		struct dentry *dentry;
 
@@ -1649,7 +1648,7 @@  static int sel_make_ss_files(struct dentry *dir)
 {
 	struct super_block *sb = dir->d_sb;
 	struct selinux_fs_info *fsi = sb->s_fs_info;
-	int i;
+	u32 i;
 	static const struct tree_descr files[] = {
 		{ "sidtab_hash_stats", &sel_sidtab_hash_stats_ops, S_IRUGO },
 	};
@@ -1700,7 +1699,7 @@  static const struct file_operations sel_initcon_ops = {
 
 static int sel_make_initcon_files(struct dentry *dir)
 {
-	int i;
+	u32 i;
 
 	for (i = 1; i <= SECINITSID_NUM; i++) {
 		struct inode *inode;