Denial of service by corrupting mountpoint reference counter.
It was discovered that a race condition was possible between pivot_root() and put_mountpoint() operations. A local unprivileged attacker could exploit this to corrupt mountpoint reference counter and cause a denial of service (kernel crash).
ext4: potential kernel crash in ext4_cross_rename(): certain error cases were not checked properly.
ext4: use-after-free when unmounting a corrupted file system with files that have no links.
futex: potential system hang due to a missing unlock operation in the error path of futex_wait_requeue_pi().
cbt: potential endless loops in the error paths.
netfilter: potential memory corruption caused by a helper from nf_conntrack_h323 module.
CVE-2020-14305 was later assigned to this issue. See also: https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2020-14305
nf_conntrack: potential kernel crash in netlink_has_listeners().
ext4: attempts to freeze the FS could hang in certain cases due to an unbalanced internal write counter.
netlink: performance issues due to direct memory reclaim in netlink_dump() and netlink_trim().
memcg: kernel could crash when memory was uncharged from a cgroup while the cgroup was going offline.
It was found that a race was possible between uncharging memory from a cgroup and making that cgroup offline. This could lead to premature destruction of the cgroup and could cause a kernel crash.
packet: packet_sk_charge() could try to charge zero memory, leading to a use-after-free in memcg subsystem.
memcg: potential use-after-free in the implementation of uncharge operations.
qxl: kernel crash in qxl_release_fence_buffer_objects().
Use-after-free read in napi_gro_frags().
A flaw was found in the implementation of GRO, which allows an attacker with local access to trigger a use-after-free read in napi_gro_frags() and, potentially, crash the system.
i40iw: kernel complains about failed RTNL assertion in i40iw_addr_resolve_neigh().
Slow memory allocations in nf_conntrack when a netns is created.
When a new netns is created, high-order page allocations can happen in nf_ct_alloc_hashtable(). If memory is fragmented, such allocations can become very slow due to memory reclaim, etc. This, in turn, could result in significant slowdowns on the node.
nfsd: memory corruption in nfsd4_lock().
(enhancement) ploop: added interface to dump the cached BAT.
It was discovered that containers could get a broken on-disk BAT but have healthy in-kernel data in certain cases. To detect and fix such conditions, the means to dump the cached BAT were implemented in ploop. Note that, to make use of this enhancement, version 126.96.36.199 or newer of the userspace ploop tools is needed.
netfilter: kernel crash in the implementation of nf_tables due to use-after-free in dynamic operations.
A container with NFS server could force other such containers to use the older NFSv4 client tracker, which slows down NFS mounts.
mpt2sas: scheduling while atomic in _scsih_io_done().
ploop: potential corruption of the index during discard operation.
A race condition was discovered in ploop, which could lead to corruption of the index during discard operations in certain cases. Note. It is not recommended to manually unload the ReadyKernel patch with the fix for this issue while any discard operations for ploop images are in progress: the ploop images could be corrupted as a result. Upgrading the patch is OK, only manual unloads and downgrades can be problematic.
ploop: warn if a discard request is issued for the ploop header.
ve: detect removal of additional system libraries in the containers to simplify debugging.
Potential leak of a reference counter for a memory cgroup in memcg_expand_shrinker_maps().
Potential corruption of ploop images due to a race between the truncation thread and resize operations.
ve: make it easier to analyze removal of system libraries in the containers.
xfs: potential denial of service caused by missing unlock operation in xfs_setattr_nonsize().
It was discovered that xfs_setattr_nonsize() would not unlock 'ILOCK' lock if the user or group were out of their disk quota. As a result, any subsequent operation, which needed to take 'ILOCK', would get stuck, leading to a denial of service.
nf_tables: kernel crash in nft_rbtree_lookup().
ploop: holes in raw ploop images were handled incorrectly.
Kernel crash due to out-of-bounds memory accesses in process_vm_readv().
It was discovered that the implementation of process_vm_readv() system call could try to access memory outside of the structures it was processing in certain cases. A local unprivileged user could use this vulnerability to crash the system.
quotaoff operation executed in a container could get stuck in D state.
Certain operations with an empty ploop image could lead to its unexpected growth.
Incomplete fix for PSBM-100575: reading of /proc/bc/resources line by line would never end.
memcg: memory corruption caused by writing beyond the end of shrinker_map structure.
ixgbe: lots of warnings in the system log due to incorrect check for firmware errors.
ploop: kernel crashes when processing discard requests for ploop images in raw format.
scsi: printing lots of messages about rejected I/O causes a hard lockup and a kernel crash.
Kernel crash in shrink_slab() when trying to mount an image with a broken ext4 file system.
Reading of /proc/bc/resources line by line would never end: no end of file was reported.
Potential kernel crash in __radix_tree_insert() when fscache is used for NFS mounts.
sunrpc: potential kernel crash in bc_svc_process().
A bug in ploop prevented recovery of corrupted ploop images.
The minimum amount of reserved free memory (vm.min_free_kbytes) was set too high by default.
kvm: potential system hang due to an error in mmu_shrink_scan().
Processes could get stuck in copy_net_ns() forever.