Revision efb55222d31c8c2af8b4ba42bb56b0b0beedf98e authored by Vladimir Oltean on 30 August 2019, 01:07:21 UTC, committed by David S. Miller on 01 September 2019, 01:45:34 UTC
taprio_init may fail earlier than this line:

	list_add(&q->taprio_list, &taprio_list);

i.e. due to the net device not being multi queue.

Attempting to remove q from the global taprio_list when it is not part
of it will result in a kernel panic.

Fix it by matching list_add and list_del better to one another in the
order of operations. This way we can keep the deletion unconditional
and with lower complexity - O(1).

Cc: Leandro Dorileo <leandro.maciel.dorileo@intel.com>
Fixes: 7b9eba7ba0c1 ("net/sched: taprio: fix picos_per_byte miscalculation")
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
Acked-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 5f81d54
History
File Mode Size
Makefile -rw-r--r-- 542 bytes
bootstr_32.c -rw-r--r-- 1.3 KB
bootstr_64.c -rw-r--r-- 1.2 KB
cif.S -rw-r--r-- 986 bytes
console_32.c -rw-r--r-- 1.2 KB
console_64.c -rw-r--r-- 1012 bytes
init_32.c -rw-r--r-- 1.7 KB
init_64.c -rw-r--r-- 1.3 KB
memory.c -rw-r--r-- 1.9 KB
misc_32.c -rw-r--r-- 2.6 KB
misc_64.c -rw-r--r-- 8.8 KB
mp.c -rw-r--r-- 1.0 KB
p1275.c -rw-r--r-- 1.1 KB
printf.c -rw-r--r-- 1.7 KB
ranges.c -rw-r--r-- 3.7 KB
tree_32.c -rw-r--r-- 7.1 KB
tree_64.c -rw-r--r-- 7.9 KB

back to top