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-- 859 bytes
aes_asm.S -rw-r--r-- 38.3 KB
aes_glue.c -rw-r--r-- 14.7 KB
camellia_asm.S -rw-r--r-- 13.5 KB
camellia_glue.c -rw-r--r-- 8.8 KB
crc32c_asm.S -rw-r--r-- 397 bytes
crc32c_glue.c -rw-r--r-- 4.1 KB
crop_devid.c -rw-r--r-- 523 bytes
des_asm.S -rw-r--r-- 9.4 KB
des_glue.c -rw-r--r-- 14.3 KB
md5_asm.S -rw-r--r-- 1.3 KB
md5_glue.c -rw-r--r-- 4.8 KB
opcodes.h -rw-r--r-- 2.8 KB
sha1_asm.S -rw-r--r-- 1.3 KB
sha1_glue.c -rw-r--r-- 4.5 KB
sha256_asm.S -rw-r--r-- 1.5 KB
sha256_glue.c -rw-r--r-- 6.0 KB
sha512_asm.S -rw-r--r-- 2.1 KB
sha512_glue.c -rw-r--r-- 5.7 KB

back to top