kasan_test.c (002c6ca75289a4ac4f6738213dd2d258704886e4) | kasan_test.c (8032bf1233a74627ce69b803608e650f3f35971c) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * 4 * Copyright (c) 2014 Samsung Electronics Co., Ltd. 5 * Author: Andrey Ryabinin <a.ryabinin@samsung.com> 6 */ 7 8#include <linux/bitops.h> --- 1285 unchanged lines hidden (view full) --- 1294{ 1295 char *ptr; 1296 struct page *pages; 1297 int i, size, order; 1298 1299 KASAN_TEST_NEEDS_CONFIG_OFF(test, CONFIG_KASAN_GENERIC); 1300 1301 for (i = 0; i < 256; i++) { | 1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * 4 * Copyright (c) 2014 Samsung Electronics Co., Ltd. 5 * Author: Andrey Ryabinin <a.ryabinin@samsung.com> 6 */ 7 8#include <linux/bitops.h> --- 1285 unchanged lines hidden (view full) --- 1294{ 1295 char *ptr; 1296 struct page *pages; 1297 int i, size, order; 1298 1299 KASAN_TEST_NEEDS_CONFIG_OFF(test, CONFIG_KASAN_GENERIC); 1300 1301 for (i = 0; i < 256; i++) { |
1302 size = prandom_u32_max(1024) + 1; | 1302 size = get_random_u32_below(1024) + 1; |
1303 ptr = kmalloc(size, GFP_KERNEL); 1304 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ptr); 1305 KUNIT_EXPECT_GE(test, (u8)get_tag(ptr), (u8)KASAN_TAG_MIN); 1306 KUNIT_EXPECT_LT(test, (u8)get_tag(ptr), (u8)KASAN_TAG_KERNEL); 1307 kfree(ptr); 1308 } 1309 1310 for (i = 0; i < 256; i++) { | 1303 ptr = kmalloc(size, GFP_KERNEL); 1304 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ptr); 1305 KUNIT_EXPECT_GE(test, (u8)get_tag(ptr), (u8)KASAN_TAG_MIN); 1306 KUNIT_EXPECT_LT(test, (u8)get_tag(ptr), (u8)KASAN_TAG_KERNEL); 1307 kfree(ptr); 1308 } 1309 1310 for (i = 0; i < 256; i++) { |
1311 order = prandom_u32_max(4) + 1; | 1311 order = get_random_u32_below(4) + 1; |
1312 pages = alloc_pages(GFP_KERNEL, order); 1313 ptr = page_address(pages); 1314 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ptr); 1315 KUNIT_EXPECT_GE(test, (u8)get_tag(ptr), (u8)KASAN_TAG_MIN); 1316 KUNIT_EXPECT_LT(test, (u8)get_tag(ptr), (u8)KASAN_TAG_KERNEL); 1317 free_pages((unsigned long)ptr, order); 1318 } 1319 1320 if (!IS_ENABLED(CONFIG_KASAN_VMALLOC)) 1321 return; 1322 1323 for (i = 0; i < 256; i++) { | 1312 pages = alloc_pages(GFP_KERNEL, order); 1313 ptr = page_address(pages); 1314 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ptr); 1315 KUNIT_EXPECT_GE(test, (u8)get_tag(ptr), (u8)KASAN_TAG_MIN); 1316 KUNIT_EXPECT_LT(test, (u8)get_tag(ptr), (u8)KASAN_TAG_KERNEL); 1317 free_pages((unsigned long)ptr, order); 1318 } 1319 1320 if (!IS_ENABLED(CONFIG_KASAN_VMALLOC)) 1321 return; 1322 1323 for (i = 0; i < 256; i++) { |
1324 size = prandom_u32_max(1024) + 1; | 1324 size = get_random_u32_below(1024) + 1; |
1325 ptr = vmalloc(size); 1326 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ptr); 1327 KUNIT_EXPECT_GE(test, (u8)get_tag(ptr), (u8)KASAN_TAG_MIN); 1328 KUNIT_EXPECT_LT(test, (u8)get_tag(ptr), (u8)KASAN_TAG_KERNEL); 1329 vfree(ptr); 1330 } 1331} 1332 --- 125 unchanged lines hidden --- | 1325 ptr = vmalloc(size); 1326 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ptr); 1327 KUNIT_EXPECT_GE(test, (u8)get_tag(ptr), (u8)KASAN_TAG_MIN); 1328 KUNIT_EXPECT_LT(test, (u8)get_tag(ptr), (u8)KASAN_TAG_KERNEL); 1329 vfree(ptr); 1330 } 1331} 1332 --- 125 unchanged lines hidden --- |