summaryrefslogtreecommitdiff
path: root/include/linux/stacktrace.h
diff options
context:
space:
mode:
authorHarout Hedeshian <harouth@codeaurora.org>2015-12-06 12:52:20 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-22 11:09:47 -0700
commitd5f660635e00722d28eb0ab0c4aadb9c5b450140 (patch)
tree24fe91ac9a3f482da2faf3be6489e9a60f00807d /include/linux/stacktrace.h
parent457b02e709a37972ca43d1f9ae5ee25a38d8a55c (diff)
net: sched: gracefully handle qdisc which don't support change()
tc_qdisc_flow_control() incorrectly assumes that all queue disciplines implement the change() callback in Qdisc_ops. If the flow control function is called a queue that does not implement change(), we try to jump to a null function pointer resulting in a panic. The flow control function does require that the queue discipline support change() in order to enable/disable the queue. Now we will check if the queue to do flow control on supports the required funcionality and will WARN_ONCE and return if the requirements are not met. [<ffffffc000c5c028>] panic+0x28c [<ffffffc0000889f4>] die+0x238 [<ffffffc000088a6c>] arm64_notify_die+0x4c [<ffffffc000088d00>] bad_mode+0xa8 [<ffffffc000ab9ab8>] tc_qdisc_flow_control+0x98 [<ffffffc000c506e8>] rmnet_vnd_ioctl+0x230 [<ffffffc000aac6fc>] dev_ifsioc+0x2a0 [<ffffffc000aacde8>] dev_ioctl+0x644 [<ffffffc000a7db4c>] sock_ioctl+0x4c [<ffffffc0001af548>] do_vfs_ioctl+0x4b4 [<ffffffc0001af684>] SyS_ioctl+0x60 [<ffffffc0000854b0>] el0_svc_naked+0x24 Change-Id: I85ca324e57814b6c0eac48d2e076e861ab32c260 Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
Diffstat (limited to 'include/linux/stacktrace.h')
0 files changed, 0 insertions, 0 deletions