sch_sfq: fix null pointer dereference at timer expiration
While converting sch_sfq to use timer_setup(), the commitcdeabbb881
("net: sched: Convert timers to use timer_setup()") forgot to initialize the 'sch' field. As a result, the timer callback tries to dereference a NULL pointer, and the kernel does oops. Fix it initializing such field at qdisc creation time. Fixes:cdeabbb881
("net: sched: Convert timers to use timer_setup()") Signed-off-by: Paolo Abeni <pabeni@redhat.com> Acked-by: Cong Wang <xiyou.wangcong@gmail.com> Acked-by: Kees Cook <keescook@chromium.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
25415cec50
Коммит
f85729d07c
|
@ -724,6 +724,7 @@ static int sfq_init(struct Qdisc *sch, struct nlattr *opt)
|
|||
int i;
|
||||
int err;
|
||||
|
||||
q->sch = sch;
|
||||
timer_setup(&q->perturb_timer, sfq_perturbation, TIMER_DEFERRABLE);
|
||||
|
||||
err = tcf_block_get(&q->block, &q->filter_list, sch);
|
||||
|
|
Загрузка…
Ссылка в новой задаче