aboutsummaryrefslogtreecommitdiffstats
path: root/security
diff options
context:
space:
mode:
authorEric Paris <eparis@redhat.com>2012-04-04 13:46:46 -0400
committerEric Paris <eparis@redhat.com>2012-04-09 12:22:57 -0400
commit92ae9e82d9a2c4b9b388d6a9e7a4b2ccb0b4452f (patch)
treec9fb517b25ff64f1a07abf62fa90512a48949fc4 /security
parentbb7081ab93582fd2557160549854200a5fc7b42a (diff)
SELinux: remove needless sel_div function
I'm not really sure what the idea behind the sel_div function is, but it's useless. Since a and b are both unsigned, it's impossible for a % b < 0. That means that part of the function never does anything. Thus it's just a normal /. Just do that instead. I don't even understand what that operation was supposed to mean in the signed case however.... If it was signed: sel_div(-2, 4) == ((-2 / 4) - ((-2 % 4) < 0)) ((0) - ((-2) < 0)) ((0) - (1)) (-1) What actually happens: sel_div(-2, 4) == ((18446744073709551614 / 4) - ((18446744073709551614 % 4) < 0)) ((4611686018427387903) - ((2 < 0)) (4611686018427387903 - 0) ((unsigned int)4611686018427387903) (4294967295) Neither makes a whole ton of sense to me. So I'm getting rid of the function entirely. Signed-off-by: Eric Paris <eparis@redhat.com>
Diffstat (limited to 'security')
-rw-r--r--security/selinux/selinuxfs.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/security/selinux/selinuxfs.c b/security/selinux/selinuxfs.c
index f4b5a0baaec4..640feaa06c08 100644
--- a/security/selinux/selinuxfs.c
+++ b/security/selinux/selinuxfs.c
@@ -1533,11 +1533,6 @@ static int sel_make_initcon_files(struct dentry *dir)
1533 return 0; 1533 return 0;
1534} 1534}
1535 1535
1536static inline unsigned int sel_div(unsigned long a, unsigned long b)
1537{
1538 return a / b - (a % b < 0);
1539}
1540
1541static inline unsigned long sel_class_to_ino(u16 class) 1536static inline unsigned long sel_class_to_ino(u16 class)
1542{ 1537{
1543 return (class * (SEL_VEC_MAX + 1)) | SEL_CLASS_INO_OFFSET; 1538 return (class * (SEL_VEC_MAX + 1)) | SEL_CLASS_INO_OFFSET;
@@ -1545,7 +1540,7 @@ static inline unsigned long sel_class_to_ino(u16 class)
1545 1540
1546static inline u16 sel_ino_to_class(unsigned long ino) 1541static inline u16 sel_ino_to_class(unsigned long ino)
1547{ 1542{
1548 return sel_div(ino & SEL_INO_MASK, SEL_VEC_MAX + 1); 1543 return (ino & SEL_INO_MASK) / (SEL_VEC_MAX + 1);
1549} 1544}
1550 1545
1551static inline unsigned long sel_perm_to_ino(u16 class, u32 perm) 1546static inline unsigned long sel_perm_to_ino(u16 class, u32 perm)