From nobody Fri Oct 2 06:59:09 2026 Received: from mail-pj2-f9.google.com (mail-pj2-f9.google.com [74.125.227.137]) (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 439B0432BD0 for ; Tue, 4 Aug 2026 09:39:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.227.137 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785836351; cv=none; b=hXf3h76rXJo3oKYR7fSkPWEIr+gLVjEdWvCuzMkmvMe/6o8bHp4VKx1d1BiU8em5cuWqSeHuo7riUfzgc5hQzNkILUC53wiLa0+IJNDPqXpwWdblHU4kSunEm6BprCdOOr16GLbBG0XsRa0s8okCqS29Br82K9xyyj2tkwnLGqg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785836351; c=relaxed/simple; bh=SXp/5/NEZwyQ2T6u0pa5PIg41eZcqZD/pweYtKijIkA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qxr2ttB8NMu6urHhuooqsHn0nNbgNRhKIirn2zsPWDcBYn3cpfysr5R9gtrsm3PK2l9yFAQfY/zsL0kdjm5kyKeNdTQfdVA7vZS96y7jml/yulFcdXrKB25piStff4ORPbJfTctrw6E3uKkWfYzartfvFXCVvbPdHD+b1sMk14E= 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=ZixILjc5; arc=none smtp.client-ip=74.125.227.137 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="ZixILjc5" Received: by mail-pj2-f9.google.com with SMTP id 98e67ed59e1d1-38f0f8ab050so3605102a91.0 for ; Tue, 04 Aug 2026 02:39:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785836343; x=1786441143; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=u40wfBemGswFY3vLVA1SulOXv0qgjlAi2ZUYZH01yXg=; b=ZixILjc5o/OUubjHNpA6St5uqS/UzJfIifVJsjlOu+jfFTefWYZrYufHkcgu/YZaCb xyXhl9c88joS33CpxPY5uRRctQ7PLCkVWXfg3mLdRxTaJXB7g+ukg/v8YngGW6bXuNuH fsYMlb+zUa8MqkvY/WOP39XkSn+yAYHnHCDxZV/mRT05hFv1j0FHbsZ1yuYtObq6txJA I9qkdJCxl3ZYk3GGz4R682SnIFKuFy8ShC93E/2aRkOJaC+MMD4wgxh82mdCnMd3N50f aEyS2ik5jviiCRYHwjABzHJbihQ55l4qVcxwUU9ByBdT/p03kWRYGBQeJUi1Oh5K4jmc hwbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785836343; x=1786441143; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=u40wfBemGswFY3vLVA1SulOXv0qgjlAi2ZUYZH01yXg=; b=D0rCectR0T4PymGENvzM+sGvHZBgKfRjHIj7HFHzCFUA8c2Z3XW0WJkQGkkSOQDykX jnbhI04yhNdtL7CaHA/LtVYm1nguBlgvNbbs1k4zZzGWW6JYThpRT6NAB0aL1UXhar/G +6xg/jVgXAH9zB3pMEa77PIYyNOf17xcl3AZQj2q6Q2Anbuu/1iUNJiS4rEx2cdr9kp6 S0YIom8GqgLhneGe9MJ3IMWhsiIi0UHwGlmtdAThIBw+yNu/XC1VpAVxer58o8+cKvJQ 8StNZHYCKOPAsfbmL1ihzuNf6Cxvmfe/97C4mZOSkGRdah4ewrBcjS5LovJgLWt5JPTP ICew== X-Forwarded-Encrypted: i=1; AHgh+RqyVt400qKJArzDjGTGvO+kU5foslPTHgrSEPy//ParDDW8/rSpWrhSfdF4qAtnkRqzVKJ+L6QexhzmPGw=@vger.kernel.org X-Gm-Message-State: AOJu0YyRJN3Q0Cti3UOPkkJnZlkKfy+vKk3j9GuSWNByVZxI6pywcfQY PP4/AcUUBsBcwih0segigSaRcmM666cRv3smhduLsTBv2SluH4QuOnG1 X-Gm-Gg: AR+sD131AbJtAQhlDkizTprAMi5bdTcvptcte7SwDyaqN1n8ZnYRdVFo+prnLb8Mrra m+rX9T8Ts6I2i813CKPNzQaUAmumLgVMt0zJxEWPgh88f2tf/4MdxTPcyFgBw8vp9wqF2lme8Wv ZmIi/FVC4iJapYLpMWtuyAXiJx4akLBhB4rFG82tRJJphv3dbDMS/tao0PSgmFp5csy5yZVWzvH 5PnxQWvgjk0PtkCHOwdBP/HHe8rJyelCOcRQbUsFIzY/ggGqRYmlb0RU2ZEA2c9V4veRzhPYPdd /80hHFjIB5Eoc61ztW/srihFbNOOxWHwkGhvSEMTdFR7U49mx9JB/5MHmbhLczFXvEiTxIcRUt/ 6R+2IgJOotN27M7etwJ7eHX+NwyqoE1f5gPEknK4g7URECAt/R91/rLcFR4ydpoFfhlm1bYA11C ahetlEWOue+MiK9Se2Kf3nnhVosXaw86fMK/V0H9o4c8rHO9IeEe/MyjZDvtbXC7TCRsZipNpfG PKeFbQSd0OhKkz7B4PcNYE6Ucco9JfCCA== X-Received: by 2002:a17:90b:48c9:b0:38e:2fa0:491b with SMTP id 98e67ed59e1d1-38fbc511d3amr11525510a91.31.1785836342997; Tue, 04 Aug 2026 02:39:02 -0700 (PDT) Received: from HAOQINHUANG-MC0.tencent.com ([43.132.141.20]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-38fee06b438sm1042633a91.16.2026.08.04.02.39.00 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 04 Aug 2026 02:39:02 -0700 (PDT) From: Haoqin Huang To: Minchan Kim , Sergey Senozhatsky Cc: Jens Axboe , Nick Terrell , David Sterba , Andrew Morton , linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, Haoqin Huang , Rongwei Wang Subject: [PATCH v6 1/5] zram: do not release zstd global params from error paths Date: Tue, 4 Aug 2026 17:38:37 +0800 Message-ID: <20260804093841.67920-2-haoqinhuang7@gmail.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20260804093841.67920-1-haoqinhuang7@gmail.com> References: <20260803141256.60599-1-haoqinhuang7@gmail.com> <20260804093841.67920-1-haoqinhuang7@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Haoqin Huang zstd_setup_params() creates global cdict and ddict stored in params->drv_data, shared across all per-CPU contexts. The per-CPU zstd_create() error path called zstd_release_params(), which freed those globally-shared objects. This is a layering violation: a per-CPU callback should only clean up its own context, not release resources owned by the compression lifecycle. zstd_setup_params() called zstd_release_params() on its own error path as well, but zcomp_init() already calls release_params() when setup fails, so this is redundant. Remove zstd_release_params() from both error paths. Signed-off-by: Haoqin Huang Signed-off-by: Rongwei Wang Reviewed-by: Sergey Senozhatsky Tested-by: Sergey Senozhatsky --- drivers/block/zram/backend_zstd.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/block/zram/backend_zstd.c b/drivers/block/zram/backend= _zstd.c index d00b548056dc..5fabc3e7e975 100644 --- a/drivers/block/zram/backend_zstd.c +++ b/drivers/block/zram/backend_zstd.c @@ -85,7 +85,6 @@ static int zstd_setup_params(struct zcomp_params *params) return 0; =20 error: - zstd_release_params(params); return -EINVAL; } =20 @@ -161,7 +160,6 @@ static int zstd_create(struct zcomp_params *params, str= uct zcomp_ctx *ctx) return 0; =20 error: - zstd_release_params(params); zstd_destroy(ctx); return -EINVAL; } --=20 2.43.7 From nobody Fri Oct 2 06:59:09 2026 Received: from mail-pj2-f4.google.com (mail-pj2-f4.google.com [74.125.227.132]) (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 727BC3F3285 for ; Tue, 4 Aug 2026 09:39:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.227.132 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785836353; cv=none; b=jtC+Jg5Yl4gcDCtqlrFkab/xM2XWrrfgs8wBzr1NBvGe27xdkSvyZVz4xeb2retY/BFYnYu+t+4bnZ5ZYlBkhcPaghpi6yAldEJFf9NoD5dsA/EHHgqSTMpo4oUz22CMscKMiZ37+wXiY2w75zt4UFmVVoEut3kd5SEDdhEbNVk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785836353; c=relaxed/simple; bh=W8inotavFgmRWJBzpdKAMjr1lVUyDqfMCcuR/8IwcbI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bNYWMqW5h8JtA7kAgJJEKkjsBN3NQrWQf8M2ZPJkLKbAG92pXGYI07cOcWzPh3d6gWyypT08MWVfQcpN0U2au3HoIMfvGl8+Ft30fxEIivQZqXQjgB9FIsHCJ5SuHmE4TyvaSym9HOXPSKz0VIwhrM3Q7kayAs6bNS8PTneLUME= 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=G8QbywnE; arc=none smtp.client-ip=74.125.227.132 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="G8QbywnE" Received: by mail-pj2-f4.google.com with SMTP id 98e67ed59e1d1-38111ea8a88so3270823a91.1 for ; Tue, 04 Aug 2026 02:39:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785836347; x=1786441147; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=0fVLz33rvBmOP7svBk3nIv8hIfpVBo7+Tk4ZL3QQgIw=; b=G8QbywnEtaCi2HrNAn8g7pI4gKMDwVsq9oOXwhSNwHa4tX5vhJnGIhbU3Suc+RNBxy ke6/M9etPNjOAUEg0mXBObhcIbZnZJDqPvXUiXb3dhK2p76yOAqbHldh8F/fFFL70j+f lEYVwASKmYRWy5koAgsEYUlNiW72PdwS8Cg+4mg6sUU45i5zuIq1RAU63poMD6MIMV/t Lxa1OmDoBNSME0HCSySFPMS2fSfQQ7U9q6YoKIkDp/BGzmToGvTyfsX5QWoM+rlNrQxE MkIbD1kxNdRwdpbdkVghX0adTLYFR5K4NEouXhALoXfXcQQxIKZVEBcYey+aL3sNaVGG tTFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785836348; x=1786441148; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=0fVLz33rvBmOP7svBk3nIv8hIfpVBo7+Tk4ZL3QQgIw=; b=Cung18Cm3pCh6NTdSlCTHKmuj94nTBdGjsHFnamlJkwf6v3vupzFA2BgP1aEIRFpNH aj7jPFdJhEUA7iHU4GXuzhEyBbY2wTcZvl4Ov7UqKc9KGwNi0oqyTS7vEZiDvho9PBkY K7OUM48ecxFEtwkdFkxy8PUynLq2m2OT4cmtmCUWZ357PW2C9O4JWRydJRgQJA/NpmK4 EmL2+3QPAXIr0SwWgX0cbgGkk9JEyhlv48YCUEPu3Y6ODxI7GljDZ/57yNU/tF10ukCm EQbQZtdPjstuXB6TgZXZZpqFt4VpNQS0EQHj4g1fbb+QRM3P3Qf4IG3zsvOePMdWtKOG ym+A== X-Forwarded-Encrypted: i=1; AHgh+RrYoSwyx9PsHiKymMo0zSw/3ZcViVzUuefkX4tF/mExTDSGMeT9COCTpn6oz1AdA5/xXRgC0RTfhC8Lmu4=@vger.kernel.org X-Gm-Message-State: AOJu0YwXvjkMd3vVtq6w0Th6oHzScVJ6wVztZBOvSHHZN15vQ5mr+grd PCMGTj/nez9w1yWR2dfyU1zoGnnMUUbZ6wKNL2VJc6d/ZMDDDpl5TdDM X-Gm-Gg: AR+sD10VtlD3LRTAFRL8D6c9Ysd83lx2JthVr/5k8K3ZV9jQl/0sfagI4DVlYGo7bum e1atKUo9m5xvoMrnsc6MYthBkHZG8ZlAt45ZN+LVLM+OKtVSHTivr8NkWoigkBVM7v6xtJsjSxP QWNTf5iFB40K8hJVq+woxfStdvZ1X9bk3U1Raa/j0Z9qBkPWZG836FECCVWFTdoLjL5DqPjxa7E PUpLdhtyK7mP2+ZY5jMzE2oGExGWKcM1uKyA9F2fnVkwhfwx9nXViFxVPcgGOGsfZg37bnszI41 myO34Om3MwgVd777Jy5NOo3tHLSMjlh1u1MQ8GSS3N2QS8pcmh0YWv5yG+U5DpKf7wNYV6tSiHM WqYrCn4ZkwBtnVokXidWARi10hPolAMYX4FbAru1w9rmliwxqHL1qHQ+OOttiHcqaSmlXwLpAmh alB4WK9PxXFyQ36V4e2pos7zstwVHOTi/xaUkGzFxMtpMmSaA9HqYpaG3y+jwdjidhLtJjG2GIO 1YrnUv7m6/CoJR0bdNcYmlO5s+YXUOeWw== X-Received: by 2002:a17:90a:e704:b0:38d:3ca9:434 with SMTP id 98e67ed59e1d1-38fbc5344a9mr11848731a91.28.1785836347564; Tue, 04 Aug 2026 02:39:07 -0700 (PDT) Received: from HAOQINHUANG-MC0.tencent.com ([43.132.141.20]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-38fee06b438sm1042633a91.16.2026.08.04.02.39.04 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 04 Aug 2026 02:39:07 -0700 (PDT) From: Haoqin Huang To: Minchan Kim , Sergey Senozhatsky Cc: Jens Axboe , Nick Terrell , David Sterba , Andrew Morton , linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, Haoqin Huang , Rongwei Wang Subject: [PATCH v6 2/5] zram: reject zero-size dictionary Date: Tue, 4 Aug 2026 17:38:38 +0800 Message-ID: <20260804093841.67920-3-haoqinhuang7@gmail.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20260804093841.67920-1-haoqinhuang7@gmail.com> References: <20260803141256.60599-1-haoqinhuang7@gmail.com> <20260804093841.67920-1-haoqinhuang7@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Haoqin Huang kernel_read_file_from_path() already rejects empty files (i_size <=3D 0) and returns -EINVAL, but the current implementation only checks for sz < 0 without logging any information. Use sz =3D=3D 0 to reject the zero-size case and print distinct error messages for each failure type. Signed-off-by: Haoqin Huang Signed-off-by: Rongwei Wang Reviewed-by: Sergey Senozhatsky Tested-by: Sergey Senozhatsky --- drivers/block/zram/zram_drv.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c index cfa98846ac48..f73e30b61067 100644 --- a/drivers/block/zram/zram_drv.c +++ b/drivers/block/zram/zram_drv.c @@ -1700,8 +1700,16 @@ static int comp_params_store(struct zram *zram, u32 = prio, s32 level, INT_MAX, NULL, READING_POLICY); - if (sz < 0) + if (sz < 0) { + pr_err("failed to load dictionary %s (err=3D%zd)\n", + dict_path, sz); + return sz; + } + if (sz =3D=3D 0) { + pr_err("failed to load dictionary %s (empty file)\n", + dict_path); return -EINVAL; + } } =20 zram->params[prio].dict_sz =3D sz; --=20 2.43.7 From nobody Fri Oct 2 06:59:09 2026 Received: from mail-pj2-f1.google.com (mail-pj2-f1.google.com [74.125.227.129]) (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 3DE1542FCDA for ; Tue, 4 Aug 2026 09:39:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.227.129 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785836370; cv=none; b=VNuvZXFsZu7f11z82oUKg9C8ciPQHCJjGZPOingwQAOivRsDan7V2gI6OroqiG4athQom9pz9YNxEne5iUdOupzsPr0F7mUi2FaHEIVngkNMN0zir7UpXd0yIHztr/oXeb1yZSqJY8vlVwJwuLZXorKAKNsDeMRqaX7CUKDDAlw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785836370; c=relaxed/simple; bh=4WDkqJ5NqKqBlmXNv5UGHEtFFAixJWj53XAO6EYlgtY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=sKWn6Wits0Fdny7ox6WwCzVqa1kqiaxk0JZeuL5RgG1R8ABgv2mFOhCHO2hlXNdZeVg7qcRSH9GGsCVc9b4gnVFQpkZEUDAjTxp+bITtn7oWOT2YkpPCCuLCfibTQmrd36mTaefxjtR2Zf5Pb+gmDxPIDLUQD2HOQBrMYOAik6s= 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=EgJMc5pa; arc=none smtp.client-ip=74.125.227.129 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="EgJMc5pa" Received: by mail-pj2-f1.google.com with SMTP id 98e67ed59e1d1-381072761d4so2725215a91.0 for ; Tue, 04 Aug 2026 02:39:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785836366; x=1786441166; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Rzvl10fe5wXnUHm1LjdOZRWr4VsPCKLkR+GrS12mpLQ=; b=EgJMc5pao+HQwTiPGIySwInH0IEH2UbSUy3VtZDA5yHg9qFgTqrYgsbEW1zLMDYfJo ygEYEgiXM64Ot8WNeIqSHKknwljq/9w/fDxLeJ2WKZr4GIwlO+HRYxU4Mk7Dq3NzOl/v fcjYT1noG7tlB1Wu5UatfFzrB+gno3FzDRUyHGjZlbNgK+ZrHtEzZ8ieGvtnDS9mrIkf y1vkQ57fNiO59gRoBwgQE94SLL2NLnWbKjgmcESc5XwkGU/RHx8tY2cQAAXJhS2wbNhQ Fa54qPFw3HQskc42Tjif3GbZR5fQXCu002fKF7IdXmF4D73XNhavTgbWCc/NBAxc3HQ3 Ay0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785836366; x=1786441166; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=Rzvl10fe5wXnUHm1LjdOZRWr4VsPCKLkR+GrS12mpLQ=; b=QJnLjxRFyuo/q+L5tKkLdTAU/6Mxez9AzIfo/d5xsalbMSIbaocE8oKfjwwO5li2Jn xTb1StVSsvnw2ha1laJAf3yhr44LRQ4J98RACrNzYtRsri5QOsCmSiYVMqry2ZVM4eoi x9NOZkdZlZuSpoANhhM6YkOqc+SeuVN7/5QuO5UoM0NjuddQ7FkRWhZAkAUecxoEG/rv auFJip0sNjr9+6Bze1tR56F6GPxP2fopu2x6jbx0iY9O13OUtzFaPz78EuNPF3NeJ4vf +ujoxnunnkXdsTc32hw0Adcfl/kz1L0VOaHJ7Vug0/wxZbkJGBfgGhEYIzYwq9TNpmeE QDlA== X-Forwarded-Encrypted: i=1; AHgh+RrRTlo84IG/ocHGf+9yGWjwQMkoMyx2nnYS7BlD8isTk02VODSeJa6s9OUbRlhmwu8wp4llcKNRmvfQNXg=@vger.kernel.org X-Gm-Message-State: AOJu0YxtcaqOIiPuMjySdhyMSrk8PwS8ADSEBUFZncr3tHq117qYpzTA vtUQkv9kpY0BT6gdQf55+F2FJzFhCOy3op1SxJ5Z59c10vZr3FxMUsBiLvxL6H/Dc6TZTg== X-Gm-Gg: AR+sD11yleER/Nr8qrHaeNdIQV5qQPsij8CU5Nj8WW/DxLlpKlaiq1cvIpH6/z/R3Ui rbMCNpQV44AJs5urWl2+vGThw897DBYNhNbIGTpPLhx+dNSigVywI9uDgSrstA5Biu6lg0LGqUf HNuN8KRJTw3Eb9UYiUsOVaRLcFU+lt1ikbmg8F95Q9R2DZEbcS7CxTFFlIbHNgYDcTaC3tbQyMW RtvqaUqqintFjZS8EHpQjyfOGStL0310nsF2fGoONBZkaOEOQZlBCfiGw+1QAjfz9eqbLF9/Edv Mro2FBSdr7yyEfP1mOsYvYSMm+WAm7Tq7o9zzn4x5DTDUoYQdKevF5iQoSFVFzPYkZUTA5766Gl Ih78yCcYzHlAQZdsGayADWe7oQck/mEEQ2GCnBxTEi8prOpgHptwH7pK2npzOW05XdiZky4hrez SXS3NtKD7SvemNlkn+EZjTsDzdeRw2zdjBlWafNtZ+BH7wWWNQ5VV+D/eCAjUJjvFxXFgj8ngLA U+bv+Qwg+5auY4MfKi/ttXllKPzO2XewQ== X-Received: by 2002:a17:90b:562b:b0:37f:eafd:3505 with SMTP id 98e67ed59e1d1-38fbc4053e3mr11588841a91.6.1785836366348; Tue, 04 Aug 2026 02:39:26 -0700 (PDT) Received: from HAOQINHUANG-MC0.tencent.com ([43.132.141.20]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-38fee06b438sm1042633a91.16.2026.08.04.02.39.23 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 04 Aug 2026 02:39:25 -0700 (PDT) From: Haoqin Huang To: Minchan Kim , Sergey Senozhatsky Cc: Jens Axboe , Nick Terrell , David Sterba , Andrew Morton , linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, Haoqin Huang , Rongwei Wang Subject: [PATCH v6 3/5] zram: add pr_fmt to backend files Date: Tue, 4 Aug 2026 17:38:39 +0800 Message-ID: <20260804093841.67920-4-haoqinhuang7@gmail.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20260804093841.67920-1-haoqinhuang7@gmail.com> References: <20260803141256.60599-1-haoqinhuang7@gmail.com> <20260804093841.67920-1-haoqinhuang7@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Haoqin Huang Add pr_fmt to each backend so that pr_err() messages are auto-prefixed with the algorithm name. While at it, tweak the deflate winbits pr_err to avoid a duplicated "deflate" prefix. Signed-off-by: Haoqin Huang Signed-off-by: Rongwei Wang Reviewed-by: Sergey Senozhatsky Tested-by: Sergey Senozhatsky --- drivers/block/zram/backend_842.c | 2 ++ drivers/block/zram/backend_deflate.c | 4 +++- drivers/block/zram/backend_lz4.c | 4 ++++ drivers/block/zram/backend_lz4hc.c | 4 ++++ drivers/block/zram/backend_lzo.c | 2 ++ drivers/block/zram/backend_lzorle.c | 2 ++ drivers/block/zram/backend_zstd.c | 2 ++ 7 files changed, 19 insertions(+), 1 deletion(-) diff --git a/drivers/block/zram/backend_842.c b/drivers/block/zram/backend_= 842.c index 10d9d5c60f53..d9b8a6bba2cb 100644 --- a/drivers/block/zram/backend_842.c +++ b/drivers/block/zram/backend_842.c @@ -1,5 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later =20 +#define pr_fmt(fmt) "842: " fmt + #include #include #include diff --git a/drivers/block/zram/backend_deflate.c b/drivers/block/zram/back= end_deflate.c index b3f7d08b49d9..ee26e6c9282f 100644 --- a/drivers/block/zram/backend_deflate.c +++ b/drivers/block/zram/backend_deflate.c @@ -1,5 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later =20 +#define pr_fmt(fmt) "deflate: " fmt + #include #include #include @@ -30,7 +32,7 @@ static int deflate_setup_params(struct zcomp_params *para= ms) s32 wb =3D params->deflate.winbits; =20 if ((wb < -15 || wb > -9) && (wb < 9 || wb > 15)) { - pr_err("invalid deflate winbits: %d\n", wb); + pr_err("invalid winbits %d\n", wb); return -EINVAL; } } diff --git a/drivers/block/zram/backend_lz4.c b/drivers/block/zram/backend_= lz4.c index c449d511ba86..6d58956ed5b2 100644 --- a/drivers/block/zram/backend_lz4.c +++ b/drivers/block/zram/backend_lz4.c @@ -1,3 +1,7 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +#define pr_fmt(fmt) "lz4: " fmt + #include #include #include diff --git a/drivers/block/zram/backend_lz4hc.c b/drivers/block/zram/backen= d_lz4hc.c index f6a336acfe20..c0c3715087c8 100644 --- a/drivers/block/zram/backend_lz4hc.c +++ b/drivers/block/zram/backend_lz4hc.c @@ -1,3 +1,7 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +#define pr_fmt(fmt) "lz4hc: " fmt + #include #include #include diff --git a/drivers/block/zram/backend_lzo.c b/drivers/block/zram/backend_= lzo.c index 4c906beaae6b..84330dea6af5 100644 --- a/drivers/block/zram/backend_lzo.c +++ b/drivers/block/zram/backend_lzo.c @@ -1,5 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later =20 +#define pr_fmt(fmt) "lzo: " fmt + #include #include #include diff --git a/drivers/block/zram/backend_lzorle.c b/drivers/block/zram/backe= nd_lzorle.c index 10640c96cbfc..b3b03a008b64 100644 --- a/drivers/block/zram/backend_lzorle.c +++ b/drivers/block/zram/backend_lzorle.c @@ -1,5 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later =20 +#define pr_fmt(fmt) "lzo-rle: " fmt + #include #include #include diff --git a/drivers/block/zram/backend_zstd.c b/drivers/block/zram/backend= _zstd.c index 5fabc3e7e975..fb61acdaef67 100644 --- a/drivers/block/zram/backend_zstd.c +++ b/drivers/block/zram/backend_zstd.c @@ -1,5 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later =20 +#define pr_fmt(fmt) "zstd: " fmt + #include #include #include --=20 2.43.7 From nobody Fri Oct 2 06:59:09 2026 Received: from mail-pj2-f2.google.com (mail-pj2-f2.google.com [74.125.227.130]) (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 B937441A4FD for ; Tue, 4 Aug 2026 09:39:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.227.130 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785836376; cv=none; b=mj6WMsv1EL5smqSrvR90vnHjaJz1JouUqUXa64YdKvgMkk0yZwcPk9nRaEltJJNRUi+8uDa20MGwxjHax913AevJx/+xaU1e/kUZvKqkMohKDXEW+djrNOdMAO6m4440/aoIKhoKaKiLSjUIOVw0bnznZ187wyPW+25x/u8m8CQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785836376; c=relaxed/simple; bh=mzXlhD4EsPplX7xLnL0gq0I/jyWj8XgkqKgzE6m0sSI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FfLNqBzkEItm5kdl4fwlZsNKju5hhIVltK6nl80OLQsmn41MpndzhzCnzp9UPpF6dGHIJ7hXWq8sfO//HSw2hAKN/5zYSm2CJ8ezhOmzG8iEzfz0ZUOXByw9iVmQgCljIqe3Ev7+tZ8b9alLzeT7QC8iCds60v0fIL0Vw4h3C+Y= 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=OVYGR+Ko; arc=none smtp.client-ip=74.125.227.130 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="OVYGR+Ko" Received: by mail-pj2-f2.google.com with SMTP id 98e67ed59e1d1-380feaa05dcso1972298a91.0 for ; Tue, 04 Aug 2026 02:39:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785836373; x=1786441173; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=7rRNkoK3p4xDENHUzYr9Ku+zX2ZCm/WrueoQfpHUQmU=; b=OVYGR+KoeyD0pHrgVeQCx05jzWeiGegKJ1bdaPQ1Hl79AoZqrjSRtFaMU2u1pjTK6K idBR6gvxLNV/53ahVMp9xctrCHjB3SKRpwo/3v7WugsihuvUEnrp2ieBgXPcwWniv6mM 5vdC34ceZYQM86s9eT4V0IRq0pL88EaLPNayCdaAn57c7odWccd4ixNrBGy89sE22jpx 2qGbF9/TMp+bkYfQTnf41CwdEGFxbNNsfINbm/ObYXTPLdBR6RLJcGYaOyG8h3YUCMtC FuAqWNxMO8eyILGgz3fro7HlnsZj2BikobKCdwrjsB8XTnfdKDJfcvqu5Lt1AV4FhS+0 lK3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785836373; x=1786441173; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=7rRNkoK3p4xDENHUzYr9Ku+zX2ZCm/WrueoQfpHUQmU=; b=iZFjMY1dxDC4vK3Z+imPfUQdduawtr2amMzEhRK1rxbbXGGFgpRBINy4gHxIqyn+67 MjOyZ/NOrvp+tu4xLfUMmBK1A/7kTKyhJnIwFmhjIOSiak7+EkQHPKpezFSruChNIIZt HEBTsub1JEyJKF5XgI7DC9684oWf5WikcnhR7W7iYVcqiKigeTiOHN1ZQft3FaHuTiCO hRGKxk++44O1Lkp/VBu7F5Mvzewh3d3OYxAuoiotaIpaofQPIYM9QX3+/BFl4OI3cGYR Vw4tg7rfVIwtoea41RshbVgZ1TJl9JeYSi1DBnDFYCHZo419Orc/jpCFQlsXho7AwavJ p63g== X-Forwarded-Encrypted: i=1; AHgh+RoTxLN1IH1Bo+XHIidYqHoGyEfPTGe0qhsYkJoBOo6sC6wcJv+Ih0QEOqTrdnAqPsaVet94Dr+y/l+jV3Q=@vger.kernel.org X-Gm-Message-State: AOJu0YzMTI6X5c8QCuU9eyzp1o6puOvUVDrW2ax1tLYcWLcALg/XlbSU RJv6qNiESEQR9yMngk7MpOx95Jpj2YHsZaRsVg/gOK1q28Mi/Lsgpm/C X-Gm-Gg: AR+sD10wWEUrHV6PUN5bdbk+zGS19i/KaKHX5W+J2qThXqGN35wwBKmmNmJXf8864oF Nu3t9VFs2rPtmpi69+wPAW+tITskIDec+ucFOUpmtHqMOEMSOUCBTPAhu+LcjjzupsVJAo7XAIL YUXRs7+XHahEM/7KlSyZpTf9oJ61p/8QWdbFM5WN94P5CTo/vPkfFbBML3WLql+cxO281zyu+td N7CDkvq0+7girHBjIIbyXMJHAe6g6QC4KQNdV4hPvhZK059//gVgRYMWW643FSDgLG6+vu/RNoe aTugn29y0fA7iPUhp8VTS8XguxLrIEFWuvii4gxg8mpQFCGTa0Ue0/6yEH/FgDSVrwMHN9S6Jso sCxSKWm0x8GEgwicJXR6oblvtrWbfGEuxTFvPjm3wZfeud6olCQwSYevfCBEd7+kOsTm2UgJaK+ 2AnJTa/RtDv8Ocww6BDv2B5QFhVIrAtaQo3FA82nhDXQQyWncPkhJwIln/GhLW2Tfai1E336jhw JU7e7Pwun9ueZVZJnNtd08vt1tvOTBhGw== X-Received: by 2002:a17:90b:4c42:b0:37f:9cdf:f0ac with SMTP id 98e67ed59e1d1-38fbc4cf1b2mr12982888a91.27.1785836372663; Tue, 04 Aug 2026 02:39:32 -0700 (PDT) Received: from HAOQINHUANG-MC0.tencent.com ([43.132.141.20]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-38fee06b438sm1042633a91.16.2026.08.04.02.39.29 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 04 Aug 2026 02:39:32 -0700 (PDT) From: Haoqin Huang To: Minchan Kim , Sergey Senozhatsky Cc: Jens Axboe , Nick Terrell , David Sterba , Andrew Morton , linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, Haoqin Huang , Rongwei Wang Subject: [PATCH v6 4/5] zram: validate parameters in each backend's setup_params Date: Tue, 4 Aug 2026 17:38:40 +0800 Message-ID: <20260804093841.67920-5-haoqinhuang7@gmail.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20260804093841.67920-1-haoqinhuang7@gmail.com> References: <20260803141256.60599-1-haoqinhuang7@gmail.com> <20260804093841.67920-1-haoqinhuang7@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Haoqin Huang Dict and level parameters are silently accepted even for backends that do not support them. Validate these parameters in each backend's .setup_params() to reject unsupported combinations and out-of-range levels with a specific error message. Signed-off-by: Haoqin Huang Signed-off-by: Rongwei Wang Reviewed-by: Sergey Senozhatsky Tested-by: Sergey Senozhatsky --- drivers/block/zram/backend_842.c | 8 ++++++++ drivers/block/zram/backend_deflate.c | 13 ++++++++++++- drivers/block/zram/backend_lz4.c | 6 +++++- drivers/block/zram/backend_lz4hc.c | 12 +++++++++++- drivers/block/zram/backend_lzo.c | 8 ++++++++ drivers/block/zram/backend_lzorle.c | 8 ++++++++ drivers/block/zram/backend_zstd.c | 7 ++++++- 7 files changed, 58 insertions(+), 4 deletions(-) diff --git a/drivers/block/zram/backend_842.c b/drivers/block/zram/backend_= 842.c index d9b8a6bba2cb..3846a04c69d7 100644 --- a/drivers/block/zram/backend_842.c +++ b/drivers/block/zram/backend_842.c @@ -15,6 +15,14 @@ static void release_params_842(struct zcomp_params *para= ms) =20 static int setup_params_842(struct zcomp_params *params) { + if (params->dict_sz) { + pr_err("dictionary is not supported\n"); + return -EOPNOTSUPP; + } + if (params->level !=3D ZCOMP_PARAM_NOT_SET) { + pr_err("compression level is not supported\n"); + return -EOPNOTSUPP; + } return 0; } =20 diff --git a/drivers/block/zram/backend_deflate.c b/drivers/block/zram/back= end_deflate.c index ee26e6c9282f..f71b11bcac78 100644 --- a/drivers/block/zram/backend_deflate.c +++ b/drivers/block/zram/backend_deflate.c @@ -24,8 +24,19 @@ static void deflate_release_params(struct zcomp_params *= params) =20 static int deflate_setup_params(struct zcomp_params *params) { - if (params->level =3D=3D ZCOMP_PARAM_NOT_SET) + if (params->dict_sz) { + pr_err("dictionary is not supported\n"); + return -EOPNOTSUPP; + } + + if (params->level =3D=3D ZCOMP_PARAM_NOT_SET) { params->level =3D Z_DEFAULT_COMPRESSION; + } else if (params->level < Z_DEFAULT_COMPRESSION || + params->level > Z_BEST_COMPRESSION) { + pr_err("invalid compression level %d\n", params->level); + return -EINVAL; + } + if (params->deflate.winbits =3D=3D ZCOMP_PARAM_NOT_SET) { params->deflate.winbits =3D DEFLATE_DEF_WINBITS; } else { diff --git a/drivers/block/zram/backend_lz4.c b/drivers/block/zram/backend_= lz4.c index 6d58956ed5b2..1e28104ad964 100644 --- a/drivers/block/zram/backend_lz4.c +++ b/drivers/block/zram/backend_lz4.c @@ -32,8 +32,12 @@ static int lz4_setup_params(struct zcomp_params *params) LZ4_stream_t *dict_stream; int ret; =20 - if (params->level =3D=3D ZCOMP_PARAM_NOT_SET) + if (params->level =3D=3D ZCOMP_PARAM_NOT_SET) { params->level =3D LZ4_ACCELERATION_DEFAULT; + } else if (params->level < LZ4_ACCELERATION_DEFAULT) { + pr_err("invalid compression level %d\n", params->level); + return -EINVAL; + } =20 if (!params->dict || !params->dict_sz) return 0; diff --git a/drivers/block/zram/backend_lz4hc.c b/drivers/block/zram/backen= d_lz4hc.c index c0c3715087c8..d8aa01bb258f 100644 --- a/drivers/block/zram/backend_lz4hc.c +++ b/drivers/block/zram/backend_lz4hc.c @@ -22,8 +22,18 @@ static void lz4hc_release_params(struct zcomp_params *pa= rams) =20 static int lz4hc_setup_params(struct zcomp_params *params) { - if (params->level =3D=3D ZCOMP_PARAM_NOT_SET) + if (params->level =3D=3D ZCOMP_PARAM_NOT_SET) { params->level =3D LZ4HC_DEFAULT_CLEVEL; + } else if (params->level < 1 || params->level > LZ4HC_MAX_CLEVEL) { + /* + * Use < 1 rather than < LZ4HC_MIN_CLEVEL here because + * LZ4HC_compress_generic() only clamps levels below 1 + * (levels 1 and 2 are valid). LZ4HC_MIN_CLEVEL (3) is + * advisory and not enforced by the library. + */ + pr_err("invalid compression level %d\n", params->level); + return -EINVAL; + } =20 return 0; } diff --git a/drivers/block/zram/backend_lzo.c b/drivers/block/zram/backend_= lzo.c index 84330dea6af5..d83f92cf757c 100644 --- a/drivers/block/zram/backend_lzo.c +++ b/drivers/block/zram/backend_lzo.c @@ -14,6 +14,14 @@ static void lzo_release_params(struct zcomp_params *para= ms) =20 static int lzo_setup_params(struct zcomp_params *params) { + if (params->dict_sz) { + pr_err("dictionary is not supported\n"); + return -EOPNOTSUPP; + } + if (params->level !=3D ZCOMP_PARAM_NOT_SET) { + pr_err("compression level is not supported\n"); + return -EOPNOTSUPP; + } return 0; } =20 diff --git a/drivers/block/zram/backend_lzorle.c b/drivers/block/zram/backe= nd_lzorle.c index b3b03a008b64..1b120d062c92 100644 --- a/drivers/block/zram/backend_lzorle.c +++ b/drivers/block/zram/backend_lzorle.c @@ -14,6 +14,14 @@ static void lzorle_release_params(struct zcomp_params *p= arams) =20 static int lzorle_setup_params(struct zcomp_params *params) { + if (params->dict_sz) { + pr_err("dictionary is not supported\n"); + return -EOPNOTSUPP; + } + if (params->level !=3D ZCOMP_PARAM_NOT_SET) { + pr_err("compression level is not supported\n"); + return -EOPNOTSUPP; + } return 0; } =20 diff --git a/drivers/block/zram/backend_zstd.c b/drivers/block/zram/backend= _zstd.c index fb61acdaef67..08da3810cffd 100644 --- a/drivers/block/zram/backend_zstd.c +++ b/drivers/block/zram/backend_zstd.c @@ -60,8 +60,13 @@ static int zstd_setup_params(struct zcomp_params *params) return -ENOMEM; =20 params->drv_data =3D zp; - if (params->level =3D=3D ZCOMP_PARAM_NOT_SET) + if (params->level =3D=3D ZCOMP_PARAM_NOT_SET) { params->level =3D zstd_default_clevel(); + } else if (params->level < zstd_min_clevel() || + params->level > zstd_max_clevel()) { + pr_err("invalid compression level %d\n", params->level); + goto error; + } =20 zp->cprm =3D zstd_get_params(params->level, PAGE_SIZE); =20 --=20 2.43.7 From nobody Fri Oct 2 06:59:09 2026 Received: from mail-pj2-f1.google.com (mail-pj2-f1.google.com [74.125.227.129]) (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 A96B34399E4 for ; Tue, 4 Aug 2026 09:39:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.227.129 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785836379; cv=none; b=sUmNemZbb7QesijWoIUJmfy1YohZxjGmVnlX7wSTAGpX5XFFmldjy4UwqVKCy+My9jYLd/cnpzIv4rdjBrbamQ+zJfQP2XdZKmIDf9cS2QKF8Xwc2II6Rj+JUz7A2EF0jdbI6Q7fntRiq2f3Eo+Q7hXsHW1I3ShLriUJv/Nlms8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785836379; c=relaxed/simple; bh=2ObN4/kUPlMIFl22s20V3gSYdrixX5aBCSS+ge+131M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=guFqnSEoKC8N+Pb5RNhnZusuCB2eeDilY/GvaN7amzxcIRJUhQVP07X5WFTFVkDbDYc4hlsN+/ro1zTGGfcl5Nt9Adiz5yGzq3Alb45ATiE69xlts8hfh+bT6zKw7gXBwVCsy/CYv5z4+5ezTWLhfdDQ1WmBHamJWa/fCLTx5J8= 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=g46gRtdl; arc=none smtp.client-ip=74.125.227.129 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="g46gRtdl" Received: by mail-pj2-f1.google.com with SMTP id 98e67ed59e1d1-381c69ad0d9so2236126a91.0 for ; Tue, 04 Aug 2026 02:39:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785836377; x=1786441177; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=gpp2vht7dryf40Am3BbMUJZ6cpQjeP9ZW+61UrydBQ8=; b=g46gRtdl09Aj1RyxMG3XhMxINAhv6VXjFP+51c06Yw/SaYnUzyC+LfYhCKzNQmSw4p Nc90tfdyeMDAtLSuaUsKmqIQ3qwXtcrsOjbgUMzJv2uwaVxamkWDLAVvy53T/21TehAa qo/DMs+fdA6kNx/YwWagGxhidtzF0X6CjN/s8Q3jaS8ApUnPI77JQifqhKMxleyjSmpI Hgjr/Zzz7amblMbRwn3e7LeTZmsmOdr+QVHFmYBdLRe1++SlGI1x4LOrZGXk6NMBPY7G dlJibGrSGUq6wuhj1PwzP7qk0c6/61GrzlCkYrOad4zTFqGDaDOXYa8IHygpgBjJ6262 pKPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785836377; x=1786441177; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=gpp2vht7dryf40Am3BbMUJZ6cpQjeP9ZW+61UrydBQ8=; b=Y4rUKF0D66ctMq+TZ+wZZcIKWjllWb3IOo2KxDK3DtAtmtikVOmm3FfuDtqd2VZeUR oOs9mJ5UJXl8C1+GTfxkvEDYvY2ePIvEbGF5ciZ55g6OxEM+kt8IwaSuQlGwyziaK/xo p9ieYnW3Ekr0R9+W+4Ahb7B+ED7urBuQ6y37k6z2YKtmCaCtN0jWuCJLOz+7JTIlkrgg h4AMrt8bVEVSXTXhMCRwW2U0ihUi0pvjMBu8LRXvhnzj0VxcpvsRpT8mKq5gJUU4esDc c44unQzhhiNgYa2uIl/lD/WWYjg6tByOi9BoupxxgfIRL8iOWPFEPDEodTHqnV/W2+av pZaA== X-Forwarded-Encrypted: i=1; AHgh+RqnQ+301kLSsw2WZkhII6eFjsp2PltpoipitbBbf0/9/t+hvTPfDn1nQ0hMvTZOKhJoD8SlwdruoamhZsk=@vger.kernel.org X-Gm-Message-State: AOJu0YwqZLY5ydOTkEMHKPLOheO4TPtcuJrddCyur6aTictddhGsLzl2 5f1YBgVtcT5/8Jr8N6muJdmtwuC8EFRuOOJjUC0370HHgTmM2G5YOSoQ X-Gm-Gg: AR+sD13ExcVyoWfeK6NNIZ4lHLM3NzX4ADMYO1nydh51eNpoerAY/OsdqSA06EaGAqM DRRsrgJXXfUN5On+SaFQRj84Gk+xfhBl6eKmDfOLgaE6d3ysqIMdw6cyDNQajAQG3MjOe17OenG ZvVr39rh6grsHO4EMKm/i061Mvc5XJvcAbY/8tfbgO5+vDYinPZ+tYxO4xoFRes/pYGs1p7x2Qa hCNp18IYKxHH/b7kWi2WtKn2QC/gKFbO7QV6c3IupaPv1kK2Y3RTN7ZXigblufL6+pPxB4iOz3E EeNiDEGu67r9ITyGN4vI73Y1mXJxPx01FvElB+Dwjo5d+atRW1zv/MnHOv/UqTUcfz5yPZFmAWn fVteRrcYzXwOXODeRzPJzwZo7Y/c3xmEuYrRL/7h9OZyehoP8HIcDkSz6Y/BVMQ807EsBFqeUMr Z4GHaUmRTp7jBGxg09AZYNTBnq3srIVWmnPDmkf7thYm9f/r72E0dlXFxJRUQu2E0Pyy3n6KLwM BQMmc5T2QCTx0b9S241cdvHhDXI1StO5g== X-Received: by 2002:a17:90a:d004:b0:380:873:49cb with SMTP id 98e67ed59e1d1-38fbc4d615emr12723709a91.21.1785836376759; Tue, 04 Aug 2026 02:39:36 -0700 (PDT) Received: from HAOQINHUANG-MC0.tencent.com ([43.132.141.20]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-38fee06b438sm1042633a91.16.2026.08.04.02.39.33 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 04 Aug 2026 02:39:36 -0700 (PDT) From: Haoqin Huang To: Minchan Kim , Sergey Senozhatsky Cc: Jens Axboe , Nick Terrell , David Sterba , Andrew Morton , linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, Haoqin Huang , Rongwei Wang Subject: [PATCH v6 5/5] zram: reset per-priority params when changing algorithm before init Date: Tue, 4 Aug 2026 17:38:41 +0800 Message-ID: <20260804093841.67920-6-haoqinhuang7@gmail.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20260804093841.67920-1-haoqinhuang7@gmail.com> References: <20260803141256.60599-1-haoqinhuang7@gmail.com> <20260804093841.67920-1-haoqinhuang7@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Haoqin Huang Parameters validated against one algorithm may be invalid for another (e.g. lz4 accepts level=3D65535 but zstd does not). Although algorithm changes are blocked after disksize is set, they are allowed before device initialization. Reset per-priority params on algorithm change so that stale parameters do not silently carry over. Signed-off-by: Haoqin Huang Signed-off-by: Rongwei Wang Reviewed-by: Sergey Senozhatsky Tested-by: Sergey Senozhatsky --- drivers/block/zram/zram_drv.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c index f73e30b61067..56183c827e1b 100644 --- a/drivers/block/zram/zram_drv.c +++ b/drivers/block/zram/zram_drv.c @@ -1652,6 +1652,17 @@ static void comp_algorithm_set(struct zram *zram, u3= 2 prio, const char *alg) zram->comp_algs[prio] =3D alg; } =20 +static void comp_params_reset(struct zram *zram, u32 prio) +{ + struct zcomp_params *params =3D &zram->params[prio]; + + vfree(params->dict); + params->level =3D ZCOMP_PARAM_NOT_SET; + params->deflate.winbits =3D ZCOMP_PARAM_NOT_SET; + params->dict_sz =3D 0; + params->dict =3D NULL; +} + static int __comp_algorithm_store(struct zram *zram, u32 prio, const char = *buf) { const char *alg; @@ -1672,20 +1683,10 @@ static int __comp_algorithm_store(struct zram *zram= , u32 prio, const char *buf) } =20 comp_algorithm_set(zram, prio, alg); + comp_params_reset(zram, prio); return 0; } =20 -static void comp_params_reset(struct zram *zram, u32 prio) -{ - struct zcomp_params *params =3D &zram->params[prio]; - - vfree(params->dict); - params->level =3D ZCOMP_PARAM_NOT_SET; - params->deflate.winbits =3D ZCOMP_PARAM_NOT_SET; - params->dict_sz =3D 0; - params->dict =3D NULL; -} - static int comp_params_store(struct zram *zram, u32 prio, s32 level, const char *dict_path, struct deflate_params *deflate_params) --=20 2.43.7