linux-stable/fs
Sergey Shtylyov 74ea538aa2 nfs: fix undefined behavior in nfs_block_bits()
commit 3c0a2e0b0a upstream.

Shifting *signed int* typed constant 1 left by 31 bits causes undefined
behavior. Specify the correct *unsigned long* type by using 1UL instead.

Found by Linux Verification Center (linuxtesting.org) with the Svace static
analysis tool.

Cc: stable@vger.kernel.org
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
Reviewed-by: Benjamin Coddington <bcodding@redhat.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-16 13:23:46 +02:00
..
9p fs/9p: drop inodes immediately on non-.L too 2024-05-17 11:42:41 +02:00
adfs
affs affs: initialize fsdata in affs_truncate() 2023-02-06 07:49:38 +01:00
afs afs: fix the usage of read_seqbegin_or_lock() in afs_find_server*() 2024-02-23 08:12:45 +01:00
autofs autofs: fix memory leak of waitqueues in autofs_catatonic_mode 2023-09-23 10:48:15 +02:00
befs fix a series of Documentation/ broken file name references 2018-06-15 18:10:01 -03:00
bfs bfs: add sanity check at bfs_fill_super() 2018-12-01 09:37:27 +01:00
btrfs btrfs: add missing mutex_unlock in btrfs_relocate_sys_chunks() 2024-05-25 16:16:18 +02:00
cachefiles cachefiles: fix memory leak in cachefiles_add_cache() 2024-03-06 14:35:23 +00:00
ceph
cifs smb: client: fix OOB in smbCalcSize() 2024-01-08 11:27:37 +01:00
coda coda: add error handling for fget 2019-08-06 19:06:51 +02:00
configfs
cramfs Cramfs: fix abad comparison when wrap-arounds occur 2018-11-13 11:08:55 -08:00
crypto fscrypt: add fscrypt_symlink_getattr() for computing st_size 2021-09-22 11:47:56 +02:00
debugfs new helper: lookup_positive_unlocked() 2023-09-23 10:47:59 +02:00
devpts
dlm dlm: fix plock lookup when using multiple lockspaces 2023-09-23 10:48:11 +02:00
ecryptfs
efivarfs
efs
exofs
exportfs
ext2
ext4 ext4: fix mb_cache_entry's e_refcnt leak in ext4_xattr_block_cache_find() 2024-06-16 13:23:45 +02:00
f2fs f2fs: fix to release node block count in error path of f2fs_new_node_page() 2024-06-16 13:23:33 +02:00
fat fat: fix uninitialized field in nostale filehandles 2024-04-13 12:50:04 +02:00
freevxfs freevxfs_lookup(): use d_splice_alias() 2018-05-22 14:27:51 -04:00
fscache
fuse
gfs2 gfs2: Fix invalid metadata access in punch_hole 2024-05-17 11:42:39 +02:00
hfs hfs: fix missing hfs_bnode_get() in __hfs_bnode_create 2023-03-11 16:31:49 +01:00
hfsplus treewide: Remove uninitialized_var() usage 2023-08-11 11:45:01 +02:00
hostfs vfs: discard ATTR_ATTR_FLAG 2018-08-17 16:20:28 -07:00
hpfs
hugetlbfs
isofs
jbd2 jbd2: correct the printing of write_flags in jbd2_write_superblock() 2024-01-25 14:33:29 -08:00
jffs2
jfs jfs: fix array-index-out-of-bounds in diNewExt 2024-02-23 08:12:45 +01:00
kernfs
lockd fs: lockd: avoid possible wrong NULL parameter 2023-09-23 10:48:06 +02:00
minix minix: fix bug when opening a file with O_DIRECT 2022-04-15 14:15:03 +02:00
nfs nfs: fix undefined behavior in nfs_block_bits() 2024-06-16 13:23:46 +02:00
nfs_common
nfsd nfsd: drop st_mutex before calling move_to_close_lru() 2024-06-16 13:23:25 +02:00
nilfs2 nilfs2: fix use-after-free of timer for log writer thread 2024-06-16 13:23:38 +02:00
nls fs/nls: make load_nls() take a const parameter 2023-09-23 10:47:58 +02:00
notify fsnotify: fix wrong lockdep annotations 2022-06-14 16:59:20 +02:00
ntfs ntfs: check overflow when iterating ATTR_RECORDs 2022-11-25 17:40:30 +01:00
ocfs2 fs: ocfs2: namei: check return value of ocfs2_add_entry() 2023-09-23 10:48:01 +02:00
omfs
openpromfs
orangefs
overlayfs
proc procfs: block chmod on /proc/thread-self/comm 2023-09-23 10:48:11 +02:00
pstore
qnx4
qnx6 qnx6_lookup: switch to d_splice_alias() 2018-05-22 14:27:54 -04:00
quota quota: Fix rcu annotations of inode dquot pointers 2024-03-26 18:22:39 -04:00
ramfs
reiserfs reiserfs: Check the return value from __getblk() 2023-09-23 10:47:59 +02:00
romfs
squashfs revert "squashfs: harden sanity check in squashfs_read_xattr_id_table" 2023-02-22 12:47:20 +01:00
sysfs fs: sysfs: Fix reference leak in sysfs_break_active_protection() 2024-05-02 16:17:10 +02:00
sysv sysv: don't call sb_bread() with pointers_lock held 2024-04-13 12:50:15 +02:00
tracefs
ubifs
udf udf: initialize newblock to 0 2023-09-23 10:48:12 +02:00
ufs fs/ufs: avoid potential u32 multiplication overflow 2020-08-21 11:05:38 +02:00
xfs treewide: Remove uninitialized_var() usage 2023-08-11 11:45:01 +02:00
aio.c fs/aio: Check IOCB_AIO_RW before the struct aio_kiocb conversion 2024-04-13 12:50:09 +02:00
anon_inodes.c anon_inode_getfile(): switch to alloc_file_pseudo() 2018-07-12 10:04:27 -04:00
attr.c attr: block mode changes of symlinks 2023-09-23 10:48:17 +02:00
bad_inode.c get rid of 'opened' argument of ->atomic_open() - part 3 2018-07-12 10:04:20 -04:00
binfmt_aout.c binfmt: Move install_exec_creds after setup_new_exec to match binfmt_elf 2023-01-18 11:30:42 +01:00
binfmt_elf.c elf: don't use MAP_FIXED_NOREPLACE for elf interpreter mappings 2021-10-06 15:31:24 +02:00
binfmt_elf_fdpic.c fs: binfmt_elf_efpic: fix personality for ELF-FDPIC 2023-10-10 21:45:00 +02:00
binfmt_em86.c fs/binfmt_em86.c: fix incompatible pointer type 2016-08-02 19:35:15 -04:00
binfmt_flat.c binfmt: Move install_exec_creds after setup_new_exec to match binfmt_elf 2023-01-18 11:30:42 +01:00
binfmt_misc.c binfmt_misc: fix shift-out-of-bounds in check_special_flags 2023-01-18 11:30:33 +01:00
binfmt_script.c
block_dev.c block: Don't invalidate pagecache for invalid falloc modes 2024-01-08 11:27:37 +01:00
buffer.c mm: fs: initialize fsdata passed to write_begin/write_end interface 2022-11-25 17:40:29 +01:00
char_dev.c chardev: fix error handling in cdev_device_add() 2023-01-18 11:30:27 +01:00
compat.c
compat_binfmt_elf.c fs/binfmt: Convert obsolete cputime type to nsecs 2017-02-01 09:13:51 +01:00
compat_ioctl.c lsm: new security_file_ioctl_compat() hook 2024-02-23 08:12:58 +01:00
coredump.c coredump: fix crash when umh is disabled 2020-05-14 07:57:21 +02:00
d_path.c
dax.c dax: fix cache flush on PMD-mapped pages 2022-06-14 16:59:24 +02:00
dcache.c fast_dput(): handle underflows gracefully 2024-02-23 08:12:48 +01:00
dcookies.c fs: add do_lookup_dcookie() helper; remove in-kernel call to syscall 2018-04-02 20:15:39 +02:00
direct-io.c fs: direct-io: fix missing sdio->boundary 2021-04-14 08:22:32 +02:00
drop_caches.c fs: avoid softlockups in s_inodes iterators 2020-01-12 12:17:20 +01:00
eventfd.c eventfd: prevent underflow for eventfd semaphores 2023-09-23 10:47:59 +02:00
eventpoll.c ep_create_wakeup_source(): dentry name can change under you... 2020-10-07 08:00:09 +02:00
exec.c exec: Fix NOMMU linux_binprm::exec in transfer_args_to_stack() 2024-04-13 12:50:09 +02:00
fcntl.c fcntl: fix potential deadlock for &fasync_struct.fa_lock 2021-09-22 11:47:50 +02:00
fhandle.c do_sys_name_to_handle(): use kzalloc() to fix kernel-infoleak 2024-03-26 18:22:34 -04:00
file.c fs: prevent out-of-bounds array speculation when closing a file descriptor 2023-03-17 08:31:41 +01:00
file_table.c fs: add fget_many() and fput_many() 2021-12-08 08:50:13 +01:00
filesystems.c
fs-writeback.c writeback: fix call of incorrect macro 2023-05-17 11:13:23 +02:00
fs_pin.c Merge branch 'linus' into locking/core, to resolve conflicts 2017-11-07 10:32:44 +01:00
fs_struct.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task.h> 2017-03-02 08:42:35 +01:00
inode.c
internal.h acct_on(): don't mess with freeze protection 2019-05-31 06:46:05 -07:00
ioctl.c vfs: fix FIGETBSZ ioctl on an overlayfs file 2018-11-21 09:19:14 +01:00
iomap.c iomap: Set all uptodate bits for an Uptodate page 2023-11-28 16:46:36 +00:00
Kconfig autofs: remove left-over autofs4 stubs 2018-06-11 08:22:34 -07:00
Kconfig.binfmt kconfig: move the "Executable file formats" menu to fs/Kconfig.binfmt 2018-08-02 08:06:55 +09:00
libfs.c libfs: add DEFINE_SIMPLE_ATTRIBUTE_SIGNED for signed value 2023-01-18 11:30:06 +01:00
locks.c locks: print unsigned ino in /proc/locks 2020-01-09 10:19:00 +01:00
Makefile autofs: remove left-over autofs4 stubs 2018-06-11 08:22:34 -07:00
mbcache.c mbcache: Avoid nesting of cache->c_list_lock under bit locks 2023-01-18 11:30:51 +01:00
mount.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mpage.c mpage: mpage_readpages() should submit IO as read-ahead 2018-08-17 16:20:29 -07:00
namei.c fs: Fix error checking for d_hash_and_lookup() 2023-09-23 10:47:59 +02:00
namespace.c VFS: Fix memory leak caused by concurrently mounting fs with subtype 2022-05-15 19:41:59 +02:00
no-block.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
nsfs.c dcache: sort the freeing-without-RCU-delay mess for good. 2019-05-25 18:23:26 +02:00
open.c fs: add a vfs_fchmod helper 2024-04-13 12:50:14 +02:00
pipe.c
pnode.c pnode: terminate at peers of source 2023-01-18 11:30:40 +01:00
pnode.h mnt: Tuck mounts under others instead of creating shadow/side mounts. 2017-02-04 00:01:06 +13:00
posix_acl.c posix_acl: convert posix_acl.a_refcount from atomic_t to refcount_t 2018-01-02 19:27:28 -08:00
proc_namespace.c
read_write.c vfs: avoid problematic remapping requests into partial EOF block 2019-12-01 09:17:04 +01:00
readdir.c readdir: make sure to verify directory entry for legacy interfaces too 2021-04-28 13:16:50 +02:00
select.c fs/select: rework stack allocation hack for clang 2024-03-26 18:22:34 -04:00
seq_file.c seq_file: disallow extremely large seq buffer allocations 2021-07-20 16:16:16 +02:00
signalfd.c signalfd: use wake_up_pollfree() 2021-12-14 10:18:07 +01:00
splice.c Revert "fs: check FMODE_LSEEK to control internal pipe splicing" 2022-10-26 13:19:21 +02:00
stack.c fs: fix comment for 'CONFIG_LBADF' 2014-08-26 09:35:56 +02:00
stat.c
statfs.c statfs: enforce statfs[64] structure initialization 2023-05-30 12:42:11 +01:00
super.c vfs: make freeze_super abort when sync_filesystem returns error 2022-02-23 11:58:38 +01:00
sync.c
timerfd.c Merge branch 'work.aio' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2018-08-13 20:56:23 -07:00
userfaultfd.c userfaultfd: prevent concurrent API initialization 2021-09-22 11:48:02 +02:00
utimes.c
xattr.c fs: don't audit the capability check in simple_xattr_list() 2023-01-18 11:30:04 +01:00