Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1392275

Re: [PATCH] mm/kasan/kasan.h: Fix boolean checking issue for kasan_report_enabled()

From Chen Gang <chengang@emindsoft.com.cn>
Newsgroups linux.kernel
Subject Re: [PATCH] mm/kasan/kasan.h: Fix boolean checking issue for kasan_report_enabled()
Date 2016-05-02 17:10 +0200
Message-ID <runDZ-5IL-21@gated-at.bofh.it> (permalink)
References (3 earlier) <rukd3-2kb-3@gated-at.bofh.it> <rul98-3f2-7@gated-at.bofh.it> <rulsu-3oP-5@gated-at.bofh.it> <rumoy-4ah-11@gated-at.bofh.it> <run1g-4Vp-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 5/2/16 22:23, Alexander Potapenko wrote:
> On Mon, May 2, 2016 at 3:51 PM, Chen Gang <chengang@emindsoft.com.cn> wrote:
>>
>> OK, thanks.
>>
>> And for "kasan_depth == 1", I guess, its meaning is related with
>> kasan_depth[++|--] in kasan_[en|dis]able_current():
> Assuming you are talking about the assignment of 1 to kasan_depth in
> /include/linux/init_task.h,
> it's somewhat counterintuitive. I think we just need to replace it
> with kasan_disable_current(), and add a corresponding
> kasan_enable_current() to the end of kasan_init.
>

OK. But it does not look quite easy to use kasan_disable_current() for
INIT_KASAN which is used in INIT_TASK.

If we have to set "kasan_depth == 1", we have to use kasan_depth-- in
kasan_enable_current().
 
>>
>> OK, thanks.
>>
>> I guess, we are agree with each other: "We can both issue a WARNING and
>> prevent the actual overflow/underflow.".
> No, I am not sure think that we need to prevent the overflow.
> As I showed before, this may result in kasan_depth being off even in
> the case kasan_enable_current()/kasan_disable_current() are used
> consistently.

If we don't prevent the overflow, it will have negative effect with the
caller. When we issue an warning, it means the caller's hope fail, but
can not destroy the caller's original work. In our case:

 - Assume "kasan_depth-- for kasan_enable_current()", the first enable
   will let kasan_depth be 0.

 - If we don't prevent the overflow, 2nd enable will cause disable
   effect, which will destroy the caller's original work.

 - Enable/disable mismatch is caused by caller, we can issue warnings,
   and skip it (since it is not caused by us). But we can not generate
   new issues to the system only because of the caller's issue.


Thanks.
-- 
Chen Gang (陈刚)

Managing Natural Environments is the Duty of Human Beings.

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] mm/kasan/kasan.h: Fix boolean checking issue for kasan_report_enabled() chengang@emindsoft.com.cn - 2016-05-02 08:00 +0200
  Re: [PATCH] mm/kasan/kasan.h: Fix boolean checking issue for kasan_report_enabled() Dmitry Vyukov <dvyukov@google.com> - 2016-05-02 10:30 +0200
    Re: [PATCH] mm/kasan/kasan.h: Fix boolean checking issue for kasan_report_enabled() Chen Gang <chengang@emindsoft.com.cn> - 2016-05-02 13:20 +0200
      Re: [PATCH] mm/kasan/kasan.h: Fix boolean checking issue for kasan_report_enabled() Dmitry Vyukov <dvyukov@google.com> - 2016-05-02 13:30 +0200
        Re: [PATCH] mm/kasan/kasan.h: Fix boolean checking issue for kasan_report_enabled() Chen Gang <chengang@emindsoft.com.cn> - 2016-05-02 14:30 +0200
          Re: [PATCH] mm/kasan/kasan.h: Fix boolean checking issue for kasan_report_enabled() Alexander Potapenko <glider@google.com> - 2016-05-02 14:50 +0200
            Re: [PATCH] mm/kasan/kasan.h: Fix boolean checking issue for kasan_report_enabled() Chen Gang <chengang@emindsoft.com.cn> - 2016-05-02 15:50 +0200
              Re: [PATCH] mm/kasan/kasan.h: Fix boolean checking issue for kasan_report_enabled() Alexander Potapenko <glider@google.com> - 2016-05-02 16:30 +0200
                Re: [PATCH] mm/kasan/kasan.h: Fix boolean checking issue for kasan_report_enabled() Chen Gang <chengang@emindsoft.com.cn> - 2016-05-02 17:10 +0200
                Re: [PATCH] mm/kasan/kasan.h: Fix boolean checking issue for kasan_report_enabled() Alexander Potapenko <glider@google.com> - 2016-05-02 17:40 +0200
                Re: [PATCH] mm/kasan/kasan.h: Fix boolean checking issue for kasan_report_enabled() Chen Gang <chengang@emindsoft.com.cn> - 2016-05-02 18:20 +0200
                Re: [PATCH] mm/kasan/kasan.h: Fix boolean checking issue for kasan_report_enabled() Chen Gang <chengang@emindsoft.com.cn> - 2016-05-02 18:40 +0200
  Re: [PATCH] mm/kasan/kasan.h: Fix boolean checking issue for kasan_report_enabled() Alexander Potapenko <glider@google.com> - 2016-05-02 13:40 +0200
    Re: [PATCH] mm/kasan/kasan.h: Fix boolean checking issue for kasan_report_enabled() Chen Gang <chengang@emindsoft.com.cn> - 2016-05-02 14:10 +0200

csiph-web