Currently, the tag-based KASAN modes rely on page_alloc to poison/unpoison large kmalloc allocations. However, for the Hardware Tag-Based mode, page_alloc might skip unpoisoning due to sampling, which shouldn't affect large kmalloc allocations. We should skip (un)poisoning of large kmalloc allocations in page_alloc via __GFP_SKIP_KASAN and (un)poison them in kasan_kmalloc/kfree_large instead. Or we could document that the kasan.page_alloc.sample command-line parameter also affects large kmalloc allocations. This would be, arguably, confusing, as the parameter does not affect e.g. vmalloc allocations even though they rely on page_alloc as well.
If skipping is implemented, https://bugzilla.kernel.org/show_bug.cgi?id=218358 becomes obsolete.