Currently a single process may register exit handlers unlimited times. It may lead to a bloated listeners chain and very slow process terminations. E.g. after 10KK sent TASKSTATS_CMD_ATTR_REGISTER_CPUMASKs ~300 Mb of kernel memory is stolen for the handlers chain and "time id" shows 2-7 seconds instead of normal 0.003. It makes it possible to exhaust all kernel memory and to eat much of CPU time by triggerring numerous exits on a single CPU ie it makes it possible for unprivileged user eat kernel memory and CPU without triggering OOM killer. Introduced in f9fd8914c1acca0d98b69d831b128d5b52f03c51. References: http://seclists.org/oss-sec/2011/q2/664 http://lists.openwall.net/linux-kernel/2011/06/16/605 Acknowledgements: Red Hat would like to thank Vasiliy Kulikov of Openwall for reporting this issue.
Upstream commit: http://git.kernel.org/linus/26c4caea9d697043cc5a458b96411b86d7f6babd
Statement: This issue did not affect the versions of Linux kernel as shipped with Red Hat Enterprise Linux 4 as it did not provide support for the Taskstats interface. This was fixed in Red Hat Enterprise Linux 5, 6, and Red Hat Enterprise MRG via https://rhn.redhat.com/errata/RHSA-2011-1386.html, https://rhn.redhat.com/errata/RHSA-2011-1350.html and https://rhn.redhat.com/errata/RHSA-2011-1253.html.
This issue has been addressed in following products: MRG for RHEL-6 v.2 Via RHSA-2011:1253 https://rhn.redhat.com/errata/RHSA-2011-1253.html
This issue has been addressed in following products: Red Hat Enterprise Linux 6 Via RHSA-2011:1350 https://rhn.redhat.com/errata/RHSA-2011-1350.html
This issue has been addressed in following products: Red Hat Enterprise Linux 5 Via RHSA-2011:1386 https://rhn.redhat.com/errata/RHSA-2011-1386.html