From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BF9EF39D6E8 for ; Mon, 13 Apr 2026 07:45:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776066329; cv=none; b=lSbKSpQdgVRszcI6Ao6oCO9WhX+F4upD/DDLzFKPZkbzTAtfm1mW0n0ZBJ3VT546VV07R8FLHVUWC7OcwiiNUJmIc6VLexcpCBmWCKKUxMdf9OAGPyoDNgxyr0TTBlG4AiSpOHOtxbnTpxzYIWML7Gj1G55bJTABKHW0mscRF/Q= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776066329; c=relaxed/simple; bh=H53P5p+OtZnMsl2NEM/Tmrec0LxsCCr0R6/dwJEzMBg=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=RdoBveJDcEMTkf6kjbMcAY6NYp9z80KNMKUY1Fwq8YvfXbd0IffDYjseLEy5TO0IHAEZt9tYowmnREfv4r6XH6BGlOGVoJArJnk9M9qA6MrlW7YudIetiu8He+25PLwCPjehe+UZF4T8GL4zlUQeWtFglyGJtE3vSHcYpVRkSnc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=XIXMj2Or; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=HPCnPm36; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="XIXMj2Or"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="HPCnPm36" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1776066326; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Ym38mK7swp0+roV86qgOMSC1TWOUqeERTYCRgrFKlvM=; b=XIXMj2OrGtHelAcSLE/06SPu90xHoJS7TlSNI5eqjOrz3SySr08f83CBzIz0peYTQ74ML9 oicj4PqnfQReqFEk7NUKWVHqSNOrnhY+HwUXdWdWqZInFVNVNTRix9aluP86JSyzQkVmoG nSOTR7cvlu5pvKg2XojiChNOV8EgwOg= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-471-UCNhw1DIN9K10Lhgj8NbSQ-1; Mon, 13 Apr 2026 03:45:25 -0400 X-MC-Unique: UCNhw1DIN9K10Lhgj8NbSQ-1 X-Mimecast-MFC-AGG-ID: UCNhw1DIN9K10Lhgj8NbSQ_1776066324 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-43d70e3e4e7so996357f8f.1 for ; Mon, 13 Apr 2026 00:45:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1776066324; x=1776671124; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=Ym38mK7swp0+roV86qgOMSC1TWOUqeERTYCRgrFKlvM=; b=HPCnPm36150G3qI0cUwtknNqoJoEDCqpuCpYbZ5zM6uVzjZdkrPj5JM594KEAzkcFs FgfcnBWckACcZ92UTADQn29mqHdQiEvQaYwFLmLPzQKPOS7oqxTPKsK2/ojmEsC/1YIb 1APDlRA0Mwxc/ssU11XBvDzr+IBdO6VMNy3L65v1xxReQSAoMGfSFD1uF7wrHbo/06fh PfYQj799pcYcYHwhJqsjzBG4G4miAIPMEgxBRSTe8Rmb3tuWAy2YdkFyD2jR6pii1j38 LtCH3hB9GqjWVbT4+eMwR8qjKCc1//5kYLOSkeMmpOkIkk4asUOOq0nszumzLGpCyqlJ khjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776066324; x=1776671124; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Ym38mK7swp0+roV86qgOMSC1TWOUqeERTYCRgrFKlvM=; b=X4zv2VM1xlOneyKVhJz+jBi2/MeuQaHkQXf04nsbZElq+PrEQhZ0wTQKuSPqE6ZycM 2OkqzZTLiw+ce9XfnWSeKI3N5wxI3nPTFnwYJlnLucb1Pb0cvlgC9BT93tWTVlL6x2pH 7P5UyIlQeEkqIF6FTGR1Gh1MXtkQ62HuZ4voB7igf8y78sl+AMJm44sRTTXCekpcnoBo j/ZUg05DMYevAcBy7zIIdvBjWuoukF/ymXdCTVr3VU7+L4ni+TfSxnlAuztMM4Uu0dze VWq/bwTWumy7vRng21jAmMTAUrJu2yRQ0nNq9RRKZDIqmPwcueBMyLRcX8Ph33P35wak 7Kyg== X-Forwarded-Encrypted: i=1; AFNElJ/w2JgvGpXx+Tkk/D7QQe2mTuhzqSk5OBPrvpM25lWWJUsaOohTvoZIX0Gbbu4mZOgBuCSf5X2ucpYSTMU=@vger.kernel.org X-Gm-Message-State: AOJu0YwN/PBhgwns5YlHr8AsVt/QOACdpu8ko+pjZz5os9wbjbtv5BFT uy2tYu3+CWqhnlNbY7YJGuWmVfRXcaw4cZ9BIuP2xNiu7+1DB1cBamoKVZPk7F1L7wUcqb5Yhuh XWLy7S5AkYe1zNiIqGZpsy8j9Je1wCsReI9R6VwJLosIC5fXzbrO68OKfRASqZlmmVA== X-Gm-Gg: AeBDiesqixSL0aiqId3JJSmgYWMPjykbaA0HBgn+zeOxj71mSN7idKTCaNPeeoGxRpC gU/8pkNOKKjngEg5WSYcl+b9trxoqEMi+4wxadfk3EAb44U0gG8WAergP8D5lOgmTDsP+jv0Wk6 gF56quyrGQmovqanzNBCvCyGxjCnOYa0R00xJ7w4yqVeVNvN3tAo043pHtxqM1b1OzhRWvEaVmL dYiGL+fjFcfdGAa5Z9mW9UyFTKG7auCvOTy/eCcOB0CoopcCq1gtmcMaRZoT937NzxA3k2r5HqB ps7RDCX9Cc/RAA+QMOHHcWu5t+JnbAoKvhTLYtvQwzwn34zfmTctTZjN1e1vFvzJSD5kQ87WlLA geQeNnpEpE9g/7e+ifgBXJx+E6zMr0XiuiekICc8HKmI= X-Received: by 2002:a05:600c:8b27:b0:488:b1c7:b432 with SMTP id 5b1f17b1804b1-488d6881e82mr154803745e9.24.1776066324229; Mon, 13 Apr 2026 00:45:24 -0700 (PDT) X-Received: by 2002:a05:600c:8b27:b0:488:b1c7:b432 with SMTP id 5b1f17b1804b1-488d6881e82mr154803455e9.24.1776066323683; Mon, 13 Apr 2026 00:45:23 -0700 (PDT) Received: from redhat.com (IGLD-80-230-25-21.inter.net.il. [80.230.25.21]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43d63e5c981sm32030537f8f.33.2026.04.13.00.45.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Apr 2026 00:45:23 -0700 (PDT) Date: Mon, 13 Apr 2026 03:45:20 -0400 From: "Michael S. Tsirkin" To: Jinhui Guo Cc: Jason Wang , Xuan Zhuo , Eugenio =?iso-8859-1?Q?P=E9rez?= , Jiri Pirko , virtualization@lists.linux.dev, linux-kernel@vger.kernel.org, stable@vger.kernel.org Subject: Re: [PATCH] virtio_pci_modern: Use GFP_ATOMIC with spin_lock_irqsave held in virtqueue_exec_admin_cmd() Message-ID: <20260413034046-mutt-send-email-mst@kernel.org> References: <20260413072249.30433-1-guojinhui.liam@bytedance.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260413072249.30433-1-guojinhui.liam@bytedance.com> On Mon, Apr 13, 2026 at 03:22:49PM +0800, Jinhui Guo wrote: > virtqueue_exec_admin_cmd() holds admin_vq->lock with spin_lock_irqsave(), > which disables interrupts. Using GFP_KERNEL inside this critical section > is unsafe because kmalloc() may sleep, leading to potential deadlocks or > scheduling violations. > > Switch to GFP_ATOMIC to ensure the allocation is non-blocking. > > Fixes: 4c3b54af907e ("virtio_pci_modern: use completion instead of busy loop to wait on admin cmd result") > Cc: stable@vger.kernel.org > Signed-off-by: Jinhui Guo > --- > drivers/virtio/virtio_pci_modern.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/virtio/virtio_pci_modern.c b/drivers/virtio/virtio_pci_modern.c > index 6d8ae2a6a8ca..db8e4f88b749 100644 > --- a/drivers/virtio/virtio_pci_modern.c > +++ b/drivers/virtio/virtio_pci_modern.c > @@ -101,7 +101,7 @@ static int virtqueue_exec_admin_cmd(struct virtio_pci_admin_vq *admin_vq, > return -EIO; > > spin_lock_irqsave(&admin_vq->lock, flags); > - ret = virtqueue_add_sgs(vq, sgs, out_num, in_num, cmd, GFP_KERNEL); > + ret = virtqueue_add_sgs(vq, sgs, out_num, in_num, cmd, GFP_ATOMIC); > if (ret < 0) { > if (ret == -ENOSPC) { > spin_unlock_irqrestore(&admin_vq->lock, flags); GFP_ATOMIC allocations can and will fail. If using them, one must retry, not just propagate failures. Or just switch admin_vq->lock to a mutex? > -- > 2.20.1