Messages in this thread Patch in this message | | | From | Chintan Pandya <> | Subject | [PATCH] mm: BUG when __kmap_atomic_idx crosses boundary | Date | Wed, 30 Jul 2014 14:22:35 +0530 |
| |
__kmap_atomic_idx >= KM_TYPE_NR or < ZERO is a bug. Report it even if CONFIG_DEBUG_HIGHMEM is not enabled. That saves much debugging efforts.
Signed-off-by: Chintan Pandya <cpandya@codeaurora.org> --- include/linux/highmem.h | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/include/linux/highmem.h b/include/linux/highmem.h index 7fb31da..f42cafd 100644 --- a/include/linux/highmem.h +++ b/include/linux/highmem.h @@ -93,8 +93,8 @@ static inline int kmap_atomic_idx_push(void) #ifdef CONFIG_DEBUG_HIGHMEM WARN_ON_ONCE(in_irq() && !irqs_disabled()); - BUG_ON(idx > KM_TYPE_NR); #endif + BUG_ON(idx >= KM_TYPE_NR); return idx; } @@ -105,13 +105,9 @@ static inline int kmap_atomic_idx(void) static inline void kmap_atomic_idx_pop(void) { -#ifdef CONFIG_DEBUG_HIGHMEM int idx = __this_cpu_dec_return(__kmap_atomic_idx); BUG_ON(idx < 0); -#else - __this_cpu_dec(__kmap_atomic_idx); -#endif } #endif -- Chintan Pandya QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
| |