google / kernel-sanitizers

Linux Kernel Sanitizers, fast bug-detectors for the Linux kernel
https://google.github.io/kernel-sanitizers/
436 stars 87 forks source link

KUnit test and fixes #107

Closed melver closed 4 years ago

melver commented 4 years ago

As of this writing, one test still fails, and I'm investigating if this is a problem with the test or a real KFENCE bug. When using a custom memcache, it's not happy:

[   14.637354]     ok 1 - test_out_of_bounds_read                                                                              
[   14.637837]     # test_out_of_bounds_read-memcache: test_alloc: size=32, gfp=cc0, side=left, cache=1                        
[   14.744726]     # test_out_of_bounds_read-memcache: EXPECTATION FAILED at mm/kfence/kfence-test.c:236                       
[   14.744726]     Expected report_matches(&expect) to be true, but is false                                                   
[   14.747306]     # test_out_of_bounds_read-memcache: test_alloc: size=32, gfp=cc0, side=right, cache=1                       
[   14.848696]     # test_out_of_bounds_read-memcache: EXPECTATION FAILED at mm/kfence/kfence-test.c:242                       
[   14.848696]     Expected report_matches(&expect) to be true, but is false                                                   
[   14.851703]     not ok 2 - test_out_of_bounds_read-memcache 

Trying to figure out what's going on. Sending for early review, in case you might have ideas.

Thanks!

[Edit: above issue was fixed in kfence: Fix kmem_cache_alloc()]