New: syscall fanotify_mark overflow.
https://bugzilla.kernel.org/show_bug.cgi?id=94791
Bug ID: 94791
Summary: syscall fanotify_mark overflow.
Product: File System
Version: 2.5
Kernel Version: 4.x
Hardware: All
OS: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: ext4
Assignee: [email protected]
Reporter: [email protected]
Regression: No
file:
fanotify_usr.c:
syscall function fanotify_mark,below code will overflow on 32-bit system.
/* we only use the lower 32 bits as of right now. */ if ( mask & ((__u64)0xffffffff << 32))
return -EINVAL;
include/linux/syscalls.h:
asmlinkage long sys_fanotify_mark(int fanotify_fd, unsigned int flags, u64
mask, int fd, const char __usr *pathname);
u64 mask ,should convert to unsigned int mask???
Signature · 2 lines
You are receiving this mail because: You are watching the assignee of the bug.
[Bug 94791] syscall fanotify_mark overflow.
https://bugzilla.kernel.org/show_bug.cgi?id=94791
Tim Pickersgill <[email protected]> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |[email protected]
--- Comment #1 from Tim Pickersgill <[email protected]> --- A __u64 value is an unsigned long long, a 64-bit integer, regardless of system bitness. Not sure how/why this would overflow on a 32-bit system. What symptoms are you seeing?
We're using fanotify_mark() on 32-bit systems without seeing any issue here.
Signature · 2 lines
You are receiving this mail because: You are watching the assignee of the bug.
[Bug 94791] syscall fanotify_mark overflow.
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=94791
--- Comment #2 from Tim Pickersgill <[email protected]> --- Not an ext4 issue, I'd suggest that this be reclassified as "Other" and assigned to "[email protected]" or Eric Paris ([email protected])
Signature · 2 lines
You are receiving this mail because: You are watching the assignee of the bug.
[Bug 94791] syscall fanotify_mark overflow.
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=94791
--- Comment #3 from Tim Pickersgill <[email protected]> --- Tinkering with Eric Paris's fanotify-example
(http://git.infradead.org/users/eparis/fanotify-example.git), to forcibly set higher bits in the mask passed to fanotify_mark(), the call correctly returns -EINVAL on both 32- and 64-bit kernels.
Suggest this bug should be rejected unless a failing example can be provided.
Signature · 2 lines
You are receiving this mail because: You are watching the assignee of the bug.