From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 675C2C19776 for ; Wed, 26 Feb 2025 20:00:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C6943280003; Wed, 26 Feb 2025 15:00:22 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C17EE280001; Wed, 26 Feb 2025 15:00:22 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B073C280003; Wed, 26 Feb 2025 15:00:22 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 82E08280001 for ; Wed, 26 Feb 2025 15:00:22 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 18D24A16D4 for ; Wed, 26 Feb 2025 20:00:22 +0000 (UTC) X-FDA: 83163162684.12.B937CB1 Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) by imf08.hostedemail.com (Postfix) with ESMTP id 5D63816001C for ; Wed, 26 Feb 2025 20:00:20 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=bs5zT0IP; spf=pass (imf08.hostedemail.com: domain of ebiggers@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=ebiggers@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740600020; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=+A1PdUM2kp20Doe3P//uSaDGOBYulB5XXdMECb/AxKg=; b=LlUICMA4DInWaQLrOCOzmW/y6ZbpQJNUVU0vYMkuVfLclsVV+cZKwFj/ajnB5Li+TgdP6u QHimYnV8aDyKivj0ylvAANPifp98eSvA0djOQRT1i3UK1Fe9Fj9Qfs2Un/G+RXBJL7a+NW 0qbIwEBOiWsWCM961Y2bQhNCeeR1HHk= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=bs5zT0IP; spf=pass (imf08.hostedemail.com: domain of ebiggers@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=ebiggers@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740600020; a=rsa-sha256; cv=none; b=n0fFFJZanDUJOaYzSfRcJhPkJlLj8czvCxs/Fg1LzJ9LA6VewUFljg0xSkIlv57mhuqCuv jn4+7EQmIUTPMvJtwnng9dgwlB30FhQBrLS/lOVix8Gmxzch0D1KZQjrDy0YPcTwXD4Aoj WvytzGNd8z9bjwTHLgMUfjjb0DTuhiE= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id D53C9611EE; Wed, 26 Feb 2025 20:00:11 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3C263C4CED6; Wed, 26 Feb 2025 20:00:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740600019; bh=2NZZNRHCN1D1wJBiE7xyhOIwsgdG234riLaTh6G31Ew=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=bs5zT0IPho7ZJiovwtijGcEwt3DdmOO9LTEEirR9VhizuuoLVhuhzvzU8xitLlRhC m111NfEJmSn4p/cLUL7aMq+1RND0f/EADUUjXODJuU4vA2Wd+weN8keyJDs0YeIc9H fn2EdJEwzUkxo7g5b/ciCpzd0xxLuPZ8paQ2gQX0ueeKoCClJjielKEGecPPLUoxQL QUM5HvSnjsjD4NP3MhkxuaMf2Xmj7U7Iu6Ly7ecLJeWVKVJRA9QlVpC+fixHhKmE4B 8FCFOGukkObRVQQ2Q3NIYb4uD2J1yRR07CV4aVa+pFadZlka2hrsLYv06Rv+l40HY/ FnoricZTxFoQw== Date: Wed, 26 Feb 2025 20:00:16 +0000 From: Eric Biggers To: Yosry Ahmed Cc: Andrew Morton , Johannes Weiner , Nhat Pham , Chengming Zhou , "David S. Miller" , Herbert Xu , linux-mm@kvack.org, linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com, syzbot+1a517ccfcbc6a7ab0f82@syzkaller.appspotmail.com, stable@vger.kernel.org Subject: Re: [PATCH v2] mm: zswap: fix crypto_free_acomp() deadlock in zswap_cpu_comp_dead() Message-ID: <20250226200016.GB3949421@google.com> References: <20250226185625.2672936-1-yosry.ahmed@linux.dev> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250226185625.2672936-1-yosry.ahmed@linux.dev> X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 5D63816001C X-Stat-Signature: yxjjng98f7wdxcibaxjf9w7djntin7od X-Rspam-User: X-HE-Tag: 1740600020-999348 X-HE-Meta: U2FsdGVkX18MMjWh7v/az8nT+KXZrdUNDWc+oOOdN6UmqULeTjfjBUQR26h3pa8NcySr4FB7dKtgYn5uSTX1ocqZo8XwOawNLl3cpzdG7I3L0Hiwdokjda4rAfkEP9cZTUtwF+xal86o1A2S8A4JWi4ZOkem3GItsfh1xIP1j1a7SybqMK0o+TS6mvjz3obDOxy8RIAMne/RNQ7O7RzV+eMXw0x3RCfIe+1xSBrLDQxaYgz0RP91O5TjHiwKm6+7/JA4fFF/uGEqyrdJOxc+xN+ruqKrWhQEbWXmtNzMtHddvw0lPqyFYNBgQ4VMFPhmoF01LCOv83pSO3S/0pg5Ihh51C2ENbrGgSd69VaGXyr+gKoRCVrAf7oCYDDJj+De8EfCyStDj55KUstODESPUzyGNMH9BxWtzCls3lRvObgd4qXSI/oPrsIdEBFRsUBMczf4gtSEeXSVqHGXpjOls6BhNvycR51i0CGebOQ92SFXvicMZLCbKg3tUzSsMl+FTOA558khY3mh4TgDABtz7tnqvYW+fo9jdagzsnnuMmLj94krRCxn8IIwpEBxg75ilNGrA2yT0gTZ3O+o2wXwWpcFqPjc0aYOfVVWjqhReEsKQ9lXuHAiroMI6IDUJiGuiXfvc9XUaDKcGCq4oXOZl702ERClrTzgbUsm9iLros2vAvqUipUiTlgVrPufmqeDeUDQFREzeu22N3XC3i6ZedrB63b627zkRuWNLNMRLmv6d5d6ebG9ITqY/MLDMOVqu2MttIE/otvV4LQeSnhALFpvVQJVyAlN91fcCIdYQWrdwRGE4Zb4hOWlahZkNLuDZ3shfEW8dt4LDvuoZLWkTj+HSkG/R0O5ABe2BdvQrH6dFud3ivQGzdQbdCL1fSmytXi8yjV9xBD6ByT9rZTCnddqR3/wmbjWI29bxJY9oUfaIQmslKXlcggVyZuPXawPrHYUcwGYpoFQ63ABlMi unvzjsZS PS19K/7iHycAVOFUuW61HnUCJHz2g0mmHYhabeM07EMIZ896MDFwdnlIJ0wOYVDjSLSSoMmvwtFQ28NsbL5n1mX0Wa3p0Zwxr9kksDiskZ8F91gM632pM3soR0HT5nLM8cVSKMduAweYBSEoYMXbYmKtnYfSi+P4BVsYrMLzHU+4UCni6PXnWKd5t6NxJOUNY/pdMr+LYKd1p1IxAYTJ63iqD7TyVHXPI+Ajar1xQfH6GUExTJQ/Qh9sNUjNzUiTOUKMZFknUf3XKMW4TwAuAVU044Oxty9WrwnWU7re91FfdyR4m9yTnS98g/uIcFQxQqDqu8UwXoB8qigO+npp/RK9f2exe9pkhBssLacuvlxeaA2IzlWKIDKbnIa3Okzye+hxmN2TDvtLuc9bCbsYJT0A1Es+AUQync+9YJA6hL0iz5UI0go38LROy3I1M5ilKOjlHJnTBe42WYeZJF14ewJ1MgN3ST66/j4dt X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Wed, Feb 26, 2025 at 06:56:25PM +0000, Yosry Ahmed wrote: > Currently, zswap_cpu_comp_dead() calls crypto_free_acomp() while holding > the per-CPU acomp_ctx mutex. crypto_free_acomp() then holds scomp_lock > (through crypto_exit_scomp_ops_async()). > > On the other hand, crypto_alloc_acomp_node() holds the scomp_lock > (through crypto_scomp_init_tfm()), and then allocates memory. > If the allocation results in reclaim, we may attempt to hold the per-CPU > acomp_ctx mutex. The bug is in acomp. crypto_free_acomp() should never have to wait for a memory allocation. That is what needs to be fixed. But really the bounce buffering in acomp (which is what is causing this problem) should not exist at all. There is really no practical use case for it; it's just there because of the Crypto API's insistence on shoehorning everything into scatterlists for no reason... - Eric