From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-dl1-f47.google.com (mail-dl1-f47.google.com [74.125.82.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 765D1383C79 for ; Tue, 31 Mar 2026 18:34:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.47 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774982047; cv=none; b=n+q/CALLeKAnQxZoMd+k8g1yakNxdsjkdydDmnWi+CUg/wSqBRjcudQqOb7us4bAjFHn6rGxi3oDri5QVojm67elOLUkhGyqf3C9Rq0r4Bcig9XVQCLKSeFTWW/EyLhf4HzMcyIir/dY8ryIeY3SwSI9ltmeuoGkQcPGPRWDeuU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774982047; c=relaxed/simple; bh=QHsJQkym4a9teTSWDl9lRVRi5SpcIhpsX/he8dfp9BU=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=Aqz820WiwH/Ufcf8DWL9dlBvwn9GFdgD+DdEMFiVTPwZpUASXnbezG6LYjSgjTSLtdGGNk/jSA3sYL+8OHqCePCRkfXcrD64fhgYmqw/iRqYAY4+X3S2p6zxPikz7FsaLAL3VAqRxwpuBCGb4RZe2s/EoqDYI3b3kERIOfvkRyY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=rffHj9T7; arc=none smtp.client-ip=74.125.82.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="rffHj9T7" Received: by mail-dl1-f47.google.com with SMTP id a92af1059eb24-12732165d1eso8329596c88.1 for ; Tue, 31 Mar 2026 11:34:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774982045; x=1775586845; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=pi+/aLk98y1Fjh0c3aLsh+cUIgd41dFwurTnFFIPGd4=; b=rffHj9T7dyxIpElodrb78l2G5ikvmHcps02wDjpmym2Ibt9rUtQqNuUKt0mREmLctB Sa2hCSxR8oz2/lhmauNupAQo1c8h8rzz2gkqVxOIvFcm8KXkqfN1Zq/swgLXKq3yONR5 b2bW1pPJv/GjWOlkfi72oD937rS/Nx3RX3VZWBd0FwRrvx5LAFTogs2GUkxDbIH8EBb8 /6L5OL45I+NmsNVet0oE0qYrVE0GHQg3shVghgTZg5WYweBVSW3V2x1KqFKLON2nKwQ/ Wl+HA5fG/zDXP5zfxBrZsszb/yWBQq8NFhjhzGu28ZS0uJwvsz6oofbzHCJIl8ZBuwdB TAag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774982045; x=1775586845; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=pi+/aLk98y1Fjh0c3aLsh+cUIgd41dFwurTnFFIPGd4=; b=E96G7QBn3PHx8Jnn8tZVI3yPhM9+xywp6qA8R9slht9bJDZkAUOD1ucmJrCvBg7fZ0 JCWiR43HLglnUZw7VRwlYjzRvZJXxTkTs6YxNsbcZ6OdzHBvfKp3oSNxibBezTu/LguN tX5TaoJuLRoOQHdw8/fbz1EFgZMTid3DbE5zxu7jFiv2Hs18GvnA9lVBA2Ir8JwE0INP /rRaZ4VPmVRA7mikksiQw77eNAknuCQEejODszMFsRU8pZBPn3nU8VtfkI7MuSovfGmA lSIvKKI33BJC4T8hqCEHeisyOh7gGT0O9s4zU89/kfhIGs1ilDxyyilX+uu9tBR/R1PI y/+A== X-Forwarded-Encrypted: i=1; AJvYcCU9T+pO9qNCLmLvB0jmwxaSfertngmsWfTUZEmJB3d5dfRpOAHMKU3Sl5Ocx0bF/0aLkRy9q7R5JUzrgGk=@vger.kernel.org X-Gm-Message-State: AOJu0Yx9WILkTnrMpB5Q6XQSJdnNu2vJ6rAvup0MmKzKiL97xT2Xq0wL gvgDH2Lz5VMucPYJY3WW0i1AVI74fun9IAtGOB0HEDtUYKzFl4X5ntG+ X-Gm-Gg: ATEYQzyK0E8It9Ln/R/0ZC1qcYQZyMcyF8ZxcNP0qSCh4cyLu3nHyoEHmkfEdraZxRl qhPCbDQPjirxbkH1Yb4ZJHaf4Kghz8JpdqlUqKPaYF6cEuZPf0EXispk6OwdSBsynt2m1BG+cfP dikkWjyekQ6eByXHb1mY8C74UjEFWJlAerkNyxLapextm5ahYHxsJ8JmW3Coi2wy0O/gnZwQXhm Gp63Y5bviZBrtadBNTFRwj3/BrGuI5XBwiyI8pTcGLF90/1BzOfp8h1nmRe4Y8ysLQ+SjWLTWUJ e+ygqxmqhcaQZrgSe/RmKsWKHFpb6UeF8IvCMz2zQSPgNv21iXOtkuMmRNH0bzEvgkMZFINpfx5 fTeV0TfGXee5k9iggsb57iw3VqigB78s988Dhzeurf5iFC9gGdJm2EIZuOGO5/rk+Co1/nuPLJs OyMYya+xKyNrqxn81ibTPicMIuLQtAkPxauRBxsw== X-Received: by 2002:a05:7022:11c:b0:128:d39a:b141 with SMTP id a92af1059eb24-12be655e029mr334634c88.17.1774982045167; Tue, 31 Mar 2026 11:34:05 -0700 (PDT) Received: from penguin.lxd ([2601:647:6400:3ec0:216:3eff:fecd:e4ef]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-12ac4a0fa8dsm7961271c88.15.2026.03.31.11.34.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Mar 2026 11:34:04 -0700 (PDT) From: "Kanchana P. Sridhar" To: hannes@cmpxchg.org, yosry@kernel.org, nphamcs@gmail.com, chengming.zhou@linux.dev, akpm@linux-foundation.org, kanchanapsridhar2026@gmail.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: herbert@gondor.apana.org.au, senozhatsky@chromium.org Subject: [PATCH v3 0/2] zswap pool per-CPU acomp_ctx simplifications Date: Tue, 31 Mar 2026 11:33:49 -0700 Message-Id: <20260331183351.29844-1-kanchanapsridhar2026@gmail.com> X-Mailer: git-send-email 2.39.5 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit This patchset first removes redundant checks on the acomp_ctx and its "req" member in zswap_cpu_comp_dead(). Next, it persists the zswap pool's per-CPU acomp_ctx resources to last until the pool is destroyed. It then simplifies the per-CPU acomp_ctx mutex locking in zswap_compress()/zswap_decompress(). Code comments added after allocation and before checking to deallocate the per-CPU acomp_ctx's members, based on expected crypto API return values and zswap changes this patchset makes. Patch 2 is an independent submission of patch 23 from [1], to facilitate merging. [1]: https://patchwork.kernel.org/project/linux-mm/list/?series=1046677 Changes since v2: ================= 1) Rebased to mm-unstable as of 3-31-2026 (commit 24e341657c28). 2) Collected Acks. Changes since v1: ================= 1) Made the changes to eliminate redundant checks on acomp_ctx/acomp_ctx->req in zswap_cpu_comp_dead(), per Yosry. 2) Renamed acomp_ctx_dealloc() to acomp_ctx_free(), per Yosry. 3) Incorporated suggestions from Yosry and Sashiko to reset the acomp_ctx's members to NULL after freeing them, to prevent UAF and double free issues. 4) Replaced v1's patch 2 with v2's patch 1. Kanchana P. Sridhar (2): mm: zswap: Remove redundant checks in zswap_cpu_comp_dead(). mm: zswap: Tie per-CPU acomp_ctx lifetime to the pool. mm/zswap.c | 182 +++++++++++++++++++++++++---------------------------- 1 file changed, 85 insertions(+), 97 deletions(-) -- 2.39.5