nfsd: memory corruption and kernel crash in nfsd4_lock.
It was discovered that certain operations with locks on NFS could result in a memory corruption and kernel crash in nfsd4_lock(). Note that, although the patch prevents new issues of this kind, it cannot fix the corruptions that have already occurred. So, kernel crashes are still possible even within a few hours after the ReadyKernel update has been applied, but should disappear after the reboot of the affected nodes.
Virtual machines might fail to start on a host with AMD Milan CPU.
It was discovered that virtual machines on the hosts with AMD Milan CPUs could try to set IA32_SPEC_CTRL MSR during their startup and would fail to start: qemu-kvm would be killed by SIGABRT.
Kernel crash due to lack of enough skb headroom.
It was found that the kernel could crash (skb_under_panic) when TEE target mirrors traffic to another interface. In this case skb may not have enough headroom to be processed correctly. It had been fixed for IPv4 but IPv6 continued to have the bug.
Memory allocation failed unexpectedly in __add_to_page_cache_locked().
Ext4 FS was unexpectedly remounted read-only in a container after the container reached the limits set in the memory cgroup. It happened because the relevant memory allocations failed in __add_to_page_cache_locked while __GFP_NOFAIL flag was dropped for certain reason.
Memory leak happened in socket(2) if allocation of a file descriptor failed.
It was discovered that lldpad consumed lots of kernel memory. The kernel memory used for the sockets it created was never released in case of certain errors.
ext4: using RENAME_WHITEOUT flag when renaming files could cause file system errors ('deleted inode referenced').
size_t-to-int conversion vulnerability in the filesystem layer.
It was discovered that the implementation of seq_file files in the Linux kernel contained an error related to integer conversion (size_t to a signed integer). A local unprivileged attacker could use this to cause a denial of service (system crash) or execute arbitrary code.
After certain operations with detached mounts, attempts to mount anything could unexpectedly fail with error 'No space left on device'.
ceph: out-of-bounds accesses in dio_get_pagev_size() caused memory corruption.
Network overlay 'weave' failed to create pairs of veth devices.
It was discovered that 'weave' network overlay used with Kubernetes tried to create veth devices with MTU 65535 in certain cases. Such operations failed because the maximum allowed MTU was 1500.
netfilter: potential kernel crash in nft_rbtree_deactivate().
'pcompact' operation could trigger memory leaks when 'io_kaio' I/O engine was used by ploop.
I/O operations could be significantly slower if 'io_kaio' rather than 'io_direct' I/O engine was used by ploop.
It was discovered that file preallocation was not requested by ploop with 'io_kaio' I/O engine. As a result, certain write operations to ploop devices could be significantly slower with 'io_kaio' than with 'io_direct' I/O engine.
sch_teql: kernel crash in teql_destroy().
ext4: timestamps could be updated in wrong inodes in certain cases, if the filesystem was mounted with 'lazytime' option.