Re: [PATCH] net: liquidio: avoid sleeping allocation under octeon_devices_lock
From: Simon Horman
Date: Thu Sep 03 2026 - 06:51:08 EST
On Wed, Sep 02, 2026 at 05:58:08PM -0700, Jakub Kicinski wrote:
> 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.
No objection from my side.