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 BF863C3ABA9 for ; Fri, 2 May 2025 06:58:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5C23F6B0089; Fri, 2 May 2025 02:58:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 571CB6B008C; Fri, 2 May 2025 02:58:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 43A3B6B0092; Fri, 2 May 2025 02:58:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 266436B0089 for ; Fri, 2 May 2025 02:58:51 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id BD5CC1CCD6B for ; Fri, 2 May 2025 06:58:52 +0000 (UTC) X-FDA: 83397065304.27.B04BE60 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) by imf21.hostedemail.com (Postfix) with ESMTP id B217D1C0009 for ; Fri, 2 May 2025 06:58:50 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=JWTZZ4nG; spf=pass (imf21.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.128.51 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org; dmarc=pass (policy=none) header.from=linaro.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746169130; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=1UrDLrN0STmh57lhKtIA4ppYT5NWnb6ArnxWs7Uv4bU=; b=sJrTga8ehbQ+E6JkKZzjdQsvQ8iFFbRkX+A5LQxD/F7jmOd2zGH5EFFwP0l40VcgXhmYDi aHHuG1Ej6HeyeOPdtYpzBqlFI/VLveHdGGe1d89m0S0IWwENYsADyC1TH3eHVgNtGSH95Z QBVH0pJgGOM7+NL3Tgtd9eTV/AXU8Xg= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=JWTZZ4nG; spf=pass (imf21.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.128.51 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org; dmarc=pass (policy=none) header.from=linaro.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746169130; a=rsa-sha256; cv=none; b=SEf3siLRQbl27kJkPTx8bSLu51UGbrIGKSQSaVfORvsgFnYRSeL/HGvCUoTd2bTah0o+EA QEr/nu5VC/zX3hYWiJ5psakH1XbqLDqIKhF+kIZrKz46HUV8K47oPbyY7lxmabQMMrb55r fq22cYzBuFi25gHoVyTzpFcA6XH3cns= Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-43cec5cd73bso6556405e9.3 for ; Thu, 01 May 2025 23:58:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746169129; x=1746773929; darn=kvack.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=1UrDLrN0STmh57lhKtIA4ppYT5NWnb6ArnxWs7Uv4bU=; b=JWTZZ4nGhptinfRy3qjt2iCJoyXmRVzb5istdGDwCPoYfHV3UtoLU92gvcbFQbVD9a soX2C8vOlPk7SMiZVFGfpsqftp45VE7PYHQnjPRijjp0/QQ+7W1Ma8XqEoAIPrwPf8ut 2pDkeGwK9XHXZWydcxEnBb0yi+hckJ35VsBvH+/a3Na2CZXWcB5+KbniAhZMMsV2OiwL GeKKPuhOtEVM3uKvIMjErxP42uJftAmn2+rlJdry+dv/+k2pEpmdyHRcGatnj0zz0lhm wh+XUaYBlUoPZHk/T8Ir/MnMhlTu/8JlRhOIP0K3O0zcGE1aYahTVgNc5Q0h+3Yk1UdR pCgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746169129; x=1746773929; h=in-reply-to:content-transfer-encoding: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=1UrDLrN0STmh57lhKtIA4ppYT5NWnb6ArnxWs7Uv4bU=; b=GDXtCeFmjd4FlnB9y7v3mEXWApKQXiPOBKdj+lO29JZYlDBMrrwV7+Ya3OmFF3UdWV /z5X8aWRm0FgAZTGCAb4YK8FXUrF+DrOzJHeQf+RopDvrrtqxhAS/csSDJhP5FgKXcpk MI0aNbl7X+ydr9BIFY/vcgWzVbq78gWmZiVe1HPToqs5SQ8rvsURvRFNjCZ1/jYcyOE+ Qp99ltKmfuCqfPrLVH4TXFMagEDLTXuChYkz+t12+QuYbMH98fvAYkUUIyZ25Xr+s7qT hcy3jgoGfr3/Jfdr9LuD4nKDlYpzKWytdyv5znz3d8ydT90Brv9BlckoGbRxP2zMzEGQ P7uA== X-Forwarded-Encrypted: i=1; AJvYcCW3DeU7Al4cFa9UNqN7j2D1VuEIkbKOOarfP4BFHU3A6nYlc+wl9wA4iYoYqaIsQUjMufjFAiG6HQ==@kvack.org X-Gm-Message-State: AOJu0YwG+Y5ZvH+xiA2o/uz0wUveamkX1SEubZeXCOIWdzvx2dFNeCIo RxWKZJmNpk8NbYMcAWxRwzduFRDsLnfS4l9Z/mtWphlx/W25Uha91aKY6bmpK+nIySqSmX1KPBv B X-Gm-Gg: ASbGncvrup6fw42mEEuOKbFDhNur6atbH5n6eiTiBg5T5YqSH/m2mHcBXvFAu5VCwvO Idb+R6ZW0NHfvCCxDZIkLLfY/mWo/VTLW+sP2waD5Vvl2416SYd7e3AM+LQJft0WiPQNnYI1jzZ 6dpBdFamhmWUmdOYaFADP+Nm2V2AQ/5tb+/dLkVlAw+MT6X9b8I5dm2mXxm0E2/b2UFK7gLLT3q Hcvcc3y81OkvhcQGjQyl5FAoYHIYD3I7E467fAqIs6LM78j9wuMwPJdlCynQOteJUEVnGMczn/I 4LCbwc6dZbKwUeNTfh9SzMnLdrOOsj4PPABK/41y9/GKyg== X-Google-Smtp-Source: AGHT+IFm3VmQGkoJ/PJmnMVYZMpPi5eS4/UWvY5W4vECygPV2rSBSq3+dhElYmoVoGAnN7FvKvDcug== X-Received: by 2002:a05:600c:524c:b0:43d:526:e0ce with SMTP id 5b1f17b1804b1-441bbf2bd71mr9406265e9.21.1746169129115; Thu, 01 May 2025 23:58:49 -0700 (PDT) Received: from localhost ([196.207.164.177]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-441b2ad762fsm81385805e9.5.2025.05.01.23.58.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 May 2025 23:58:48 -0700 (PDT) Date: Fri, 2 May 2025 09:58:45 +0300 From: Dan Carpenter To: Zhongkun He Cc: akpm@linux-foundation.org, hannes@cmpxchg.org, mhocko@suse.com, yosry.ahmed@linux.dev, muchun.song@linux.dev, yuzhao@google.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [External] Re: [PATCH V3 2/3] mm: add max swappiness arg to lru_gen for anonymous memory only Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: B217D1C0009 X-Stat-Signature: g5gfbe7z7ptb4d6qteaexmqh4fag9z7w X-HE-Tag: 1746169130-65836 X-HE-Meta: U2FsdGVkX18Fx01H2HoUID6U483QeCDJgH/9Ew0AU7YnQ2XMDOMQVxNsO3HmXvvzp8cN3Zc6IIQ3oielbVOeEi33N4IASWDobGFd9fNEqllXWWzf6N6dfvmbPLf+8EWtxGLfDAdNY7r/YIeBoLPJohq/+oq8h2TXM5tSMoxZC4rq0HLFsEROo18+uGc7KmokeHCVyJzeisEt4oFjEZ3MRv8ViJZS6MQLu2nn9XAhR6tK1zyAuQWWb4AGir47ORfGukqefWEP36yR/3TGXY1bMpyNGT54KWmVgPgN4PyzBfvpUwMCxvYRnk9QtvefMkzOsCvm5NlhR6IZVxQGqvrBQ/buu9I2KLFU/r+mp7CfaJ6sIXGVdbrIied04N96LxfiJ6AjICcfcz6+U8jF2MMtk6thd2qI/ZFrASURxPXF2B09xCqqn6e5XGFIaFYTVLfQNtUyXqJwTM0tXHuOAcV3FAjZLBnWEnD5838u3oFDOmYmiaJWEOtNTcBCWkUG+G5g+cxIJ2ccCs+d3pmYHWnqaMNMb7F/Utu5xlFaYe1HkzFa+CxVBe25xSQjiSq5+t4ebyborecpTyYLVXdnx2BvKfXMtxxBEj0+vg/xX+8A8xzV0mXTCwb+vaHPMMQAHrMFNU+4HnqSTlEU7XCbBcuB1DYemnwlCUsTgqVFtDAJfSo+EoVWWTvRkwtG+5jI7saFiQRXRDDhEtmd3MnipXCJ3YD9We2NIF/G9jlM6ZgSDuhL6osKUktqmuZ+VoHrx0hFbJ1LHDPlhTyEQjiAAAONkPH9/b0bDIihaV1lCWz/OH2slFR7LHE6SvGDiPZKuIJpp2apV2vafebGxuZ33dbW70PKDMv8aNaUo+GdqEYlxyP3r8zprtasruHu3Jfb8xXTM3DNtNuIOcslgpiSO+3nXKnruZvoOHTa/8VoGM7Pu8jWOFWFEhOgX6hzV8Pilvh2VOaB3dIF9YuppykDC8a JVru6c44 CnLa24J52BptB7/2zG+dAolZL081PntQwK5/YtOlMQMxvaDdpzd1PLBnWilGQBHp2NWucgjhhtzOmcSe3Bz8s8TqsMunGlmgG7LbQuFmb4nvbazWTe8AcTiiW/az77jvnckw60JPFZIdpMDZB7+EUsMr0hJM/NpS0nolW/B3R0SKEJZ+UGakhT/0xTfBL2I1BJps7Lg+9TDKDl3m6zXULzVEipnqSnqXq2naLg2X61o0o3LWPMzX5/A2WN8pz7Q6DU8GVc1nDdd6WSPVLk+an7E8uGo+OXU+XEnnb3y17zcPYoKmUPLxDSe2ij5Y0wIrqSK5olWshe2f7wTVE0yj57Guy+XFZUhKffklpI6fhbxURNWLlU1bkr269V7mcDH0B26EKSe6V6URCfCVb3kDlcds4K4+o+tvZAKk/+mmfx+BZHEPDCeu8OqSe9w== 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 Thu, May 01, 2025 at 09:56:57AM +0800, Zhongkun He wrote: > Hi Dan > > On Wed, Apr 30, 2025 at 3:59 PM Dan Carpenter wrote: > > > > On Wed, Apr 09, 2025 at 03:06:19PM +0800, Zhongkun He wrote: > > > + /* set by userspace for anonymous memory only */ > > > + if (!strncmp("max", swap_string, sizeof("max"))) { > > > > This pattern of strncmp("foo", str, sizeof("foo")) is exactly the same > > as strcmp(). It doesn't provide any additional security. The strncmp() > > function is meant for matching string prefixes and it's a relatively > > common bug to do this: > > > > intended: if (strcmp(string, "prefix", sizeof("prefix") - 1) == 0) { > > actual: if (strcmp(string, "prefix", sizeof("prefix")) == 0) { > > > > Yes, I understand the difference. > > > I have a static checker warning for these: > > https://lore.kernel.org/all/30210ed77b40b4b6629de659cb56b9ec7832c447.1744452787.git.dan.carpenter@linaro.org/ > > > > If people deliberately misuse the function then it makes it trickier > > to tell accidental mistakes from deliberate mistakes. > > > > if (!strncmp("max", swap_string, sizeof("max"))) { > > The length of swap_string is 5 because it's read using sscanf, which > will add the null terminator \0 > at the end of the string. If we input max into the interface, > swap_string will contain max\0, which is > equivalent to the string "max". Since we only need to compare the > first few characters(There are other > possible inputs as well.) — effectively treating it as a prefix match > — I used strncmp. I'm a not sure I understand. You say you are treating it as a "prefix match", but sizeof("max") is 4 so this is not treated as a prefix. Did you mean to write strlen("max") which does not include the NUL terminator? regards, dan carpenter