Re: [PATCH v2] nvme: avoid race in shutdown namespace removal

From: Hannes Reinecke
Date: Mon Sep 06 2021 - 04:40:10 EST


On 9/6/21 10:01 AM, Christoph Hellwig wrote:
On Thu, Sep 02, 2021 at 11:20:02AM +0200, Daniel Wagner wrote:
When we remove the siblings entry, we update ns->head->list, hence we
can't separate the removal and test for being empty. They have to be
in the same critical section to avoid a race.

To avoid breaking the refcounting imbalance again, add a list empty
check to nvme_find_ns_head.

Hannes, can you look over this and run your tests on it?

I'm at it.

Cheers,

Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare@xxxxxxx +49 911 74053 688
SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), Geschäftsführer: Felix Imendörffer