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 B4DD7C3DA4A for ; Thu, 22 Aug 2024 12:29:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1A2466B0299; Thu, 22 Aug 2024 08:29:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 12CFA6B029D; Thu, 22 Aug 2024 08:29:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F0D206B029C; Thu, 22 Aug 2024 08:29:33 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id CDC076B0297 for ; Thu, 22 Aug 2024 08:29:33 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 7139E141502 for ; Thu, 22 Aug 2024 12:29:33 +0000 (UTC) X-FDA: 82479812226.14.0A7C47D Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf07.hostedemail.com (Postfix) with ESMTP id 9EF6840016 for ; Thu, 22 Aug 2024 12:29:30 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=none; spf=pass (imf07.hostedemail.com: domain of dev.jain@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=dev.jain@arm.com; dmarc=pass (policy=none) header.from=arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724329689; 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; bh=J4TbdHshwOGCsXIulN3EPFsImlW16BW7uAybhUOzfYo=; b=qxeWUnXWo3EhCpUbxCXgNARlze/oA5/LJ1xfHuqGT9MTSeTJ3TyH/7BpylPkxaZeWSWpeJ 5rT2e+YOa2wjYvIVE+tN2aspJocVh3ZWJwNi95LFHd62lhyi0gSYVRjFEnKvVScuIOa+NZ pyC2WuXq7Ga2SYEtyqID/wgblIinPaI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724329689; a=rsa-sha256; cv=none; b=joYKAT5q7kPuW/e6GVAo79RmC0L4lrwVY8DCPbml5bSxqsjvyzChsb+1r53z5sPbez8GHE 0QN2WTZ99jF012++aCKPmquAGYeASPMIuNASHPHKzoWtSjAMNolJY0jYrqKUK20zf2Otww 66Kl9SUEAkF/NxmLkda4qh8AfrWQQvs= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=none; spf=pass (imf07.hostedemail.com: domain of dev.jain@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=dev.jain@arm.com; dmarc=pass (policy=none) header.from=arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B8239DA7; Thu, 22 Aug 2024 05:29:55 -0700 (PDT) Received: from [10.163.87.181] (unknown [10.163.87.181]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id BBC113F66E; Thu, 22 Aug 2024 05:29:25 -0700 (PDT) Message-ID: Date: Thu, 22 Aug 2024 17:59:21 +0530 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2] selftests:mm: Fix mmap() error paths to check for MAP_FAILED To: Yang Ruibin <11162571@vivo.com>, Andy Whitcroft , Joe Perches , Dwaipayan Ray , Lukas Bulwahn , Andrew Morton , Shuah Khan , linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org Cc: opensource.kernel@vivo.com References: <20240822120022.2095848-1-11162571@vivo.com> Content-Language: en-US From: Dev Jain In-Reply-To: <20240822120022.2095848-1-11162571@vivo.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Stat-Signature: yxi3rqpafd7hnh8oxqsmg7e1ez9j5h54 X-Rspamd-Queue-Id: 9EF6840016 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1724329770-272584 X-HE-Meta: U2FsdGVkX1/1ZV3HsTioEb1xSgBmt5wOFXh9ovfQYEix62R8XcrG0ovvRZ4bHlsEz4mvwsrSNxcCS6gxwjwzCadA7ytYnNvTp7rRLxY59enGkxxc1hZWfB5puRx3zJjCRt6ATyYaIM4dJJnznJmpB4mF640JxODTs9yQUk+96sstY/+3Ck+XU35HiNNQakUwTCWcACDpya3/f9POy3V48njKNWytDoF5lRPKD0k7R5oXUzywphXgv7mNVWV7PygM6FFZXPNLXF4lgIu5f6iK+xMgKPM2G0WyWFrHi4wmB1SkSnp+l92xIDdHFmGObpYy/kQzY6MIpW0nfw/0YzFRWUXqe4Yu4e6C17/Sg8sVVfgeI2JdKyuAbgUkZXEzkRue0U08GvsuuEzMtoh0N1twvTz/PKc6+pbg3zHHqBjd87AWWrAhXP0udh8/y/IRR/ZZ4SOF3Oci2TWMCHH6s0ScqeXtNrGPjYMVD4ZoHr7uuPNNHPZ5Y86ubtsYZ4mdtb1d0KsMLwg1p9PkVWVnxGLlF1tYwxcEf3dOowABuhi0N7kHlswqKdKHLVCBOe4FmO8hV0fbaulyyu1NwRt0EbjA7svrrdxsIlhjwSWdmf0HaRIZeZd2KhiFbC39U8J6TdkgoA95m5kyVHKXM2ajyjnmNGRHH4XXIoiSqkCquQW09tPotk6cbjuq8e1lN9E9O+KEacUs0FcdrdcOLPfUThBAeRgpfzlvC4dEVlXIBqspcV5UKZFpjjPzjm5cZtDwuAh/FIuhDzhtP+FSazs+CzFdn2oEysfnKwgt5Htgj7J02MCZ9KpIJW40cW+Sbr/uMt4C2Ff2mW+yUK2ohs6a9zTtbq1SqBhGzT3eAI2wvNn9ZKGhXoaBXZPiTkW0oFlCVP1kv/LUDoyuwuOrUKbrwsyl2MUpDuiwsgJt+UU4my+9+Fw5Ser231Aop6PjG8dvNYOjgKdzK0M1juhxbTN99yu ggRBqYPy ja48PIC1uui1849pKo0aNZ4m+s/cvtaDRFOuj6dco3O5Mdt/hG6g1vX+IHv5ETs9iDqiaQ+L8MgpN4A/6JK10HmJgHhhjWHof28w93DFR3A+XoPe5qan3SOg/CbRL9hN7GPmVbYNmlSJ9I4X6/X+qX+PJwC4NFLf4Da1SRCGT18J4KH4mFkDkiaYle8ype2ZBg2BUJ8MFd7KJuiAWZ7Vui3Br7XAyrA14y3HE37G9pWpsotvUt3e1WYMRlL3+CNUulG/qicjaUjn9D4H9ctcVzgPFs9T2W2x+Mb4piR6RgKDcdwBIPDJDnmvkCrZrbgmYWEZv 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 8/22/24 17:30, Yang Ruibin wrote: > To correctly detect whether mmap is successful, must use if > (map_ptr == MAP_FAILED)to avoid incorrectly handling a valid > mapping.Fix mmap() error paths to check for MAP_FAILED. Shouldn't you have written "avoid processing the return value from a failed mmap" instead of "avoid incorrectly handling a valid mapping", because !addr won't be a valid mapping? Also, I guess it would be better to use ksft_exit_fail_perror(), but I won't insist. > > Signed-off-by: Yang Ruibin <11162571@vivo.com> > --- > tools/testing/selftests/mm/ksm_tests.c | 2 +- > tools/testing/selftests/mm/madv_populate.c | 2 +- > tools/testing/selftests/mm/soft-dirty.c | 2 +- > 3 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/tools/testing/selftests/mm/ksm_tests.c b/tools/testing/selftests/mm/ksm_tests.c > index b748c4890..dad54840f 100644 > --- a/tools/testing/selftests/mm/ksm_tests.c > +++ b/tools/testing/selftests/mm/ksm_tests.c > @@ -201,7 +201,7 @@ static void *allocate_memory(void *ptr, int prot, int mapping, char data, size_ > { > void *map_ptr = mmap(ptr, map_size, PROT_WRITE, mapping, -1, 0); > > - if (!map_ptr) { > + if (map_ptr == MAP_FAILED) { > perror("mmap"); > return NULL; > } > diff --git a/tools/testing/selftests/mm/madv_populate.c b/tools/testing/selftests/mm/madv_populate.c > index ef7d911da..b89cb83ca 100644 > --- a/tools/testing/selftests/mm/madv_populate.c > +++ b/tools/testing/selftests/mm/madv_populate.c > @@ -34,7 +34,7 @@ static void sense_support(void) > > addr = mmap(0, pagesize, PROT_READ | PROT_WRITE, > MAP_ANONYMOUS | MAP_PRIVATE, 0, 0); > - if (!addr) > + if (addr == MAP_FAILED) > ksft_exit_fail_msg("mmap failed\n"); > > ret = madvise(addr, pagesize, MADV_POPULATE_READ); > diff --git a/tools/testing/selftests/mm/soft-dirty.c b/tools/testing/selftests/mm/soft-dirty.c > index bdfa5d085..4ccbc053b 100644 > --- a/tools/testing/selftests/mm/soft-dirty.c > +++ b/tools/testing/selftests/mm/soft-dirty.c > @@ -134,7 +134,7 @@ static void test_mprotect(int pagemap_fd, int pagesize, bool anon) > if (anon) { > map = mmap(NULL, pagesize, PROT_READ|PROT_WRITE, > MAP_ANONYMOUS|MAP_PRIVATE, -1, 0); > - if (!map) > + if (map == MAP_FAILED) > ksft_exit_fail_msg("anon mmap failed\n"); > } else { > test_fd = open(fname, O_RDWR | O_CREAT, 0664);