KSPP / linux

Linux kernel source tree (Kernel Self Protection Project)
https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project
Other
83 stars 5 forks source link

UBSAN: signed-integer-overflow in ../fs/ioctl.c:285:14 #360

Closed JustinStitt closed 1 month ago

JustinStitt commented 6 months ago
UBSAN: signed-integer-overflow in ../fs/ioctl.c:285:14
9223372036854775807 + 65535 cannot be represented in type 'long long'
CPU: 5 PID: 6430 Comm: syz-executor.3 Not tainted 6.8.0-rc2-00039-g14de58dbe653-dirty #11
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x93/0xd0 lib/dump_stack.c:106
EXT4-fs: Quota format mount options ignored when QUOTA feature is enabled
EXT4-fs (loop7): mounted filesystem 00000000-0000-0000-0000-000000000000 r/w without journal. Quota mode: writeback.
loop5: detected capacity change from 0 to 32768
 ubsan_epilogue lib/ubsan.c:217 [inline]
 handle_overflow+0x171/0x1b0 lib/ubsan.c:248
 ioctl_preallocate+0x17e/0x180
 __do_sys_ioctl fs/ioctl.c:869 [inline]
 __se_sys_ioctl+0x76/0x140 fs/ioctl.c:857
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xd4/0x1b0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x6f/0x77
RIP: 0033:0x7f5dff220539
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 f1 14 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f5dfe5b80c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007f5dff354f80 RCX: 00007f5dff220539
RDX: 0000000020000000 RSI: 0000000040305828 RDI: 0000000000000003
RBP: 00007f5dff27f496 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000016 R14: 00007f5dff354f80 R15: 00007ffd160f73b8
 </TASK>
---[ end trace ]---
JustinStitt commented 1 month ago

closing this (and other overflow issues) because they're just polluting the issue tracker and we have a plan to resolve many of these with toolchain features.