Josef Bacik
80745460b4
proc: use kvzalloc for our kernel buffer
...
Since
sysctl: pass kernel pointers to ->proc_handler
we have been pre-allocating a buffer to copy the data from the proc
handlers into, and then copying that to userspace. The problem is this
just blindly kzalloc()'s the buffer size passed in from the read, which in
the case of our 'cat' binary was 64kib. Order-4 allocations are not
awesome, and since we can potentially allocate up to our maximum order, so
use kvzalloc for these buffers.
[willy@infradead.org: changelog tweaks]
Link: https://lkml.kernel.org/r/6345270a2c1160b89dd5e6715461f388176899d1.1612972413.git.josef@toxicpanda.com
Fixes: 32927393dc1c ("sysctl: pass kernel pointers to ->proc_handler")
Change-Id: I03ad7285b4c57d2c53aff84e369ef5edbeef7679
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
CC: Matthew Wilcox <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Tashfin Shakeer Rhythm <tashfinshakeerrhythm@gmail.com>
2026-02-01 20:39:16 -08:00
..
9p
This is the 5.4.302 stable release
2025-12-03 14:36:44 +00:00
adfs
affs
affs: don't write overlarge OFS data block size fields
2025-04-10 14:29:42 +02:00
afs
This is the 5.4.291 stable release
2025-03-13 14:53:52 +00:00
autofs
autofs: fix memory leak of waitqueues in autofs_catatonic_mode
2023-09-23 11:00:02 +02:00
befs
bfs
btrfs
This is the 5.4.302 stable release
2025-12-03 14:36:44 +00:00
cachefiles
cachefiles: fix memory leak in cachefiles_add_cache()
2024-03-06 14:36:10 +00:00
ceph
This is the 5.4.302 stable release
2025-12-03 14:36:44 +00:00
cifs
This is the 5.4.299 stable release
2025-09-10 05:55:28 +00:00
coda
configfs
configfs: Do not override creating attribute file failure in populate_attrs()
2025-06-27 11:02:50 +01:00
cramfs
cramfs: Verify inode mode when loading from disk
2025-10-29 13:59:55 +01:00
crypto
debugfs
new helper: lookup_positive_unlocked()
2023-09-23 10:59:40 +02:00
devpts
dlm
dlm: check for defined force value in dlm_lockspace_release
2025-10-29 13:59:58 +01:00
ecryptfs
This is the 5.4.278 stable release
2024-06-18 14:18:49 +00:00
efivarfs
efivarfs: Fix slab-out-of-bounds in efivarfs_d_compare
2025-09-04 14:05:55 +02:00
efs
erofs
Merge tag 'ASB-2025-02-05_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina
2025-02-06 22:53:05 +02:00
exfat
Merge branch 'for-kernel-version-from-4.1.0' of https://github.com/namjaejeon/linux-exfat-oot into android13-5.4-lahaina
2024-04-16 00:03:08 +03:00
exportfs
ext2
This is the 5.4.257 stable release
2023-09-30 11:33:27 +00:00
ext4
BACKPORT: mm: remove the pgprot argument to __vmalloc
2026-01-14 17:48:09 -08:00
f2fs
Merge tag 'ASB-2025-10-06_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina
2025-10-08 15:17:54 +03:00
fat
fat: fix uninitialized variable
2024-11-08 16:20:47 +01:00
freevxfs
fscache
BACKPORT: sysctl: pass kernel pointers to ->proc_handler
2025-12-23 13:36:15 -08:00
fuse
Merge branch 'android11-5.4-lts' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina
2025-10-08 15:23:13 +03:00
gfs2
BACKPORT: mm: remove the pgprot argument to __vmalloc
2026-01-14 17:48:09 -08:00
hfs
This is the 5.4.301 stable release
2025-10-30 07:52:10 +00:00
hfsplus
This is the 5.4.301 stable release
2025-10-30 07:52:10 +00:00
hostfs
hpfs
fs/hpfs: Fix error code for new_inode() failure in mkdir/create/mknod/symlink
2025-12-03 12:45:14 +01:00
hugetlbfs
mm/hugetlb: fix folio is still mapped when deleted
2025-10-02 13:34:35 +02:00
incfs
iomap
This is the 5.4.270 stable release
2024-03-05 14:53:04 +00:00
isofs
isofs: Verify inode mode when loading from disk
2025-08-28 16:21:15 +02:00
jbd2
jbd2: ensure that all ongoing I/O complete before freeing blocks
2025-10-29 14:00:01 +01:00
jffs2
This is the 5.4.295 stable release
2025-06-30 08:05:33 +00:00
jfs
This is the 5.4.302 stable release
2025-12-03 14:36:44 +00:00
kernfs
UPSTREAM: kernfs: Add option to enable user xattrs
2026-01-14 18:13:12 -08:00
lockd
fs: lockd: avoid possible wrong NULL parameter
2023-09-23 10:59:48 +02:00
minix
minixfs: Verify inode mode when loading from disk
2025-10-29 13:59:55 +01:00
nfs
BACKPORT: mm: remove the pgprot argument to __vmalloc
2026-01-14 17:48:09 -08:00
nfs_common
nfsd
NFSD: Fix last write offset handling in layoutcommit
2025-10-29 14:00:01 +01:00
nilfs2
nilfs2: fix CFI failure when accessing /sys/fs/nilfs2/features/*
2025-10-02 13:34:31 +02:00
nls
Revert "fs/nls: make load_nls() take a const parameter"
2023-09-30 15:41:35 +00:00
notify
This is the 5.4.251 stable release
2023-08-03 10:56:28 +00:00
ntfs
BACKPORT: mm: remove the pgprot argument to __vmalloc
2026-01-14 17:48:09 -08:00
ocfs2
This is the 5.4.301 stable release
2025-10-30 07:52:10 +00:00
omfs
openpromfs
openpromfs: finish conversion to the new mount API
2024-06-16 13:28:32 +02:00
orangefs
This is the 5.4.302 stable release
2025-12-03 14:36:44 +00:00
overlayfs
Merge tag 'ASB-2025-09-05_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina
2025-09-12 18:48:05 +03:00
proc
proc: use kvzalloc for our kernel buffer
2026-02-01 20:39:16 -08:00
pstore
Merge tag 'ASB-2024-06-05_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina
2024-06-22 17:58:09 +03:00
qnx4
qnx6
quota
BACKPORT: sysctl: pass kernel pointers to ->proc_handler
2025-12-23 13:36:15 -08:00
ramfs
reiserfs
This is the 5.4.257 stable release
2023-09-30 11:33:27 +00:00
romfs
squashfs
This is the 5.4.301 stable release
2025-10-30 07:52:10 +00:00
sysfs
This is the 5.4.275 stable release
2024-05-15 16:00:38 +00:00
sysv
sysv: don't call sb_bread() with pointers_lock held
2024-04-13 12:51:38 +02:00
tracefs
This is the 5.4.257 stable release
2023-09-30 11:33:27 +00:00
ubifs
BACKPORT: mm: remove the pgprot argument to __vmalloc
2026-01-14 17:48:09 -08:00
udf
fs: udf: fix OOB read in lengthAllocDescs handling
2025-10-29 13:59:54 +01:00
ufs
unicode
Revert "unicode: Don't special case ignorable code points"
2024-12-14 19:44:55 +01:00
verity
This is the 5.4.257 stable release
2023-09-30 11:33:27 +00:00
xfs
BACKPORT: mm: remove the pgprot argument to __vmalloc
2026-01-14 17:48:09 -08:00
aio.c
BACKPORT: FROMLIST: Revert "mremap: don't allow MREMAP_DONTUNMAP on special_mappings and aio"
2025-05-18 08:08:42 +00:00
anon_inodes.c
UPSTREAM: fs: anon_inodes: rephrase to appropriate kernel-doc
2025-02-20 04:17:46 +02:00
attr.c
attr: block mode changes of symlinks
2023-09-23 11:00:06 +02:00
bad_inode.c
binfmt_aout.c
binfmt_elf.c
binfmt_elf_fdpic.c
fs: binfmt_elf_efpic: don't use missing interpreter's properties
2024-09-04 13:14:54 +02:00
binfmt_em86.c
binfmt_flat.c
binfmt_flat: Fix integer overflow bug on 32 bit systems
2025-03-13 12:43:07 +01:00
binfmt_misc.c
binfmt_misc: cleanup on filesystem umount
2024-09-04 13:14:53 +02:00
binfmt_script.c
block_dev.c
block: Don't invalidate pagecache for invalid falloc modes
2024-01-08 11:29:48 +01:00
buffer.c
Merge tag 'ASB-2025-10-06_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina
2025-10-08 15:17:54 +03:00
char_dev.c
compat.c
compat_binfmt_elf.c
compat_ioctl.c
lsm: new security_file_ioctl_compat() hook
2024-02-23 08:25:15 +01:00
coredump.c
Revert "coredump: hand a pidfd to the usermode coredump helper"
2025-06-05 07:57:32 +00:00
d_path.c
dax.c
dcache.c
BACKPORT: sysctl: pass kernel pointers to ->proc_handler
2025-12-23 13:36:15 -08:00
dcookies.c
direct-io.c
drop_caches.c
BACKPORT: sysctl: pass kernel pointers to ->proc_handler
2025-12-23 13:36:15 -08:00
eventfd.c
eventfd: prevent underflow for eventfd semaphores
2023-09-23 10:59:40 +02:00
eventpoll.c
UPSTREAM: epoll: add syscall epoll_pwait2
2025-12-22 04:28:19 +02:00
exec.c
This is the 5.4.301 stable release
2025-10-30 07:52:10 +00:00
fcntl.c
fs: Fix file_set_fowner LSM hook inconsistencies
2024-11-08 16:20:34 +01:00
fhandle.c
do_sys_name_to_handle(): use kzalloc() to fix kernel-infoleak
2024-03-26 18:22:13 -04:00
file.c
UPSTREAM: fs: prevent out-of-bounds array speculation when closing a file descriptor
2026-01-18 00:27:36 -08:00
file_table.c
BACKPORT: sysctl: pass kernel pointers to ->proc_handler
2025-12-23 13:36:15 -08:00
filesystems.c
fs/filesystems: Fix potential unsigned integer underflow in fs_name()
2025-06-27 11:02:50 +01:00
fs-writeback.c
fs/fs-writeback.c: adjust dirtytime_interval_handler definition to match prototype
2026-02-01 20:38:24 -08:00
fs_context.c
fs: avoid empty option when generating legacy mount string
2023-07-27 08:37:25 +02:00
fs_parser.c
fs_pin.c
fs_struct.c
fs_types.c
fsopen.c
inode.c
BACKPORT: sysctl: pass kernel pointers to ->proc_handler
2025-12-23 13:36:15 -08:00
internal.h
fs: Establish locking order for unrelated directories
2023-07-27 08:37:26 +02:00
io_uring.c
This is the 5.4.278 stable release
2024-06-18 14:18:49 +00:00
ioctl.c
Kconfig
Merge tag 'ASB-2025-06-05_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina
2025-06-30 10:49:17 +03:00
Kconfig.binfmt
libfs.c
UPSTREAM: fs: add LSM-supporting anon-inode interface
2025-02-20 04:17:45 +02:00
locks.c
filelock: Correct the filelock owner in fcntl_setlk/fcntl_setlk64
2024-09-04 13:15:02 +02:00
Makefile
mbcache.c
mount.h
mpage.c
namei.c
This is the 5.4.292 stable release
2025-04-11 08:16:05 +00:00
namespace.c
This is the 5.4.301 stable release
2025-10-30 07:52:10 +00:00
no-block.c
nsfs.c
UPSTREAM: fs/nsfs.c: Added ns_match
2025-12-23 13:36:04 -08:00
open.c
UPSTREAM: close_range: add CLOSE_RANGE_UNSHARE
2025-12-22 03:48:31 +02:00
OWNERS
pipe.c
pnode.c
pnode.h
posix_acl.c
proc_namespace.c
read_write.c
readdir.c
select.c
fs/select: rework stack allocation hack for clang
2024-03-26 18:22:13 -04:00
seq_file.c
signalfd.c
splice.c
stack.c
stat.c
statfs.c
super.c
fs: explicitly unregister per-superblock BDIs
2024-11-08 16:20:26 +01:00
sync.c
This is the 5.4.263 stable release
2023-12-11 12:08:17 +00:00
timerfd.c
userfaultfd.c
Revert "mm: protect VMA modifications using VMA sequence count"
2025-05-24 05:44:09 +00:00
utimes.c
xattr.c
UPSTREAM: kernfs: Add removed_size out param for simple_xattr_set
2026-01-14 18:13:12 -08:00