Matthew Wilcox
2018-Apr-24 03:46 UTC
[PATCH v3] kvmalloc: always use vmalloc if CONFIG_DEBUG_SG
On Mon, Apr 23, 2018 at 08:06:16PM -0400, Mikulas Patocka wrote:> 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.
Mikulas Patocka
2018-Apr-24 12:29 UTC
[PATCH v3] kvmalloc: always use vmalloc if CONFIG_DEBUG_SG
On Mon, 23 Apr 2018, Matthew Wilcox wrote:> On Mon, Apr 23, 2018 at 08:06:16PM -0400, Mikulas Patocka wrote: > > 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 ) Mikulas
Matthew Wilcox
2018-Apr-24 17:16 UTC
[PATCH v3] kvmalloc: always use vmalloc if CONFIG_DEBUG_SG
On Tue, Apr 24, 2018 at 08:29:14AM -0400, Mikulas Patocka wrote:> > > On Mon, 23 Apr 2018, Matthew Wilcox wrote: > > > On Mon, Apr 23, 2018 at 08:06:16PM -0400, Mikulas Patocka wrote: > > > 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?
Reasonably Related Threads
- [PATCH v3] kvmalloc: always use vmalloc if CONFIG_DEBUG_SG
- [PATCH v3] kvmalloc: always use vmalloc if CONFIG_DEBUG_SG
- [PATCH v3] kvmalloc: always use vmalloc if CONFIG_DEBUG_SG
- [PATCH v3] kvmalloc: always use vmalloc if CONFIG_DEBUG_SG
- [PATCH v3] kvmalloc: always use vmalloc if CONFIG_DEBUG_SG