aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYury Norov <[email protected]>2020-02-03 17:37:38 -0800
committerLinus Torvalds <[email protected]>2020-02-04 03:05:27 +0000
commit809e308f7f854933a792e4a14c4571320cd11f7e (patch)
treeb1e521c23b81c4a096ba95be7b9dc35d57540b98
parent2d6261583be005a91e4933aa53bbd678ef98e4c4 (diff)
lib: new testcases for bitmap_parse{_user}
New version of bitmap_parse() is unified with bitmap_parse_list(), and therefore: - weakens rules on whitespaces and commas between hex chunks; - in addition to - allows passing UINT_MAX or any other big number as the length of input string instead of actual string length. The patch covers the cases. Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Yury Norov <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Cc: Amritha Nambiar <[email protected]> Cc: Arnaldo Carvalho de Melo <[email protected]> Cc: Chris Wilson <[email protected]> Cc: Kees Cook <[email protected]> Cc: Matthew Wilcox <[email protected]> Cc: Miklos Szeredi <[email protected]> Cc: Rasmus Villemoes <[email protected]> Cc: Steffen Klassert <[email protected]> Cc: "Tobin C . Harding" <[email protected]> Cc: Vineet Gupta <[email protected]> Cc: Will Deacon <[email protected]> Cc: Willem de Bruijn <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
-rw-r--r--lib/test_bitmap.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/test_bitmap.c b/lib/test_bitmap.c
index bde8ed8c0e79..61ed71c1daba 100644
--- a/lib/test_bitmap.c
+++ b/lib/test_bitmap.c
@@ -415,14 +415,22 @@ static const unsigned long parse_test2[] __initconst = {
};
static const struct test_bitmap_parselist parse_tests[] __initconst = {
+ {0, "", &parse_test[0 * step], 32, 0},
+ {0, " ", &parse_test[0 * step], 32, 0},
{0, "0", &parse_test[0 * step], 32, 0},
+ {0, "0\n", &parse_test[0 * step], 32, 0},
{0, "1", &parse_test[1 * step], 32, 0},
{0, "deadbeef", &parse_test[2 * step], 32, 0},
{0, "1,0", &parse_test[3 * step], 33, 0},
+ {0, "deadbeef,\n,0,1", &parse_test[2 * step], 96, 0},
{0, "deadbeef,1,0", &parse_test2[0 * 2 * step], 96, 0},
{0, "baadf00d,deadbeef,1,0", &parse_test2[1 * 2 * step], 128, 0},
{0, "badf00d,deadbeef,1,0", &parse_test2[2 * 2 * step], 124, 0},
+ {0, "badf00d,deadbeef,1,0", &parse_test2[2 * 2 * step], 124, NO_LEN},
+ {0, " badf00d,deadbeef,1,0 ", &parse_test2[2 * 2 * step], 124, 0},
+ {0, " , badf00d,deadbeef,1,0 , ", &parse_test2[2 * 2 * step], 124, 0},
+ {0, " , badf00d, ,, ,,deadbeef,1,0 , ", &parse_test2[2 * 2 * step], 124, 0},
{-EINVAL, "goodfood,deadbeef,1,0", NULL, 128, 0},
{-EOVERFLOW, "3,0", NULL, 33, 0},