Re: [PATCH] mm/mempool: Avoid KASAN marking mempool posion checks as use-after-free

2016-03-10 Thread Andrey Ryabinin
On 03/09/2016 09:16 AM, Matthew Dawson wrote:
> When removing an element from the mempool, mark it as unpoisoned in KASAN
> before verifying its contents for SLUB/SLAB debugging.  Otherwise KASAN
> will flag the reads checking the element use-after-free writes as
> use-after-free reads.
> 
> Signed-off-by: Matthew Dawson 

Acked-by: Andrey Ryabinin 



Re: [PATCH] mm/mempool: Avoid KASAN marking mempool posion checks as use-after-free

2016-03-10 Thread Andrey Ryabinin
On 03/09/2016 09:16 AM, Matthew Dawson wrote:
> When removing an element from the mempool, mark it as unpoisoned in KASAN
> before verifying its contents for SLUB/SLAB debugging.  Otherwise KASAN
> will flag the reads checking the element use-after-free writes as
> use-after-free reads.
> 
> Signed-off-by: Matthew Dawson 

Acked-by: Andrey Ryabinin 



[PATCH] mm/mempool: Avoid KASAN marking mempool posion checks as use-after-free

2016-03-08 Thread Matthew Dawson
When removing an element from the mempool, mark it as unpoisoned in KASAN
before verifying its contents for SLUB/SLAB debugging.  Otherwise KASAN
will flag the reads checking the element use-after-free writes as
use-after-free reads.

Signed-off-by: Matthew Dawson 
---
 mm/mempool.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/mempool.c b/mm/mempool.c
index 004d42b..7924f4f 100644
--- a/mm/mempool.c
+++ b/mm/mempool.c
@@ -135,8 +135,8 @@ static void *remove_element(mempool_t *pool)
void *element = pool->elements[--pool->curr_nr];
 
BUG_ON(pool->curr_nr < 0);
-   check_element(pool, element);
kasan_unpoison_element(pool, element);
+   check_element(pool, element);
return element;
 }
 
-- 
2.7.1



[PATCH] mm/mempool: Avoid KASAN marking mempool posion checks as use-after-free

2016-03-08 Thread Matthew Dawson
When removing an element from the mempool, mark it as unpoisoned in KASAN
before verifying its contents for SLUB/SLAB debugging.  Otherwise KASAN
will flag the reads checking the element use-after-free writes as
use-after-free reads.

Signed-off-by: Matthew Dawson 
---
 mm/mempool.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/mempool.c b/mm/mempool.c
index 004d42b..7924f4f 100644
--- a/mm/mempool.c
+++ b/mm/mempool.c
@@ -135,8 +135,8 @@ static void *remove_element(mempool_t *pool)
void *element = pool->elements[--pool->curr_nr];
 
BUG_ON(pool->curr_nr < 0);
-   check_element(pool, element);
kasan_unpoison_element(pool, element);
+   check_element(pool, element);
return element;
 }
 
-- 
2.7.1