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 2FB03C3DA4A for ; Fri, 9 Aug 2024 20:01:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 494546B008A; Fri, 9 Aug 2024 16:01:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 41C126B008C; Fri, 9 Aug 2024 16:01:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 26EC86B0092; Fri, 9 Aug 2024 16:01:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 009BB6B008A for ; Fri, 9 Aug 2024 16:01:47 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 3F34941540 for ; Fri, 9 Aug 2024 20:01:47 +0000 (UTC) X-FDA: 82433777454.11.E346F59 Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) by imf19.hostedemail.com (Postfix) with ESMTP id 293341A001B for ; Fri, 9 Aug 2024 20:01:44 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=Y2j8lFQD; spf=pass (imf19.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.208.54 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=1723233672; 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=KMUz/aPsGaSf3AR0ZEFloy0Ww3muXJ6eOj3CetN6o6E=; b=34dnCAiAwu+GcNUDinfwUNlw60cBRXr7k693h4UMNWmLJFQRnZ3X9yhKlIElpsTvwub9Mo 1LEW4ubxvo3X2YXEgBOx3SXHRaAmRAVWk/yqNKzP69pWSvGGJNfkZqhxDTtLZ3v+gn3RXQ YnaXRziWA35Ar5VtPJwLG+ZQwqvanDI= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=Y2j8lFQD; spf=pass (imf19.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.208.54 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=1723233672; a=rsa-sha256; cv=none; b=VNsfRmkXM/mWgekrsNiiyq30EbOpNAHzerUOvhUbSJDAJlFyYi0onP21POPotPUPAGUYyw XuvItscj76YOQ1yKbooY3zZX6o88gpsTaskzDNFKk3k7WPgH/aopMXc6Wg+LQKftKsE3a2 H/ScHt6o1eNtMtgVV0m2dUQErD5fhC4= Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-5af6a1afa7bso2948237a12.1 for ; Fri, 09 Aug 2024 13:01:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1723233703; x=1723838503; 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=KMUz/aPsGaSf3AR0ZEFloy0Ww3muXJ6eOj3CetN6o6E=; b=Y2j8lFQDQzKINa9HoUisFSQMRZOe1JlppoVXZJc4TF794p7cgaO7OuHv4ZpSq9z/06 ZIPUNg14TTbHvIKhLpck5Cows08k7ETwXDVr0u6kcRyfir/9Tejq9w2TxKJtSBW5m+Ka K0QfZPfGWQ/piI+Pr2Rxw9kY2GMVhwYh4es05y4O/KHwy/qCsW/sez/QPgDD9JMfvYay F2b9yLyt5ER+/hg4Da+XLxPGlPxVhzjn5TIcaXLXZQmzpeyWfwfs/LZcbsyqnfHAo9M/ PSyW34ruukiGwUmZ6DqGYYylOi1R0JVoYa5VW/DfTvzN/W37RmAuciH88MQwTUh9tQyS 9kaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723233703; x=1723838503; 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=KMUz/aPsGaSf3AR0ZEFloy0Ww3muXJ6eOj3CetN6o6E=; b=iQ25fxmY5QwJV6Wyan5SiVsKzy50/aBhrACIcAX0oYL0RmEPI/1U7FkqBV4xgCq1hS m3zNS91lrel9XOvgpxq9o7wR4u7aXd3fUs3ftcte1el7dku5kL2FEyK4vfE8oWaEhBKX 7e3ey/1inqr80Lhv0Baf6ItPQhAldOnWRE4Bgq2u5CU6Ijfq8dwZ9xBvmPkj+3sMbNuv UtDgxxo5VOIQr3GF64v5arlVvtTEi1ubWdDW9cJzCwGKCQDZfb6Tz19QYqwWNLhS0GWV R64hqsvtWbzwp5OpDjYMW9c1+VSn/04Uf+18Ss13Td99buhBWaI/h821YHy6ZHaLIRZo oYRA== X-Forwarded-Encrypted: i=1; AJvYcCUkP6NxftPbRZS3QrRjpjzLXxIwhP6HulwzSDxAmR6jSRtag7YoCEIvzrYns7ON3QyzF2mTAQ2R5U+dbHskcubZ0z0= X-Gm-Message-State: AOJu0YwKu9HUcp/pQQ/XcwILxURM3XfYZ6VdC5bao3ttVHtYZJu4XpF4 +9GOKkKaQAnOrKmYDNbm0pSTHtUSxY1zWzNjAvYUaWNMrFZvEUemwmztyTkWsvw= X-Google-Smtp-Source: AGHT+IFp6SPqZJvmY4Rp3COtc6Vyho6/Ic6I4+ja8ES14iyIMQ5Ho1Cxum8VvNzfD9FABxLcWUIK0w== X-Received: by 2002:a05:6402:43cb:b0:5a1:7362:91d9 with SMTP id 4fb4d7f45d1cf-5bd0a56c918mr1327974a12.22.1723233703104; Fri, 09 Aug 2024 13:01:43 -0700 (PDT) Received: from localhost ([196.207.164.177]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5bd191a20fcsm58144a12.36.2024.08.09.13.01.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Aug 2024 13:01:42 -0700 (PDT) Date: Fri, 9 Aug 2024 23:01:38 +0300 From: Dan Carpenter To: Shuah Khan Cc: Dev Jain , Andrew Morton , Shuah Khan , linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org Subject: Re: [PATCH] selftests/mm: compaction_test: Fix off by one in check_compaction() Message-ID: <20ad879e-689b-4b09-823c-4cb4f9b010e7@stanley.mountain> References: <87470c06-b45a-4e83-92ff-aac2e7b9c6ba@stanley.mountain> <4c709253-50de-45ee-9cbf-8bed65eff857@linuxfoundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4c709253-50de-45ee-9cbf-8bed65eff857@linuxfoundation.org> X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 293341A001B X-Stat-Signature: rzufyy9ptrr85fwxo5fsockfgqa99o63 X-HE-Tag: 1723233704-368241 X-HE-Meta: U2FsdGVkX1/Sva+yddPqKpmdoXymh+PoBkji4ISqKl7XDmgtpHbAZPagqskMl1vKquNH51bZbqwEUa+m1YAfKAd5zRwQps2WNknsFq7ZY4s28GcJVx5NN+PD74ivdoR53WK/KOAKj2Ds+gOH/CLWr7VeRVIfAJD9Z8B2zXU6dWJV4eVam3OT2oTTjgnc4BUATxYFsDKMsyS6bCflUbSBqnaFVA9lyJOhWLVTn/Hk5iEf+qjQd6iON3oAPH3vi3H34HhcXJNkBKGKOREZfhaU5Oip6EnYvs+sda2xoJ8/Pvwc+qb4ixdUAMuL3s33zrBqeKuDdSgXfFtYXM1nR4qBUdJ71Z0TdcrYo9Qo9Iij3PeuoKfA0qA2yphaSTcuHtE5CauUANPvQENpbI9ATifX7p2h3fRFhf9B1BEoBNH3j0nMMLaivT/1XTaEVWjpQ/sAmEDdnS9zkQc3NhVDSW+ghEvfKFwwnsoOTt+drf3HM8qINxVcJvbfk/FMnZyGmCdIPLmK+qch8AawAYEH/1ejth3NZRM4uWfOkUkuZBa22IFxrtDOffoLZFRK1bSJ4LCPHNExtoZB8AlxseHJIU1YzX511wDOgFGy0QcvceUwdbPlVGOD9t8L5UC1xdMlBvtHXD6wAVEg0V1v+Q21nsvs/HSJLNQjjbiYmEfWRzuOck6tY1zrWBHd3NhCUwIh/4muTJSsvnpjsuaUM8S170TgQSG6pD3w1beiseT6U3T8YgMuZ1D9ASmJXFe/kBxGedbnY/mVdD4cFDbwSTDstawRCWY5ZJCn5E9m/SKLy9XevGUXvHLa7+LVWG0dbRi5gnEt0ZOshFh5u3u/2DvNJePOk1GwUu6VJlhrZzxk57lJqhmNh8ESOnNSqaOWjtjqs7GWLk/nxQCUvTezmIoK/tc5Sg9K18l1jXTIb+N1dvk5G0N0V4y8kSizD5xRNAQe4mUrqHhy2U9HstG9sB1UyDI BSE/yv2k oHF2kY5uBU7UjbQDXzswRwpKEiOF8sA3vXwtxljQEi3TW8vaA2Kb3vP6+qZTt2da//rqCrAuYKXVM2o80oLlqkwPtQti1VT6Lx3V9ZYw9Vw8tjdLvJtW4CQ7/HA+WvO/8F2l6NrV8s87+qGfnL+294vNWAjmxQHI5FA4JAKPkUERsRNpBplhAdDnE0iAgKxVu0ZTy6IXCjHmSPkruuLGDXp1GWAUsaiRGaKGRy32Ax94ltOV9yLd54iqYSpp/MdAwvnci4crFLxNHaA1U7DJOYfvNYIjuGB1TVYQCMBhaDAsU311c8cDoalwDWrCFPPQ2g3v7w2R9Bw1mS5aUK3rVtIyDzjv8qle/EpeG 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 Fri, Aug 09, 2024 at 11:20:48AM -0600, Shuah Khan wrote: > On 8/9/24 06:32, Dan Carpenter wrote: > > The "initial_nr_hugepages" variable is unsigned long so it takes up to > > 20 characters to print, plus 1 more character for the NUL terminator. > > Unfortunately, this buffer is not quite large enough for the terminator > > to fit. Also use snprintf() for a belt and suspenders approach. > > > > Fixes: fb9293b6b015 ("selftests/mm: compaction_test: fix bogus test success and reduce probability of OOM-killer invocation") > > Signed-off-by: Dan Carpenter > > --- > > tools/testing/selftests/mm/compaction_test.c | 5 +++-- > > 1 file changed, 3 insertions(+), 2 deletions(-) > > > > diff --git a/tools/testing/selftests/mm/compaction_test.c b/tools/testing/selftests/mm/compaction_test.c > > index e140558e6f53..2c3a0eb6b22d 100644 > > --- a/tools/testing/selftests/mm/compaction_test.c > > +++ b/tools/testing/selftests/mm/compaction_test.c > > @@ -89,9 +89,10 @@ int check_compaction(unsigned long mem_free, unsigned long hugepage_size, > > int fd, ret = -1; > > int compaction_index = 0; > > char nr_hugepages[20] = {0}; > > - char init_nr_hugepages[20] = {0}; > > + char init_nr_hugepages[24] = {0}; > > Can we exceed this limit too? Can you make this a define? > It's based on counting the digits in U64_MAX. 18446744073709551615X 123456789012345678901 We don't have any defines for that kind of thing. It's not a bad idea. #define STRLEN_U64_MAX 20 char init_nr_hugepages[STRLEN_U64_MAX + 1]; But it should be done as part of a kernel wide clean up and not part of this buffer overflow fix. The line above it could be changed as well, for example. Let me create a KTODO and hope the internet will take care of it. KTODO: create defines for STRLEN_[SU]8/16/32/64_MIN/MAX. Btw, I rounded up to 24 just because I like buffer sizes that are divisible by 4 but the compiler is probably going to do that automatically either way. regards, dan carpenter