/* This test is specifically crafted for tag-based modes. */
        KASAN_TEST_NEEDS_CONFIG_OFF(test, CONFIG_KASAN_GENERIC);
 
-       /* Allocation size will be rounded to up granule size, which is 16. */
-       bits = kzalloc(sizeof(*bits), GFP_KERNEL);
+       /* kmalloc-64 cache will be used and the last 16 bytes will be the redzone. */
+       bits = kzalloc(48, GFP_KERNEL);
        KUNIT_ASSERT_NOT_ERR_OR_NULL(test, bits);
 
-       /* Do the accesses past the 16 allocated bytes. */
-       kasan_bitops_modify(test, BITS_PER_LONG, &bits[1]);
-       kasan_bitops_test_and_modify(test, BITS_PER_LONG + BITS_PER_BYTE, &bits[1]);
+       /* Do the accesses past the 48 allocated bytes, but within the redone. */
+       kasan_bitops_modify(test, BITS_PER_LONG, (void *)bits + 48);
+       kasan_bitops_test_and_modify(test, BITS_PER_LONG + BITS_PER_BYTE, (void *)bits + 48);
 
        kfree(bits);
 }