projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
4b3ec5a
)
mm/kasan, slub: don't disable interrupts when object leaves quarantine
author
Andrey Ryabinin
<
[email protected]
>
Tue, 2 Aug 2016 21:02:46 +0000
(14:02 -0700)
committer
Linus Torvalds
<
[email protected]
>
Tue, 2 Aug 2016 21:31:41 +0000
(17:31 -0400)
SLUB doesn't require disabled interrupts to call ___cache_free().
Link:
http://lkml.kernel.org/r/
[email protected]
Signed-off-by: Andrey Ryabinin <
[email protected]
>
Acked-by: Alexander Potapenko <
[email protected]
>
Cc: Dmitry Vyukov <
[email protected]
>
Signed-off-by: Andrew Morton <
[email protected]
>
Signed-off-by: Linus Torvalds <
[email protected]
>
mm/kasan/quarantine.c
patch
|
blob
|
history
diff --git
a/mm/kasan/quarantine.c
b/mm/kasan/quarantine.c
index 65793f150d1f6e1f77d32ad64d37966f0ad9704c..4852625ff851d8693d89da5ea5294a600e565374 100644
(file)
--- a/
mm/kasan/quarantine.c
+++ b/
mm/kasan/quarantine.c
@@
-147,10
+147,14
@@
static void qlink_free(struct qlist_node *qlink, struct kmem_cache *cache)
struct kasan_alloc_meta *alloc_info = get_alloc_info(cache, object);
unsigned long flags;
- local_irq_save(flags);
+ if (IS_ENABLED(CONFIG_SLAB))
+ local_irq_save(flags);
+
alloc_info->state = KASAN_STATE_FREE;
___cache_free(cache, object, _THIS_IP_);
- local_irq_restore(flags);
+
+ if (IS_ENABLED(CONFIG_SLAB))
+ local_irq_restore(flags);
}
static void qlist_free_all(struct qlist_head *q, struct kmem_cache *cache)