Linux Kernel qdisc_run()函数 本地拒绝服务漏洞

来源:岁月联盟 编辑:zhuzhu 时间:2008-12-27
Linux Kernel qdisc_run()函数 本地拒绝服务漏洞 受影响系统:
Linux kernel 2.6.x

不受影响系统:
Linux kernel 2.6.25

描述:
Linux Kernel是开放源码操作系统Linux所使用的内核。

在多核(如16核)SMP机器上,如果并发的高流量的网络负载,就会导致内核中出现软锁定。

锁定出现在net/sched/sch_generic.c的84行的__qdisc_run()函数中。由于驱动持续发送报文并返回NETDEV_TX_OK,__qdisc_run()就无法退出qdisc_restart()循环。尽管这可以提高吞吐能力,但某些应用程序可能被迟滞大约10秒钟。

厂商补丁:

目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2ba2506ca7ca62c56edaa334b0fe61eb5eab6ab0