From patchwork Sun Mar 30 10:48:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Siddarth G X-Patchwork-Id: 14032889 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 F1DC2C28B20 for ; Sun, 30 Mar 2025 10:48:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AC653280002; Sun, 30 Mar 2025 06:48:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A7778280001; Sun, 30 Mar 2025 06:48:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 91849280002; Sun, 30 Mar 2025 06:48:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 6E203280001 for ; Sun, 30 Mar 2025 06:48:50 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 08A7E140F1D for ; Sun, 30 Mar 2025 10:48:50 +0000 (UTC) X-FDA: 83277894420.05.C904DB3 Received: from mail-pj1-f66.google.com (mail-pj1-f66.google.com [209.85.216.66]) by imf06.hostedemail.com (Postfix) with ESMTP id 395F618000E for ; Sun, 30 Mar 2025 10:48:47 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=hVOB8foJ; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf06.hostedemail.com: domain of siddarthsgml@gmail.com designates 209.85.216.66 as permitted sender) smtp.mailfrom=siddarthsgml@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743331728; a=rsa-sha256; cv=none; b=jTX8xARsQzE9aS8kX0qbanBHh5QUUq57sgKZb9usmoxfW/aHblO+IsA9knwe2X/q0Dx0ox t9e4/AeJM6LIX1lF83tWTXL62meP5dsx2srFWtYQXn+ofUEm36hBBByH4CtFj3cNBkbyer s3IER8uXXT+6t8qDaNx0MuHtL4Hzwok= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=hVOB8foJ; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf06.hostedemail.com: domain of siddarthsgml@gmail.com designates 209.85.216.66 as permitted sender) smtp.mailfrom=siddarthsgml@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743331728; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=WHz10v3+4PyiYacdlvoE6pvL8VVZTMsprAuRMJhfIe8=; b=mXNQLXknR+qma+cWNupuj9b8/6yyuaYkkKjmS5kkL1XbEEMqqUIBklmRjI1/BW9i12D06/ gLicxYPahV0hYNZqBOrIqPnL96/ME9kgO+P0DJA6AsD4qLma3H+iAJme4PhLtm5Mp6u9ja qHGp0pz64stRAgKH5+QsO/gxj5uSFUo= Received: by mail-pj1-f66.google.com with SMTP id 98e67ed59e1d1-3014cb646ecso4478178a91.1 for ; Sun, 30 Mar 2025 03:48:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743331727; x=1743936527; darn=kvack.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=WHz10v3+4PyiYacdlvoE6pvL8VVZTMsprAuRMJhfIe8=; b=hVOB8foJkrdidRYQZkMS2nFWlne/Cha+2QWwFACYyLzJ9/BReBsPuD+iQbxhkgQ1j0 /yuh2Cm0hqF5jzy2g01uQe0APNgL+PC6rON3LW3OOWIfcszkdcQmB4D0EwApNB/sMvzv 18+674JBR2DZ6myGGoyWNVkCPQXSNheSyvJJontsg0lNfTO9wujZGQk8MSh95yRXBGKQ NTyOLeGsNQBdWc8oNDsBdoKS5+mclygPM1CbP41Zz8+t8DNLaMz6CUAnjS4QadXxf7SF 1Cf2wT4v1JgHkSaOAJQrh85Gsa5kkNas9mP6uqhgGyc2pHyLXRlTYoiJGuCuKt5hh8Px IBHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743331727; x=1743936527; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=WHz10v3+4PyiYacdlvoE6pvL8VVZTMsprAuRMJhfIe8=; b=d51bb3kF+TexCvhs31a0Tm4xxSmt4HdksIlBxFDDnnDqUSO8+HQKrMiPiS6zZcY4UM WPkQdePMJ65ZUGN6Z/eL051KFO6i0q2araa+IzA4EgaftFA5gCPkstRcCKoG0cZDRGLc 2QTl400jsMK6WuXLi/yqBLyx2uuEoXSxHh/V9yfBHlGaKVPO8hpSj5aYR2xQO7Z36/FP hydH0QzLrm4m+FmMsFuxTxhHhlx6O7HA+pCH2hPj7HSlnrA9EIMVMRWG5kRxI/L94bL6 rJG6pgyyYyrHJVtje7Kq0Xxt5bSBUwINDfFjR4MnrhgKD4DfGrFcVR/0tBmnS9/DOpwY vVSw== X-Forwarded-Encrypted: i=1; AJvYcCWRMZmjHBWUlQ2wK5E1tD24HS5q1GoNs7ePXg8OQrS9rJi2owtW28hsAKELyBvkRLHnnEj3WwcuSw==@kvack.org X-Gm-Message-State: AOJu0YzVabIVZvIGcqu9cOcdXkHRnrtPXb16OG9YIF92VsR9bb1T07Nq bgWLMcvBHAOOM2Sd8FJLH7U6ydFOVSWyzKjxHDFQaJbkqVRdH0sY X-Gm-Gg: ASbGncu6DBzHEkRvzi+RPdqDHLnZ9CfqfhdfdQXpybW2N/yEcMxQSszizAhvVgUBdpa 576JSWcu/w1MtWE5X8shZj9uINiMjQ8AmzV6mVO/SfOL/P9ZDvT4fCJLcKZpH1Tl6pfP+ESjj8K JLj2vUEkH1SpvcBSwnGSLjEdl2InhgTJNhTbi0gBgZgjeMQbvFYFJy+CLrok3A2/iHENkRo/buq MI3utEK5Uwm5GosiUulbmKf+qp6EfhxV9MiYFS/TRnwdEBL5hUNvSh3a9N/QGDrLoknubOvJtm8 KwtDIBwEwu/Vi0nAMQANhVgztAqYPjdOC9u0x7XAgvdhpPN4KI/27fA3N0QxLW9h X-Google-Smtp-Source: AGHT+IE4poOureteWyKOSBbsir3J88iiC+iCQKof1Qef0WrAMNHGqmzABUQfjIymvFjRy76TUVQChg== X-Received: by 2002:a17:90b:2e4e:b0:2ee:e518:c1d8 with SMTP id 98e67ed59e1d1-3053215ce9bmr9501857a91.30.1743331726821; Sun, 30 Mar 2025 03:48:46 -0700 (PDT) Received: from sid-Inspiron-15-3525.. ([106.222.230.230]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-305175cae32sm5178803a91.42.2025.03.30.03.48.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 30 Mar 2025 03:48:46 -0700 (PDT) From: Siddarth G To: shuah@kernel.org Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mm@kvack.org, Siddarth G , David Binderman Subject: [PATCH v2] selftests/mm: Convert page_size to unsigned long Date: Sun, 30 Mar 2025 16:18:37 +0530 Message-ID: <20250330104837.21360-1-siddarthsgml@gmail.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 395F618000E X-Stat-Signature: qrayadewo3dd136tbnqjs3p7yomm1gxu X-Rspam-User: X-HE-Tag: 1743331727-628820 X-HE-Meta: U2FsdGVkX19GlWaP5akMmpq8ka5LBtwJraR8n7BOuWvBJvoCFsu2nvoPsrkkFTiTrk2jJcbAzu+LU+TWVSvsjeMOkfgcF4BzulHokvnWP8YjJtPZeYw2zAW661FQDzIY84Ja3ZsS3dTPAMaqD6s+khNK0SCJNpzKHkn8iay5jRfBAwNWXTOtbecqxSnYuVlhugCuMfKLAQa1dIUHuTvH8RWu0TsotUDLUvsJmRT3Y+siXqZ+meA3m1QXoQddbzPRgZQfq1c76mfBlsZqTOqj2PsP5cGsxOKCUD7bPrV+5idhWWnq7+U1oYVVmjX9dJWRcu+YEEqls80IAPnD0CSe66CV3IOXvrkBMPcj/A8XXKmDfx/wuZmTHVRsrOt/9Cm3KE75WDYqjPA5/D9yOF2mwVDIj2u8y8Qp5oVqU6rSym5UJL0Vxisj0N+84oxK0gY7OvgTXGhlSWCk0GM34o20jOt+V4Tdj+W4lM7FQTBoVzDOsYLtxiNYuVnEEwSzHNoSxypkqUBORbZoo0nKMrQSriIXlyxpyWoarE63+VhVmH8DXhBpqBq0McOlq++QNgYwn0PBwXLS+xDrCMix3nPdZIcuYSIrTjqFSrtXyDdW+kCzZ3vtqp4lbw617koccpKM8m0b3m2Tt7VvCf2ofAN03yknfFg1jS4Q8Tog04+X9bBOR2J9+cIR9VyMcjbnxTXQnxY9mCuUW8QQ++IWeTbfcmDqOMw1CKMi08owDgWbICJP8z4AsJcONg+SlZNByHdhQFbHJo985f1qKTlUgMVmdtZqH2nzBtvoqKFSkcnkHL5m4t5CnPpOFpKOzzwDmJYcSIZ9D4FHJ4UqckDtRALxqrkjigpqpjAxeTH3W2BJko0dAtzlfYiK5+JioONzot6cZqARxtX4XA2zTnfnwFv06uzPfEP3wGAjlZVLm+caPVVaMgqeRbs7hEhUn6QO/jl2G+km6kUIKTzsVbHKnYd abjhx5oZ Pa7S2HMyp1zhqiuOww+Tq+qHfppRTTVuJlW068AbhgerwhFpmIV3JqNKbN4np4LLYv9K89mZI/QEk247AdKcavAnTWI94Kgz+0k/cvgAUFrl6VBPPVg+0aoBOqmPvjKduk498NLT8ALlshya+fAQdtxLVMxPeB6yDOhSvdFG5we9pM3fqTKky78NMaVw+tYsou0iPM4QzOmBAggq/5HZuLKqcvyG8sVuk7/YMBY9bwJzRdsVC4qPW8un6JKL62pH+aeqbSuGj3cNUKXRjsgTJwYGQ59wn2hWETffLZSGd94MH8ofdSIPIgABf80T5PxTDzqw2x7J199i7tBAKCqlqTHqWq3do7iapHZxGC+/DPzO1MuM62+IqyACeNEUTxCHipCwPA5efqh0BhuWtPk3oPW4c9rf7Z56RcTV1nvh2KGVr8Vd7iQ/VlvkjT/nvewDzKNCWLf0JuJ9mX2+2ytUAfI4CV/8yEQ0Pf7OkMsHbdxyy3jLvaK/u0ozP+bSmwFIk7hpWCFGatTc3Pk7ahwe+lRDGbiMuCfiEYCC4hoZThLAAIRr03XgBbj40ne7svTNRj6rVutPAxZjDdqqUTRaiJ0pDWqiyPNAEaUX3jajFkRzdVq2j/w0D1w4+rPAzQzyvAcVx 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: Cppcheck warning: int result is assigned to long long variable. If the variable is long long to avoid loss of information, then you have loss of information. This patch changes the type of page_size from 'unsigned int' to 'unsigned long' instead of using ULL suffixes. Changing hpage_size to 'unsigned long' was considered, but since gethugepage() expects an int, this change was avoided. Similarly, wp_init(), wp_free(), wp_addr_range() are designed to accept int parameters, even though they are assigned with long values. Future updates to these functions might be required ? Reported-by: David Binderman Closes: https://lore.kernel.org/all/AS8PR02MB10217315060BBFDB21F19643E9CA62@AS8PR02MB10217.eurprd02.prod.outlook.com/ Signed-off-by: Siddarth G --- Changes since v1: - Instead of using ULL suffixes, converted page_size and related variables involving it from 'int' to 'long' tools/testing/selftests/mm/pagemap_ioctl.c | 24 +++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/tools/testing/selftests/mm/pagemap_ioctl.c b/tools/testing/selftests/mm/pagemap_ioctl.c index f3b12402ca89..fe5ae8b25ff6 100644 --- a/tools/testing/selftests/mm/pagemap_ioctl.c +++ b/tools/testing/selftests/mm/pagemap_ioctl.c @@ -34,7 +34,7 @@ #define PAGEMAP "/proc/self/pagemap" int pagemap_fd; int uffd; -unsigned int page_size; +unsigned long page_size; unsigned int hpage_size; const char *progname; @@ -184,7 +184,7 @@ void *gethugetlb_mem(int size, int *shmid) int userfaultfd_tests(void) { - int mem_size, vec_size, written, num_pages = 16; + long mem_size, vec_size, written, num_pages = 16; char *mem, *vec; mem_size = num_pages * page_size; @@ -213,7 +213,7 @@ int userfaultfd_tests(void) written = pagemap_ioctl(mem, mem_size, vec, 1, PM_SCAN_WP_MATCHING | PM_SCAN_CHECK_WPASYNC, vec_size - 2, PAGE_IS_WRITTEN, 0, 0, PAGE_IS_WRITTEN); if (written < 0) - ksft_exit_fail_msg("error %d %d %s\n", written, errno, strerror(errno)); + ksft_exit_fail_msg("error %ld %d %s\n", written, errno, strerror(errno)); ksft_test_result(written == 0, "%s all new pages must not be written (dirty)\n", __func__); @@ -244,7 +244,7 @@ int sanity_tests_sd(void) long walk_end; vec_size = num_pages/2; - mem_size = num_pages * (long long)page_size; + mem_size = num_pages * page_size; vec = malloc(sizeof(struct page_region) * vec_size); if (!vec) @@ -432,7 +432,7 @@ int sanity_tests_sd(void) free(vec2); /* 8. Smaller vec */ - mem_size = 1050ULL * page_size; + mem_size = 1050 * page_size; vec_size = mem_size/(page_size*2); vec = malloc(sizeof(struct page_region) * vec_size); @@ -487,7 +487,7 @@ int sanity_tests_sd(void) total_pages = 0; /* 9. Smaller vec */ - mem_size = 10000ULL * page_size; + mem_size = 10000 * page_size; vec_size = 50; vec = malloc(sizeof(struct page_region) * vec_size); @@ -995,7 +995,7 @@ int unmapped_region_tests(void) { void *start = (void *)0x10000000; int written, len = 0x00040000; - int vec_size = len / page_size; + long vec_size = len / page_size; struct page_region *vec = malloc(sizeof(struct page_region) * vec_size); /* 1. Get written pages */ @@ -1051,14 +1051,14 @@ static void test_simple(void) int sanity_tests(void) { unsigned long long mem_size, vec_size; - int ret, fd, i, buf_size; + long ret, fd, i, buf_size; struct page_region *vec; char *mem, *fmem; struct stat sbuf; char *tmp_buf; /* 1. wrong operation */ - mem_size = 10ULL * page_size; + mem_size = 10 * page_size; vec_size = mem_size / page_size; vec = malloc(sizeof(struct page_region) * vec_size); @@ -1160,7 +1160,7 @@ int sanity_tests(void) ret = stat(progname, &sbuf); if (ret < 0) - ksft_exit_fail_msg("error %d %d %s\n", ret, errno, strerror(errno)); + ksft_exit_fail_msg("error %ld %d %s\n", ret, errno, strerror(errno)); fmem = mmap(NULL, sbuf.st_size, PROT_READ, MAP_PRIVATE, fd, 0); if (fmem == MAP_FAILED) @@ -1507,7 +1507,7 @@ int main(int __attribute__((unused)) argc, char *argv[]) sanity_tests_sd(); /* 2. Normal page testing */ - mem_size = 10ULL * page_size; + mem_size = 10 * page_size; mem = mmap(NULL, mem_size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0); if (mem == MAP_FAILED) ksft_exit_fail_msg("error nomem\n"); @@ -1520,7 +1520,7 @@ int main(int __attribute__((unused)) argc, char *argv[]) munmap(mem, mem_size); /* 3. Large page testing */ - mem_size = 512ULL * 10 * page_size; + mem_size = 512 * 10 * page_size; mem = mmap(NULL, mem_size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0); if (mem == MAP_FAILED) ksft_exit_fail_msg("error nomem\n");