From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752843AbcEBFwq (ORCPT ); Mon, 2 May 2016 01:52:46 -0400 Received: from out4440.biz.mail.alibaba.com ([47.88.44.40]:40596 "EHLO out4440.biz.mail.alibaba.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750948AbcEBFwi (ORCPT ); Mon, 2 May 2016 01:52:38 -0400 X-Greylist: delayed 935 seconds by postgrey-1.27 at vger.kernel.org; Mon, 02 May 2016 01:52:38 EDT X-Alimail-AntiSpam: AC=CONTINUE;BC=0.0916635|-1;FP=0|0|0|0|0|-1|-1|-1;HT=e02c03282;MF=chengang@emindsoft.com.cn;NM=1;PH=DS;RN=10;RT=9;SR=0;TI=SMTPD_----4l7h0So_1462167350; From: chengang@emindsoft.com.cn To: akpm@linux-foundation.org, aryabinin@virtuozzo.com, glider@google.com, dvyukov@google.com Cc: kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Chen Gang , Chen Gang Subject: [PATCH] include/linux/kasan.h: Notice about 0 for kasan_[dis/en]able_current() Date: Mon, 2 May 2016 13:35:48 +0800 Message-Id: <1462167348-6280-1-git-send-email-chengang@emindsoft.com.cn> X-Mailer: git-send-email 1.9.3 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Chen Gang According to their comments and the kasan_depth's initialization, if kasan_depth is zero, it means disable. So kasan_depth need consider about the 0 overflow. Also remove useless comments for dummy kasan_slab_free(). Signed-off-by: Chen Gang --- include/linux/kasan.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/linux/kasan.h b/include/linux/kasan.h index 645c280..37fab04 100644 --- a/include/linux/kasan.h +++ b/include/linux/kasan.h @@ -32,13 +32,15 @@ static inline void *kasan_mem_to_shadow(const void *addr) /* Enable reporting bugs after kasan_disable_current() */ static inline void kasan_enable_current(void) { - current->kasan_depth++; + if (current->kasan_depth + 1) + current->kasan_depth++; } /* Disable reporting bugs for current task */ static inline void kasan_disable_current(void) { - current->kasan_depth--; + if (current->kasan_depth) + current->kasan_depth--; } void kasan_unpoison_shadow(const void *address, size_t size); @@ -113,8 +115,6 @@ static inline void kasan_krealloc(const void *object, size_t new_size, static inline void kasan_slab_alloc(struct kmem_cache *s, void *object, gfp_t flags) {} -/* kasan_slab_free() returns true if the object has been put into quarantine. - */ static inline bool kasan_slab_free(struct kmem_cache *s, void *object) { return false; -- 1.9.3