acrn-kernel/fs
Shyam Prasad N 3152a7d361 cifs: do not depend on release_iface for maintaining iface_list
commit 09eeb0723f219fbd96d8865bf9b935e03ee2ec22 upstream.

parse_server_interfaces should be in complete charge of maintaining
the iface_list linked list. Today, iface entries are removed
from the list only when the last refcount is dropped.
i.e. in release_iface. However, this can result in undercounting
of refcount if the server stops advertising interfaces (which
Azure SMB server does).

This change puts parse_server_interfaces in full charge of
maintaining the iface_list. So if an empty list is returned
by the server, the entries in the list will immediately be
removed. This way, a following call to the same function will
not find entries in the list.

Fixes: aa45dadd34 ("cifs: change iface_list from array to sorted linked list")
Cc: stable@vger.kernel.org
Signed-off-by: Shyam Prasad N <sprasad@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-01-10 17:10:21 +01:00
..
9p 9p: v9fs_listxattr: fix %s null argument warning 2023-11-28 17:07:01 +00:00
adfs
affs
afs afs: Fix use-after-free due to get/remove race in volume tree 2024-01-01 12:38:58 +00:00
autofs autofs: fix memory leak of waitqueues in autofs_catatonic_mode 2023-09-23 11:10:59 +02:00
befs
bfs
btrfs btrfs: zoned: no longer count fresh BG region as zone unusable 2024-01-01 12:39:06 +00:00
cachefiles
ceph ceph_wait_on_conflict_unlink(): grab reference before dropping ->d_lock 2023-11-08 14:11:02 +01:00
coda
configfs
cramfs
crypto
debugfs
devpts
dlm dlm: fix plock lookup when using multiple lockspaces 2023-09-13 09:43:02 +02:00
ecryptfs
efivarfs
efs
erofs erofs: fix memory leak of LZMA global compressed deduplication 2023-10-10 22:00:39 +02:00
exfat exfat: support handle zero-size directory 2023-11-28 17:07:00 +00:00
exportfs
ext2 ext2: fix datatype of block number in ext2_xattr_set2() 2023-09-23 11:11:05 +02:00
ext4 ext4: prevent the normalized size from exceeding EXT_MAX_BLOCKS 2023-12-20 17:00:25 +01:00
f2fs f2fs: avoid format-overflow warning 2023-11-28 17:07:19 +00:00
fat
freevxfs
fscache
fuse fuse: share lookup state between submount and its parent 2024-01-01 12:39:08 +00:00
gfs2 gfs2: Silence "suspicious RCU usage in gfs2_permission" warning 2023-11-28 17:07:04 +00:00
hfs
hfsplus
hostfs
hpfs
hugetlbfs
iomap iomap: update ki_pos a little later in iomap_dio_complete 2023-12-08 08:51:20 +01:00
isofs
jbd2 jbd2: fix potential data lost in recovering journal raced with synchronizing fs bdev 2023-11-28 17:07:13 +00:00
jffs2
jfs jfs: fix array-index-out-of-bounds in diAlloc 2023-11-28 17:06:59 +00:00
kernfs
lockd fs: lockd: avoid possible wrong NULL parameter 2023-09-13 09:42:49 +02:00
minix
netfs netfs: Only call folio_start_fscache() one time for each folio 2023-10-06 14:56:32 +02:00
nfs NFSv4.1: fix SP4_MACH_CRED protection for pnfs IO 2023-11-28 17:07:04 +00:00
nfs_common
nfsd NFSD: fix possible oops when nfsd/pool_stats is closed. 2024-01-05 15:18:40 +01:00
nilfs2 nilfs2: prevent WARNING in nilfs_sufile_set_segment_usage() 2023-12-13 18:39:19 +01:00
nls
notify
ntfs
ntfs3 fs/ntfs3: Avoid possible memory leak 2023-11-08 14:10:59 +01:00
ocfs2
omfs
openpromfs
orangefs
overlayfs ima: detect changes to the backing overlay file 2023-11-28 17:07:12 +00:00
proc watchdog: move softlockup_panic back to early_param 2023-11-28 17:07:09 +00:00
pstore pstore/platform: Add check for kstrdup 2023-11-20 11:51:50 +01:00
qnx4
qnx6
quota quota: explicitly forbid quota files from being encrypted 2023-11-28 17:07:13 +00:00
ramfs
reiserfs
romfs
smb cifs: do not depend on release_iface for maintaining iface_list 2024-01-10 17:10:21 +01:00
squashfs
sysfs
sysv
tracefs tracefs: Add missing lockdown check to tracefs_create_dir() 2023-09-23 11:11:12 +02:00
ubifs ubifs: fix possible dereference after free 2024-01-01 12:39:06 +00:00
udf udf: initialize newblock to 0 2023-09-13 09:43:05 +02:00
ufs
unicode
vboxsf
verity fsverity: skip PKCS#7 parser when keyring is empty 2023-09-13 09:43:03 +02:00
xfs xfs: recovery should not clear di_flushiter unconditionally 2023-11-28 17:07:15 +00:00
zonefs
Kconfig
Kconfig.binfmt
Makefile
aio.c
anon_inodes.c
attr.c attr: block mode changes of symlinks 2023-09-23 11:11:10 +02:00
bad_inode.c
binfmt_elf.c
binfmt_elf_fdpic.c fs: binfmt_elf_efpic: fix personality for ELF-FDPIC 2023-10-06 14:57:06 +02:00
binfmt_elf_test.c
binfmt_flat.c
binfmt_misc.c
binfmt_script.c
buffer.c
char_dev.c
compat_binfmt_elf.c
coredump.c
d_path.c
dax.c
dcache.c
direct-io.c
drop_caches.c
eventfd.c
eventpoll.c
exec.c
fcntl.c
fhandle.c
file.c
file_table.c
filesystems.c
fs-writeback.c writeback, cgroup: switch inodes with dirty timestamps to release dying cgwbs 2023-11-20 11:51:50 +01:00
fs_context.c
fs_parser.c
fs_pin.c
fs_struct.c
fs_types.c
fsopen.c
init.c
inode.c fs: add ctime accessors infrastructure 2023-11-28 17:07:15 +00:00
internal.h
ioctl.c
kernel_read_file.c
libfs.c
locks.c locks: fix KASAN: use-after-free in trace_event_raw_event_filelock_lock 2023-09-23 11:11:00 +02:00
mbcache.c
mount.h
mpage.c
namei.c ksmbd: fix racy issue from using ->d_parent and ->d_name 2024-01-05 15:18:29 +01:00
namespace.c
no-block.c
nsfs.c
open.c
pipe.c
pnode.c
pnode.h
posix_acl.c
proc_namespace.c
read_write.c
readdir.c
remap_range.c
select.c
seq_file.c
signalfd.c
splice.c
stack.c
stat.c
statfs.c
super.c
sync.c
sysctls.c
timerfd.c
userfaultfd.c
utimes.c
xattr.c