From nobody Tue Apr 7 17:16:33 2026 Received: from r3-11.sinamail.sina.com.cn (r3-11.sinamail.sina.com.cn [202.108.3.11]) (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 C213E2F9C2C for ; Fri, 27 Feb 2026 03:23:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=202.108.3.11 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772162612; cv=none; b=DTN95CgSVDA/tJVVwr97jWmInl/UGB7PaCnDPfVDimRRp3EyqldwyN37T8HBu5qNVIBhohzbYOCGuFTXoYZrRcAxSmopgqeiJH9FgLopfvWChyLC/EPFD7un+bK2ISEiUBJaTZLejVXPpLSzIjPMlLHajcdPtmbDseDr5CMSFIs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772162612; c=relaxed/simple; bh=lYU3ZWPhKbMwhmgrteQr6W9c6Fg1JPTM61yX3B8R/zs=; h=From:To:Subject:Date:Message-Id; b=rfjftkLKxHybjJYCQx7pBzPFBLOYWzwVadgO5S+x0eqej2XyrY7yWjUaxMw3+tVgOFgX9jY8RNMp9uSmwAEI2dNuBCo9CKKVV7U55UpJiJMze9BpLqWx6aAJR1DaFTa+ZRuhUn94sNp2pVAGBRlelPBJ4gDxUXWsbPTzy9IpiI0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sina.cn; spf=pass smtp.mailfrom=sina.cn; dkim=pass (1024-bit key) header.d=sina.cn header.i=@sina.cn header.b=uzZ3uq1U; arc=none smtp.client-ip=202.108.3.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sina.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sina.cn Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=sina.cn header.i=@sina.cn header.b="uzZ3uq1U" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sina.cn; s=201208; t=1772162608; bh=vVvpmf6xdd88ZX2h9Vg8vyUW1gpWppGn1R5iKhALtc0=; h=From:Subject:Date:Message-Id; b=uzZ3uq1UInNQ7usxuoye5UkY24Oum/RNPkkWL3u4i+U9DnffWaWnYYqmMV4DYyxub TqZ1/k8YkGSEV3UqO1L+WER3wpGqqXR1+MaVy+e24A5+zQYYs3M9/Q1v8dVGSh3ra3 kam9gg3+oIeM4Q9MzRJzZdc42pHQQgYE94quqtxg= X-SMAIL-HELO: sina-kernel-team Received: from unknown (HELO sina-kernel-team)([117.129.7.78]) by sina.cn (10.54.253.34) with ESMTP id 69A10E25000003E5; Fri, 27 Feb 2026 11:23:19 +0800 (CST) X-Sender: xnguchen@sina.cn X-Auth-ID: xnguchen@sina.cn Authentication-Results: sina.cn; spf=none smtp.mailfrom=xnguchen@sina.cn; dkim=none header.i=none; dmarc=none action=none header.from=xnguchen@sina.cn X-SMAIL-MID: 3835446291985 X-SMAIL-UIID: EABE996D79BF4B94B9D73590594729BE-20260227-112319-1 From: Chen Yu To: hch@lst.de, dchinner@redhat.com, djwong@kernel.org, brauner@kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 6.6.y] iomap: allocate s_dio_done_wq for async reads as well Date: Fri, 27 Feb 2026 11:23:15 +0800 Message-Id: <20260227032315.1961-1-xnguchen@sina.cn> X-Mailer: git-send-email 2.17.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Christoph Hellwig commit 7fd8720dff2d9c70cf5a1a13b7513af01952ec02 upstream. Since commit 222f2c7c6d14 ("iomap: always run error completions in user context"), read error completions are deferred to s_dio_done_wq. This means the workqueue also needs to be allocated for async reads. Fixes: 222f2c7c6d14 ("iomap: always run error completions in user context") Reported-by: syzbot+a2b9a4ed0d61b1efb3f5@syzkaller.appspotmail.com Signed-off-by: Christoph Hellwig Link: https://patch.msgid.link/20251124140013.902853-1-hch@lst.de Tested-by: syzbot+a2b9a4ed0d61b1efb3f5@syzkaller.appspotmail.com Reviewed-by: Dave Chinner Reviewed-by: Darrick J. Wong Signed-off-by: Christian Brauner Signed-off-by: Chen Yu --- fs/iomap/direct-io.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/iomap/direct-io.c b/fs/iomap/direct-io.c index 8158ab18e1ae..6dfdd52060ba 100644 --- a/fs/iomap/direct-io.c +++ b/fs/iomap/direct-io.c @@ -655,12 +655,12 @@ __iomap_dio_rw(struct kiocb *iocb, struct iov_iter *i= ter, } goto out_free_dio; } + } =20 - if (!wait_for_completion && !inode->i_sb->s_dio_done_wq) { - ret =3D sb_init_dio_done_wq(inode->i_sb); - if (ret < 0) - goto out_free_dio; - } + if (!wait_for_completion && !inode->i_sb->s_dio_done_wq) { + ret =3D sb_init_dio_done_wq(inode->i_sb); + if (ret < 0) + goto out_free_dio; } =20 inode_dio_begin(inode); --=20 2.17.1