Re: [PATCH] net: liquidio: avoid sleeping allocation under octeon_devices_lock

From: Jakub Kicinski

Date: Wed Sep 02 2026 - 20:59:51 EST


On Wed, 2 Sep 2026 16:54:23 +0100 Simon Horman wrote:
> On Tue, Aug 25, 2026 at 04:50:55PM +0800, Yang Zi wrote:
> > octeon_allocate_device() holds the spinlock octeon_devices_lock while
> > calling octeon_allocate_device_mem(), which uses vzalloc(). vzalloc()
> > can sleep, so this is a "scheduling while atomic" bug that can trigger a
> > sleeping-in-atomic warning (or deadlock on a preemptible kernel).
> >
> > The memory allocation does not touch octeon_device[], octeon_device_count
> > or the free-slot search, so it does not need the lock. Move the
> > octeon_allocate_device_mem() call ahead of the lock: allocate the device
> > memory first, then take the lock only to find a free slot and register
> > the new device in the octeon_device[] array. If no slot is available
> > (all MAX_OCTEON_DEVICES slots in use), free the freshly allocated memory
> > and return NULL as before.
> >
> > The lock therefore continues to protect exactly the data it documents:
> > the octeon_device[] array and octeon_device_count.
> >
> > Signed-off-by: Yang Zi <2959243019@xxxxxx>
>
> This patch has been marked as Not Applicable in patchwork.
> I assume that is because it doesn't apply.
> Which I believe, in turn, is because it is whitespace mangled:
> the tabs appear to have been substituted for combinations
> of spaces and non-breaking spaces.
>
> Please consider updating the way that you send patches -
> e.g. using b4 or a different mail server - and reposting.

Also we should consider deleting liquidio instead of fixing it?
It's _stupendously_ buggy, and Orphaned.