Re: [PATCH v3] kvmalloc: always use vmalloc if CONFIG_DEBUG_SG
From: Joonsoo Kim <hidden>
Date: 2018-05-15 01:13:15
Also in:
dm-devel, linux-mm, lkml
Hello, Mikulas. On Tue, Apr 24, 2018 at 02:41:47PM -0400, Mikulas Patocka wrote:
On Tue, 24 Apr 2018, Matthew Wilcox wrote:quoted
On Tue, Apr 24, 2018 at 08:29:14AM -0400, Mikulas Patocka wrote:quoted
On Mon, 23 Apr 2018, Matthew Wilcox wrote:quoted
On Mon, Apr 23, 2018 at 08:06:16PM -0400, Mikulas Patocka wrote:quoted
Some bugs (such as buffer overflows) are better detected with kmalloc code, so we must test the kmalloc path too.Well now, this brings up another item for the collective TODO list -- implement redzone checks for vmalloc. Unless this is something already taken care of by kasan or similar.The kmalloc overflow testing is also not ideal - it rounds the size up to the next slab size and detects buffer overflows only at this boundary. Some times ago, I made a "kmalloc guard" patch that places a magic number immediatelly after the requested size - so that it can detect overflows at byte boundary ( https://www.redhat.com/archives/dm-devel/2014-September/msg00018.html ) That patch found a bug in crypto code: ( http://lkml.iu.edu/hypermail/linux/kernel/1409.1/02325.html )Is it still worth doing this, now we have kasan?The kmalloc guard has much lower overhead than kasan.
I skimm at your code and it requires rebuilding the kernel. I think that if rebuilding is required as the same with the KASAN, using the KASAN is better since it has far better coverage for detection the bug. However, I think that if the redzone can be setup tightly without rebuild, it would be worth implementing. I have an idea to implement it only for the SLUB. Could I try it? (I'm asking this because I'm inspired from the above patch.) :) Or do you wanna try it? Thanks.