diff options
| author | Henry Barreto <me@henrybarreto.dev> | 2026-05-27 18:35:24 -0300 |
|---|---|---|
| committer | Johannes Berg <johannes.berg@intel.com> | 2026-09-24 16:45:54 +0200 |
| commit | 0630560dd79f1a37158f9cd5bc70607044b8438a (patch) | |
| tree | d29d54b3e68c0b1ca1bb86e43462fbb7e71a71d0 /tools/lib/python | |
| parent | ca6b181232d7d76d40075c80959c6a2cbed4b353 (diff) | |
| download | linux-next-0630560dd79f1a37158f9cd5bc70607044b8438a.tar.gz linux-next-0630560dd79f1a37158f9cd5bc70607044b8438a.zip | |
um: vector: avoid NULL queue dereference in legacy RX mode
Bringing a UML vector netdev up can panic in vector_net_open() with a
fault in _raw_spin_lock().
vector_net_open() calls vector_reset_stats(), which takes the RX and TX
queue locks. However, queue allocation depends on runtime transport
options. With tap transport, vector RX/TX queues are not created and the
legacy header buffers are used instead. Taking a queue lock then
dereferences a NULL queue pointer.
Take the queue locks in vector_reset_stats() only when the corresponding
queue exists. Also move the RX queue lock in vector_poll() into the
VECTOR_RX path, so legacy RX does not touch rx_queue.
Signed-off-by: Henry Barreto <me@henrybarreto.dev>
Acked-By: Anton Ivanov <anton.ivanov@cambridgegreys.com>
Link: https://patch.msgid.link/20260527213524.45903-1-contato@henrybarreto.dev
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions
