From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E3FE33D1CD7 for ; Fri, 3 Apr 2026 17:10:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775236253; cv=none; b=WZnhAMVXETLg5016wu1dJ2VmLIqyTliz+JVW1XM1rpxV36S3FikXMvRcaEEOjIYXbuUajQvFvnJHSNiRDSPIaY6TvKrMPL4t8mk4EmeOKwIRDUL2a+BpRZ8wBxw3NxEUr2RoHTU3epu5KVONVLVqpNVBPEthJzaBJWeLCuUahi4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775236253; c=relaxed/simple; bh=mpUVc6j8I3Z84IPlIArsJFznEKDyuLAwp0sqV3SYxlU=; h=Date:To:From:Subject:Message-Id; b=bcrrW8SQ23iyT2ac7/ftlFxhvV76QpmdJ+xGAPXB/76IrQXERxiMyMI4dxYfMC1/iO1ZW+CxPiWSxMHOxsw9ZL7YEPl3Y89/GM8MySTTkSDlb6h8jHx15xKbdx0Nd4Pr0HF/DljSzWkJn/h3Ff/EQybrRGgAz9PSrLWCqzxxRek= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b=e39X6YmB; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="e39X6YmB" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 782B3C4CEF7; Fri, 3 Apr 2026 17:10:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1775236252; bh=mpUVc6j8I3Z84IPlIArsJFznEKDyuLAwp0sqV3SYxlU=; h=Date:To:From:Subject:From; b=e39X6YmBAQs+57X8skDNp25NmBXKKO+74fg7TMD7wbNIg4QXxZq3TdAsM8EkTDAmT O4XwwLiDE42FKU6tsDQK/ivtkPCvLRBrLjsE0xnC7c21wGuR83oyjx8UCne+FDVM49 eg7PPZK08TtNsZFykYEWnkLnRYKRrb6scmfBQZAE= Date: Fri, 03 Apr 2026 10:10:51 -0700 To: mm-commits@vger.kernel.org,dmantipov@yandex.ru,akpm@linux-foundation.org From: Andrew Morton Subject: + lib-cmdline_kunit-add-test-case-for-memparse.patch added to mm-nonmm-unstable branch Message-Id: <20260403171052.782B3C4CEF7@smtp.kernel.org> Precedence: bulk X-Mailing-List: mm-commits@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: The patch titled Subject: lib/cmdline_kunit: add test case for memparse() has been added to the -mm mm-nonmm-unstable branch. Its filename is lib-cmdline_kunit-add-test-case-for-memparse.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/lib-cmdline_kunit-add-test-case-for-memparse.patch This patch will later appear in the mm-nonmm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via various branches at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there most days ------------------------------------------------------ From: Dmitry Antipov Subject: lib/cmdline_kunit: add test case for memparse() Date: Fri, 3 Apr 2026 13:33:36 +0300 Better late than never, now there is a long-awaited basic test for 'memparse()' which is provided by cmdline.c. Link: https://lkml.kernel.org/r/20260403103338.1122415-5-dmantipov@yandex.ru Signed-off-by: Dmitry Antipov Suggested-by: Andy Shevchenko Reviewed-by: Andy Shevchenko Cc: Albert Ou Cc: Alexandre Ghiti Cc: Ard Biesheuvel Cc: "Darrick J. Wong" Cc: Kees Cook Cc: Nathan Chancellor Cc: Palmer Dabbelt Cc: Paul Walmsley Signed-off-by: Andrew Morton --- lib/tests/cmdline_kunit.c | 56 ++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) --- a/lib/tests/cmdline_kunit.c~lib-cmdline_kunit-add-test-case-for-memparse +++ a/lib/tests/cmdline_kunit.c @@ -6,6 +6,7 @@ #include #include #include +#include #include static const char *cmdline_test_strings[] = { @@ -139,11 +140,66 @@ static void cmdline_test_range(struct ku } while (++i < ARRAY_SIZE(cmdline_test_range_strings)); } +struct cmdline_test_memparse_entry { + const char *input; + const char *unrecognized; + unsigned long long result; +}; + +static const struct cmdline_test_memparse_entry testdata[] = { + { "0", "", 0ULL }, + { "1", "", 1ULL }, + { "a", "a", 0ULL }, + { "k", "k", 0ULL }, + { "E", "E", 0ULL }, + { "0xb", "", 11ULL }, + { "0xz", "x", 0ULL }, + { "1234", "", 1234ULL }, + { "04567", "", 2423ULL }, + { "0x9876", "", 39030LL }, + { "05678", "8", 375ULL }, + { "0xabcdefz", "z", 11259375ULL }, + { "0cdba", "c", 0ULL }, + { "4K", "", SZ_4K }, + { "0x10k@0xaaaabbbb", "@", SZ_16K }, + { "32M", "", SZ_32M }, + { "067m:foo", ":", 55 * SZ_1M }, + { "2G;bar=baz", ";", SZ_2G }, + { "07gz", "z", 7ULL * SZ_1G }, + { "3T+data", "+", 3 * SZ_1T }, + { "04t,ro", ",", SZ_4T }, + { "012p", "", 11258999068426240ULL }, + { "7P,sync", ",", 7881299347898368ULL }, + { "0x2e", "", 46ULL }, + { "2E and more", " ", 2305843009213693952ULL }, + { "18446744073709551615", "", ULLONG_MAX }, + { "0xffffffffffffffff0", "", ULLONG_MAX }, + { "1111111111111111111T", "", ULLONG_MAX }, + { "222222222222222222222G", "", ULLONG_MAX }, + { "3333333333333333333333M", "", ULLONG_MAX }, +}; + +static void cmdline_test_memparse(struct kunit *test) +{ + const struct cmdline_test_memparse_entry *e; + unsigned long long ret; + char *retptr; + + for (e = testdata; e < testdata + ARRAY_SIZE(testdata); e++) { + ret = memparse(e->input, &retptr); + KUNIT_EXPECT_EQ_MSG(test, ret, e->result, + " when parsing '%s'", e->input); + KUNIT_EXPECT_EQ_MSG(test, *retptr, *e->unrecognized, + " when parsing '%s'", e->input); + } +} + static struct kunit_case cmdline_test_cases[] = { KUNIT_CASE(cmdline_test_noint), KUNIT_CASE(cmdline_test_lead_int), KUNIT_CASE(cmdline_test_tail_int), KUNIT_CASE(cmdline_test_range), + KUNIT_CASE(cmdline_test_memparse), {} }; _ Patches currently in -mm which might be from dmantipov@yandex.ru are lib-fix-_parse_integer_limit-to-handle-overflow.patch lib-fix-memparse-to-handle-overflow.patch lib-add-more-string-to-64-bit-integer-conversion-overflow-tests.patch lib-cmdline_kunit-add-test-case-for-memparse.patch lib-cmdline-adjust-a-few-comments-to-fix-kernel-doc-wreturn-warnings.patch riscv-export-symbols-needed-for-riscv32-efi-stub.patch