First published: Tue Dec 23 2008(Updated: )
From Flavio Leitner: On many core SMP machine (such as 16 core or more), soft lockup can occur when heavy network load are produced concurrently. The lockup happens at __qdisc_run()(@net/sched/sch_generic.c:line 84). Because driver continue to send packet and return NETDEV_TX_OK, __qdisc_run() can't exit from qdisc_restart() loop. This behavior may improve throughput, but some application can stuck over 10s. This issue has been fixed on vanilla kernel. Version-Release number of selected component: kernel version: 2.6.18-92.el5 (RHEL5.2GA) How reproducible: It can be reproducible in dozens of seconds, on 16 core SMP box. This issue is easy to happen, when UDP workload is very high. Steps to Reproduce: On 16 core SMP machine, execute netperf in higher than 16 parallel with the following options, then it occurs at a client side. # netperf -H <netserver_address> -l 60 -t UDP_STREAM -- -s 262144 -r 262144 -m 16384 Actual results: A lot of soft lockup messages are recorded into syslog, and performance problem appears in some applications. Expected results: In kernel, any CPU doesn't dedicate to some work without schedule() for a long time. Hardware info: Express5800/140Rf-4 Business impact: It makes customer's applications unresponsive too long and it makes impossible to apply RHEL5.2 to performance/latency sensitive systems. Additional info: git patch: [NET]: Add preemption point in qdisc_run <a href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2ba2506ca7ca62c56edaa334b0fe61eb5eab6ab0">http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2ba2506ca7ca62c56edaa334b0fe61eb5eab6ab0</a>
Credit: cve@mitre.org cve@mitre.org
Affected Software | Affected Version | How to fix |
---|---|---|
Linux Kernel | <=2.6.24.7 | |
Linux Kernel | =2.6 | |
Linux Kernel | =2.6.0 | |
Linux Kernel | =2.6.1 | |
Linux Kernel | =2.6.2 | |
Linux Kernel | =2.6.10 | |
Linux Kernel | =2.6.11 | |
Linux Kernel | =2.6.11.1 | |
Linux Kernel | =2.6.11.2 | |
Linux Kernel | =2.6.11.3 | |
Linux Kernel | =2.6.11.4 | |
Linux Kernel | =2.6.11.5 | |
Linux Kernel | =2.6.11.6 | |
Linux Kernel | =2.6.11.7 | |
Linux Kernel | =2.6.11.8 | |
Linux Kernel | =2.6.11.9 | |
Linux Kernel | =2.6.11.10 | |
Linux Kernel | =2.6.11.11 | |
Linux Kernel | =2.6.11.12 | |
Linux Kernel | =2.6.12 | |
Linux Kernel | =2.6.12.1 | |
Linux Kernel | =2.6.12.2 | |
Linux Kernel | =2.6.12.3 | |
Linux Kernel | =2.6.12.4 | |
Linux Kernel | =2.6.12.5 | |
Linux Kernel | =2.6.12.6 | |
Linux Kernel | =2.6.13 | |
Linux Kernel | =2.6.13.1 | |
Linux Kernel | =2.6.13.2 | |
Linux Kernel | =2.6.13.3 | |
Linux Kernel | =2.6.13.4 | |
Linux Kernel | =2.6.13.5 | |
Linux Kernel | =2.6.14 | |
Linux Kernel | =2.6.14.1 | |
Linux Kernel | =2.6.14.2 | |
Linux Kernel | =2.6.14.3 | |
Linux Kernel | =2.6.14.4 | |
Linux Kernel | =2.6.14.5 | |
Linux Kernel | =2.6.14.6 | |
Linux Kernel | =2.6.14.7 | |
Linux Kernel | =2.6.15 | |
Linux Kernel | =2.6.15.1 | |
Linux Kernel | =2.6.15.2 | |
Linux Kernel | =2.6.15.3 | |
Linux Kernel | =2.6.15.4 | |
Linux Kernel | =2.6.15.5 | |
Linux Kernel | =2.6.15.6 | |
Linux Kernel | =2.6.15.7 | |
Linux Kernel | =2.6.16 | |
Linux Kernel | =2.6.16.1 | |
Linux Kernel | =2.6.16.2 | |
Linux Kernel | =2.6.16.3 | |
Linux Kernel | =2.6.16.4 | |
Linux Kernel | =2.6.16.5 | |
Linux Kernel | =2.6.16.6 | |
Linux Kernel | =2.6.16.7 | |
Linux Kernel | =2.6.16.8 | |
Linux Kernel | =2.6.16.9 | |
Linux Kernel | =2.6.16.10 | |
Linux Kernel | =2.6.16.11 | |
Linux Kernel | =2.6.16.12 | |
Linux Kernel | =2.6.16.13 | |
Linux Kernel | =2.6.16.14 | |
Linux Kernel | =2.6.16.15 | |
Linux Kernel | =2.6.16.16 | |
Linux Kernel | =2.6.16.17 | |
Linux Kernel | =2.6.16.18 | |
Linux Kernel | =2.6.16.19 | |
Linux Kernel | =2.6.16.20 | |
Linux Kernel | =2.6.16.21 | |
Linux Kernel | =2.6.16.22 | |
Linux Kernel | =2.6.16.23 | |
Linux Kernel | =2.6.16.24 | |
Linux Kernel | =2.6.16.25 | |
Linux Kernel | =2.6.16.26 | |
Linux Kernel | =2.6.16.27 | |
Linux Kernel | =2.6.16.28 | |
Linux Kernel | =2.6.16.29 | |
Linux Kernel | =2.6.16.30 | |
Linux Kernel | =2.6.16.31 | |
Linux Kernel | =2.6.16.32 | |
Linux Kernel | =2.6.16.33 | |
Linux Kernel | =2.6.16.34 | |
Linux Kernel | =2.6.16.35 | |
Linux Kernel | =2.6.16.36 | |
Linux Kernel | =2.6.16.37 | |
Linux Kernel | =2.6.16.38 | |
Linux Kernel | =2.6.16.39 | |
Linux Kernel | =2.6.16.40 | |
Linux Kernel | =2.6.16.41 | |
Linux Kernel | =2.6.16.42 | |
Linux Kernel | =2.6.16.43 | |
Linux Kernel | =2.6.16.44 | |
Linux Kernel | =2.6.16.45 | |
Linux Kernel | =2.6.16.46 | |
Linux Kernel | =2.6.16.47 | |
Linux Kernel | =2.6.16.48 | |
Linux Kernel | =2.6.16.49 | |
Linux Kernel | =2.6.16.50 | |
Linux Kernel | =2.6.16.51 | |
Linux Kernel | =2.6.16.52 | |
Linux Kernel | =2.6.16.53 | |
Linux Kernel | =2.6.16.54 | |
Linux Kernel | =2.6.16.55 | |
Linux Kernel | =2.6.16.56 | |
Linux Kernel | =2.6.16.57 | |
Linux Kernel | =2.6.16.58 | |
Linux Kernel | =2.6.16.59 | |
Linux Kernel | =2.6.16.60 | |
Linux Kernel | =2.6.16.61 | |
Linux Kernel | =2.6.16.62 | |
Linux Kernel | =2.6.17 | |
Linux Kernel | =2.6.17.1 | |
Linux Kernel | =2.6.17.2 | |
Linux Kernel | =2.6.17.3 | |
Linux Kernel | =2.6.17.4 | |
Linux Kernel | =2.6.17.5 | |
Linux Kernel | =2.6.17.6 | |
Linux Kernel | =2.6.17.7 | |
Linux Kernel | =2.6.17.8 | |
Linux Kernel | =2.6.17.9 | |
Linux Kernel | =2.6.17.10 | |
Linux Kernel | =2.6.17.11 | |
Linux Kernel | =2.6.17.12 | |
Linux Kernel | =2.6.17.13 | |
Linux Kernel | =2.6.17.14 | |
Linux Kernel | =2.6.18 | |
Linux Kernel | =2.6.18-rc1 | |
Linux Kernel | =2.6.18-rc2 | |
Linux Kernel | =2.6.18-rc3 | |
Linux Kernel | =2.6.18-rc4 | |
Linux Kernel | =2.6.18-rc5 | |
Linux Kernel | =2.6.18-rc6 | |
Linux Kernel | =2.6.18-rc7 | |
Linux Kernel | =2.6.18.1 | |
Linux Kernel | =2.6.18.2 | |
Linux Kernel | =2.6.18.3 | |
Linux Kernel | =2.6.18.4 | |
Linux Kernel | =2.6.18.5 | |
Linux Kernel | =2.6.18.6 | |
Linux Kernel | =2.6.18.7 | |
Linux Kernel | =2.6.18.8 | |
Linux Kernel | =2.6.19 | |
Linux Kernel | =2.6.19.1 | |
Linux Kernel | =2.6.19.2 | |
Linux Kernel | =2.6.19.3 | |
Linux Kernel | =2.6.19.4 | |
Linux Kernel | =2.6.19.5 | |
Linux Kernel | =2.6.19.6 | |
Linux Kernel | =2.6.19.7 | |
Linux Kernel | =2.6.20 | |
Linux Kernel | =2.6.20.1 | |
Linux Kernel | =2.6.20.2 | |
Linux Kernel | =2.6.20.3 | |
Linux Kernel | =2.6.20.4 | |
Linux Kernel | =2.6.20.5 | |
Linux Kernel | =2.6.20.6 | |
Linux Kernel | =2.6.20.7 | |
Linux Kernel | =2.6.20.8 | |
Linux Kernel | =2.6.20.9 | |
Linux Kernel | =2.6.20.10 | |
Linux Kernel | =2.6.20.11 | |
Linux Kernel | =2.6.20.12 | |
Linux Kernel | =2.6.20.13 | |
Linux Kernel | =2.6.20.14 | |
Linux Kernel | =2.6.20.15 | |
Linux Kernel | =2.6.20.16 | |
Linux Kernel | =2.6.20.17 | |
Linux Kernel | =2.6.20.18 | |
Linux Kernel | =2.6.20.19 | |
Linux Kernel | =2.6.20.20 | |
Linux Kernel | =2.6.20.21 | |
Linux Kernel | =2.6.21 | |
Linux Kernel | =2.6.21.1 | |
Linux Kernel | =2.6.21.2 | |
Linux Kernel | =2.6.21.3 | |
Linux Kernel | =2.6.21.4 | |
Linux Kernel | =2.6.21.5 | |
Linux Kernel | =2.6.21.6 | |
Linux Kernel | =2.6.21.7 | |
Linux Kernel | =2.6.22 | |
Linux Kernel | =2.6.22.1 | |
Linux Kernel | =2.6.22.2 | |
Linux Kernel | =2.6.22.3 | |
Linux Kernel | =2.6.22.4 | |
Linux Kernel | =2.6.22.5 | |
Linux Kernel | =2.6.22.6 | |
Linux Kernel | =2.6.22.7 | |
Linux Kernel | =2.6.22.8 | |
Linux Kernel | =2.6.22.9 | |
Linux Kernel | =2.6.22.10 | |
Linux Kernel | =2.6.22.11 | |
Linux Kernel | =2.6.22.12 | |
Linux Kernel | =2.6.22.13 | |
Linux Kernel | =2.6.22.14 | |
Linux Kernel | =2.6.22.15 | |
Linux Kernel | =2.6.22.16 | |
Linux Kernel | =2.6.22.17 | |
Linux Kernel | =2.6.22.18 | |
Linux Kernel | =2.6.22.19 | |
Linux Kernel | =2.6.22.20 | |
Linux Kernel | =2.6.22.21 | |
Linux Kernel | =2.6.22.22 | |
Linux Kernel | =2.6.23 | |
Linux Kernel | =2.6.23-rc1 | |
Linux Kernel | =2.6.23-rc2 | |
Linux Kernel | =2.6.23.1 | |
Linux Kernel | =2.6.23.2 | |
Linux Kernel | =2.6.23.3 | |
Linux Kernel | =2.6.23.4 | |
Linux Kernel | =2.6.23.5 | |
Linux Kernel | =2.6.23.6 | |
Linux Kernel | =2.6.23.7 | |
Linux Kernel | =2.6.23.8 | |
Linux Kernel | =2.6.23.9 | |
Linux Kernel | =2.6.23.10 | |
Linux Kernel | =2.6.23.11 | |
Linux Kernel | =2.6.23.12 | |
Linux Kernel | =2.6.23.13 | |
Linux Kernel | =2.6.23.14 | |
Linux Kernel | =2.6.23.15 | |
Linux Kernel | =2.6.23.16 | |
Linux Kernel | =2.6.23.17 | |
Linux Kernel | =2.6.24 | |
Linux Kernel | =2.6.24-rc1 | |
Linux Kernel | =2.6.24-rc2 | |
Linux Kernel | =2.6.24-rc3 | |
Linux Kernel | =2.6.24-rc4 | |
Linux Kernel | =2.6.24-rc5 | |
Linux Kernel | =2.6.24.1 | |
Linux Kernel | =2.6.24.2 | |
Linux Kernel | =2.6.24.3 | |
Linux Kernel | =2.6.24.4 | |
Linux Kernel | =2.6.24.5 | |
Linux Kernel | =2.6.24.6 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2008-5713 is considered a moderate severity vulnerability due to the potential for a system hang under heavy network load on multi-processor systems.
To fix CVE-2008-5713, upgrade your Linux kernel to a version above 2.6.24.6 which addresses this vulnerability.
CVE-2008-5713 affects Linux kernel versions up to and including 2.6.24.6, particularly on high-core count SMP machines.
CVE-2008-5713 can be exploited under conditions of heavy network traffic, leading to potential denial of service through system hangs.
Yes, CVE-2008-5713 specifically arises from network load conditions that cause soft lockups in systems with multiple CPU cores.