Bug ID 1088429: Kernel slab memory leak

Last Modified: May 16, 2024

Affected Product(s):
BIG-IP LTM(all modules)

Known Affected Versions:
13.1.3.3, 13.1.3.4, 13.1.3.5, 13.1.3.6, 13.1.4, 13.1.4.1, 13.1.5, 13.1.5.1, 14.1.2.2, 14.1.2.3, 14.1.2.4, 14.1.2.5, 14.1.2.6, 14.1.2.7, 14.1.2.8, 14.1.3, 14.1.3.1, 14.1.4, 14.1.4.1, 14.1.4.2, 14.1.4.3, 14.1.4.4, 14.1.4.5, 14.1.4.6, 14.1.5, 14.1.5.1, 14.1.5.2, 14.1.5.3, 14.1.5.4, 14.1.5.6, 15.1.0, 15.1.0.1, 15.1.0.2, 15.1.0.3, 15.1.0.4, 15.1.0.5, 15.1.1, 15.1.2, 15.1.2.1, 15.1.3, 15.1.3.1, 15.1.4, 15.1.4.1, 15.1.5, 15.1.5.1, 15.1.6, 15.1.6.1, 15.1.7, 15.1.8, 15.1.8.1, 15.1.8.2, 16.1.0, 16.1.1, 16.1.2, 16.1.2.1, 16.1.2.2, 16.1.3, 16.1.3.1, 16.1.3.2, 16.1.3.3, 16.1.3.4, 16.1.3.5, 17.0.0, 17.0.0.1, 17.0.0.2

Fixed In:
17.1.0, 16.1.4, 15.1.9

Opened: Mar 21, 2022

Severity: 3-Major

Symptoms

The Linux kernel unreclaimable slab leaks kmalloc-64 (64 byte) allocations due to an issue with ext4 filesystem code. The kmalloc-64 leaks occur when specific operations are executed on ext4 filesystems, such as copy of file with extended attribute preservation. Red Hat have documented the issue, refer to the links below. Note: Red Hat account with appropriate access are required to view these pages. Posix ACL object is leaked in setattr and fsetxattr syscalls https://access.redhat.com/solutions/4967981. This issue is tracked by Red Hat as bug 1543020 https://bugzilla.redhat.com/show_bug.cgi?id=1543020.

Impact

Kernel unreclaimable slab memory grows over time. This will be growth of what F5 term host memory, and will appear as increased other and/or swap memory on memory graphs. Usually the amount leaked is quite small and has no impact. If large enough this may leave system with too little host memory and trigger typical out of memory symptoms such as: - sluggish management by TMUI (GUI) and CLI shell - possible invocation of oom-killer by kernel leading to termination of a process - if severe, the system may thrash and become unstable, leading to cores and possibly reboot. The amount of slab usage can be tracked with the following commands executed from the advanced shell (bash). # cat /proc/meminfo | grep ^SUnreclaim SUnreclaim: 46364 kB The precise use of slab memory by component can be viewed using: /bin/slabtop --once Note: This includes both reclaimable and unreclaimable slab use. High reclaimable slab is usually not a concern because as host memory gets filled it can be freed (reclaimed). Look for the amount of memory in use by kmalloc-64. There will be some use even without the leak documented here. The amount can be compared with free or easily freeable host memory, a good estimate of which is given by the following command: # cat /proc/meminfo | grep ^MemAvailable MemAvailable: 970852 kB

Conditions

This usually happens a small amount, such as 100MB over a year on most systems. On some systems memory use can grow much faster and the precise file manipulations that might do this are not known at this time.

Workaround

None

Fix Information

Linux kernel ext4 filesystem module memory leak fixed.

Behavior Change

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips