diff options
| author | Paul Moore <paul@paul-moore.com> | 2026-09-15 16:29:19 -0400 |
|---|---|---|
| committer | Paul Moore <paul@paul-moore.com> | 2026-09-15 23:31:29 -0400 |
| commit | b4e7b9a70de3cb6261be55d5771fe209f7394eeb (patch) | |
| tree | 8ceb43e7c2c499beca98351ffb79e4a69cb180a5 /scripts/Makefile.thinlto | |
| parent | 8be71e1ba093cb3aee90c7cf6b403d1fd71a77e9 (diff) | |
| download | linux-b4e7b9a70de3cb6261be55d5771fe209f7394eeb.tar.gz linux-b4e7b9a70de3cb6261be55d5771fe209f7394eeb.zip | |
selinux: avoid 64-bit division of inode numbers
As reported by Arnd, a previous change to convert the selinuxfs inode
numbers to u64 to match the rest of the kernel caused a problem on 32-bit
systems:
arm-linux-gnueabi-ld: .../selinuxfs.o: in function `sel_read_class':
selinuxfs.c:(.text+0xdcc): undefined reference to `__aeabi_uldivmod'
arm-linux-gnueabi-ld: .../selinuxfs.o: in function `sel_read_perm':
selinuxfs.c:(.text+0xed0): undefined reference to `__aeabi_uldivmod'
Since we don't currently use more than 24-bits in the selinuxfs inodes
(see SEL_INO_MASK), fix this by applying the SEL_INO_MASK to the
selinuxfs inode numbers and casting to a u32 before performing any
division operations.
Fixes: fc68b6a45f16 ("selinux: convert selinuxfs inode numbers from unsigned long to u64")
Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
