[Bug 284057] vmxnet3/iflib: crash in vmxnet3_isc_txd_credits_update

From: <bugzilla-noreply_at_freebsd.org>
Date: Sat, 18 Jan 2025 15:35:04 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=284057

--- Comment #10 from Mark Johnston <markj@FreeBSD.org> ---
(In reply to Andriy Gapon from comment #9)
I'm not familiar with the driver, but looking at
vmxnet3_isc_txd_credits_update(), I think your patch needs to:
- atomically increment vcxr_next, so that multiple threads don't process the
same descriptor,
- somehow, atomically update txr->vxtxr_next.

I suspect your best bet is to just use a spinlock to serialize the loop.  (It
looks like this routine can be called from hard interrupt context, so regular
mutexes cannot be used.)  It might be possible to implement this correctly with
atomics, but I doubt it's worthwhile.

-- 
You are receiving this mail because:
You are the assignee for the bug.