lkml.org 
[lkml]   [2011]   [Jul]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:core/locking] lockdep: Fix lockdep_no_validate against IRQ states
    Commit-ID:  efbe2eee6dc0f179be84292bf269528b3ec365e9
    Gitweb: http://git.kernel.org/tip/efbe2eee6dc0f179be84292bf269528b3ec365e9
    Author: Peter Zijlstra <a.p.zijlstra@chello.nl>
    AuthorDate: Thu, 7 Jul 2011 11:39:45 +0200
    Committer: Ingo Molnar <mingo@elte.hu>
    CommitDate: Thu, 21 Jul 2011 20:43:16 +0200

    lockdep: Fix lockdep_no_validate against IRQ states

    Thomas noticed that a lock marked with lockdep_set_novalidate_class()
    will still trigger warnings for IRQ inversions. Cure this by skipping
    those when marking irq state.

    Reported-and-tested-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Link: http://lkml.kernel.org/n/tip-2dp5vmpsxeraqm42kgww6ge2@git.kernel.org
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    ---
    kernel/lockdep.c | 3 +++
    1 files changed, 3 insertions(+), 0 deletions(-)

    diff --git a/kernel/lockdep.c b/kernel/lockdep.c
    index 298c927..628276d 100644
    --- a/kernel/lockdep.c
    +++ b/kernel/lockdep.c
    @@ -2468,6 +2468,9 @@ mark_held_locks(struct task_struct *curr, enum mark_type mark)

    BUG_ON(usage_bit >= LOCK_USAGE_STATES);

    + if (hlock_class(hlock)->key == &__lockdep_no_validate__)
    + continue;
    +
    if (!mark_lock(curr, hlock, usage_bit))
    return 0;
    }

    \
     
     \ /
      Last update: 2011-07-21 21:35    [W:0.023 / U:60.516 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site