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 3A4C6C282C6 for ; Mon, 3 Mar 2025 23:17:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C64DD6B0083; Mon, 3 Mar 2025 18:17:03 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C15D76B0085; Mon, 3 Mar 2025 18:17:03 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ADC8E6B0088; Mon, 3 Mar 2025 18:17:03 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 8C34A6B0083 for ; Mon, 3 Mar 2025 18:17:03 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 3838F81124 for ; Mon, 3 Mar 2025 23:17:03 +0000 (UTC) X-FDA: 83181802326.03.3E48722 Received: from mail-qk1-f182.google.com (mail-qk1-f182.google.com [209.85.222.182]) by imf25.hostedemail.com (Postfix) with ESMTP id 056CDA0005 for ; Mon, 3 Mar 2025 23:17:00 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=Tt3fdizB; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf25.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.222.182 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741043821; a=rsa-sha256; cv=none; b=YMd05D8tlOSvd0itO12Ol7RaTQ1MwMoLa7UOtL96R1n84yF9F4dz5g7gw/vBoNACgKEknB DA7aEeH0mkBbpQ23V1ksuDry83rM7bKlzFXps86uSfbBPaVtdtW+EPL2JCJVxeBUZC8vqX NrasK3wQsy+yQYEB9GvxOrRLUynh4c0= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=Tt3fdizB; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf25.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.222.182 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741043821; 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=Pf+NCzNy6DAShh+optSqQO8OiQ38cROEYTHCXgfvMNE=; b=W5A/i7BbS7DseP7MNss3kZ0OI+IuvzICYFTSpLo7OjKTCuJLNejXzIov85/LTc81ZAwrHp YUJts+mKeJTliXBj4vLGIqaFITO6v4wh4lZm63s87APxelkf8zt8QLjEU7+GEq/zTeWv2n xUQBS0r1IZWnzUMYrpDKFrmjkzZIXmg= Received: by mail-qk1-f182.google.com with SMTP id af79cd13be357-7c3b63dfebfso189173085a.3 for ; Mon, 03 Mar 2025 15:17:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1741043820; x=1741648620; darn=kvack.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=Pf+NCzNy6DAShh+optSqQO8OiQ38cROEYTHCXgfvMNE=; b=Tt3fdizBhlxr6W23J2NqXygn8KrmdkVKjHAa4QiLZsdCL2TeNOOQfx/5zRJgaVwFv6 F2MORcYJDkgl2/xWymNalebcgMAPXn6bHjgx342fpPHemQMrxB+0cEQFjqUbgP6ad86r 1WnGZtNlvpwK455oeXrBWhCTPrs4wNVqs0ZnreVPGtAydXNNKU/yOTPhhnGdIeVOsnB4 CL6hPtaCWkg3Buf5JVSdedKQABvn6YtGZgbpb5tDBsX3InK+UUZ0BHadT48GIL/T9hto uvgOiI/SRn3EQQ1eXyTEQoAbuOq4kQUL41/iBdfbsJiGx2zguQZdC3IZ63ZT1XTtLNXe qbpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741043820; x=1741648620; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Pf+NCzNy6DAShh+optSqQO8OiQ38cROEYTHCXgfvMNE=; b=DPNwAHxTg824PEjVIK+4yqoLGoqQxAwcWUKqRoyDZEY4NUqX48MPuEdhTKC3quVXFN k1V6TLFzI71KlTbxUX7mWTGxxDWQuHgIwEmPmhIiShx/wEOYJsIj417TrtA2S28/G+NW SyF0TNuDZWZKzTqh/F+XfAwWhLQ9wvDClvjK0C2Vle2ubuKX+EvEJX5C522iLGexGlJp H6DQaneV3iLkezlb4zAi4XLPmk7eWx0tc//G0Kaj1+vTzzcEqxlRpGmXNubMpH/Gm0Hm lk6WBDaHo4B74KjOc5SdhxaHaVbFhPaA597xp7q6Ut5AoMBVWlrlXQJ8NV/imA0TChg/ Vgdg== X-Forwarded-Encrypted: i=1; AJvYcCWqoK4hHTZcEC5B+Pf/W8YXsahpcgQFx0zaFLrKgFL70IB4yZ0AhBb/O7l9GUZBzNfC24O6ADUiyg==@kvack.org X-Gm-Message-State: AOJu0YxbphtC5P3yBwGliO/nZ47XEEzUie3/xMMaXmWQfoyYIDqiiTgL Bmsf3o+zWsjqIysLFIX7BAd/n2BkmTVULQjSV6CaVhQOOrNGOuIByeniMNQftx0= X-Gm-Gg: ASbGncuQG3mLAj8qE4wkryHApuv8f51yTlvpFjQq+hIVeFKJD+zqCEPRA9abT0srNx8 JUnbKhin+teojqf4IQgTlWoXDawZ0WGoY7TLJCbcRwIcRvQQWJDfH+E5J6L3GD+myUhwlcAh+Ll DFx+IVMsdgz2CHoeaWiXqsCAXe/y3X3Rh3QeBroSfxmkFXOm5GH7q3cOoaXR/CDW57bA8n3T+J5 pyRcwK5bziduCIS9TK0YzQrqaDt2Gx5j57gFrF6WTUJ+O6f7s1ObVt7pchL7StgyjE/llVABViI G2H7VfYTMuaX8z+/asqzLuKfIuIaQwwW3ZjfZmC76Sw= X-Google-Smtp-Source: AGHT+IExpJ0h7r3eDD/EVY81m4Uh57UyCKXDVuTBCkhngbwfxheWBk/7z6l0khLjsRPXclNd3ykysQ== X-Received: by 2002:a05:620a:608a:b0:7c3:cb28:2f2f with SMTP id af79cd13be357-7c3cb283227mr243543285a.5.1741043819839; Mon, 03 Mar 2025 15:16:59 -0800 (PST) Received: from localhost ([2603:7000:c01:2716:da5e:d3ff:fee7:26e7]) by smtp.gmail.com with UTF8SMTPSA id af79cd13be357-7c395c5376bsm611693685a.37.2025.03.03.15.16.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Mar 2025 15:16:58 -0800 (PST) Date: Mon, 3 Mar 2025 18:16:54 -0500 From: Johannes Weiner To: Yosry Ahmed Cc: Nhat Pham , akpm@linux-foundation.org, chengming.zhou@linux.dev, linux-mm@kvack.org, kernel-team@meta.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3] page_io: zswap: do not crash the kernel on decompression failure Message-ID: <20250303231654.GE120597@cmpxchg.org> References: <20250303200627.2102890-1-nphamcs@gmail.com> <20250303215524.GD120597@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 056CDA0005 X-Stat-Signature: s16cm3uk7ich7ki9qwgehm3yj836a86y X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1741043820-583220 X-HE-Meta: U2FsdGVkX1/+D0yWDqSkjFbYqLdgjRo6st/AU/H3yRu8h2itMvknifj9SKqt9L+jr3seKAw/YAU3cONRaZljYIpwNLYapkW3ojzaSZLln4jXLMD0+5CD5lVLHVPkqYjJOgibVFTmOYTxqmvt/+VN/Q3cTyF8p6qA4ER2zIn7kSwOOkg81K312mVF0unOo4kwT/HyA/jPH/ECfpzDbkRpSjtbV2dlBcb5B/KxhNe1eOqe4bAsoGtjKrFO3xbrUH3SmLEF18Mv1Nzq/vH0u0rfoquu3NV0FcwlegA1DQ8Wo99MUxCpT9gRZ7L4vd06N47PgMQSUYTBmmemfRHD2v55aQfUKTeti1HQpfUPNetU3D6HShrVzTDiQOwY0hCVcNd9LMouFU6EBRpRw6rCcXe+mLQ9DUrHI06dBt9KzE95+DhLW1NngzqGOKI9UnchyseWeyGkawJSbzfrWLjuZaHD7orgSOd+tl4WV2BLrkPfzwAFqXCs7eHn0f5HDi5NChvNP0K8qNvPC0PkctSBRibfCnXEHnxWUVSAPiCKHe8q8rZqx9nVCxU7+xPx9QXvZstlO5QAJfPMJFKwHhbvQg6nKW2BqsjSDLA+uVLMxCBKR1vjbVv6VwwPvRmfkvS303daIpcb9rxSIaCHxrPnBFcNGReYiqd8/NkogLosa3cNt7f4THrXIPa/ipbrjelZdyB9boyq4JS4oqy48GyE4hjC687UHfQOpleTuI0FGJxG3cXo4QYqIpLgK/ooBnFadFvVxsvddsuM0cnVL3aZg1wcH1+dnrIy6PTpPeB0/gu99ybSspOBKkWUOuvT+PT2QFI97iYOrT2Q7xnkw1DaqB5jnHOPyuXRoZTQz4MA2dK9wNBLgOZuUc5awsahNrd7xYFAUMZ8d4Lh8OedvPlCeRr5eclA3weLUxzLauL+Qo+um0q/sNc2Qv6R6kYG4gB206C6y//GFaWpsY9wXux2c/m EgCzVAmu lBVEI7NH4/uM49xx+ahVJUlxqthe4fKP9PSa6LHFrZauHLyQLLDC32FIjuQFXpx8kccc58p9jSzIATd271SKeTJ5gFmp8K8lNk4mflvquU65WnQ9/J+r3EJs2uwFv3mD4xOr1xamx85uFg+zfz9iuSPDnAZzltag+Z4yHgPZgKH0twKNGnTe3Vs2uxKY2TZCGeceb/v51HcUtMzsIpIe8RnDyT5HrlBNeHex7cf//TW0zLiRYKt2d1WxvNOKByWj2jhbl4jaNLL14PFFJPaySQ6lUI8bGuon1EnJpVECMh6ZcxLD77pRXG4NLVu5rDiE1Cc6h/9so41TjfT0Z+zta8RQSnFYa0Cj3Zj9W4QeDSFVEuSvkY8QBfb/WsZRXMl8ri0mytBrvz0FYdCVOHBuUJ9LW1ciUWSthhtDFTHZUDxj5bqMLaItfDrqGAldrtM2boETZQGaASzV+tkAc9DSuvETYyFeSf83VTrJsC8UoVet0Z70RWyiuP9Is1q4aJ30+m1+S 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 Mon, Mar 03, 2025 at 10:34:46PM +0000, Yosry Ahmed wrote: > On Mon, Mar 03, 2025 at 04:55:24PM -0500, Johannes Weiner wrote: > > pr_alert_ratelimited("Decompression error from zswap (%d:%lu %s %u->%d)\n", > > swptype, swpoffset, name, clen, dlen); > > Yeah this looks much more concise. It's a bit harder to parser the dmesg > as you have to cross check the code, but hopefully this is something > that people rarely have to do. > > I don't feel strongly about adding a helper in this case, unless we want > to add local variables (like Johannes did above), in which case a helper > would be a good way to hide them. pr_alert_ratelimited("Decompression error from zswap (%d:%lu %s %u->%d)\n", swp_type(entry->swpentry), swp_offset(entry->swpentry), entry->pool->tfm_name, entry->length, acomp_ctx->req->dlen); Seriously, this does not warrant another function. It's also valuable to keep warnings inside the problem context instead of socking them away somewhere. It makes it clear that decompression failure is a serious situation. We also expect this to trigger almost never and it won't be tested routinely, so the best chance to fight bitrot is to keep all those derefs close by. Imagine if this triggers and the data is misleading or it crashes the system because some rules around entry, acomp_ctx, the pool or whatever changed. Or if the work involved in decompression changed and this is incomplete/unhelpful.