Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • L linux-iv
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • linux-arm
  • linux-iv
  • Repository
Switch branch/tag
  • linux-iv
  • mm
  • kasan
  • kasan.c
Find file BlameHistoryPermalink
  • Andrey Ryabinin's avatar
    mm/kasan: don't reduce quarantine in atomic contexts · 4b3ec5a3
    Andrey Ryabinin authored Aug 02, 2016
    Currently we call quarantine_reduce() for ___GFP_KSWAPD_RECLAIM (implied
    by __GFP_RECLAIM) allocation.  So, basically we call it on almost every
    allocation.  quarantine_reduce() sometimes is heavy operation, and
    calling it with disabled interrupts may trigger hard LOCKUP:
    
     NMI watchdog: Watchdog detected hard LOCKUP on cpu 2irq event stamp: 1411258
     Call Trace:
      <NMI>   dump_stack+0x68/0x96
       watchdog_overflow_callback+0x15b/0x190
       __perf_event_overflow+0x1b1/0x540
       perf_event_overflow+0x14/0x20
       intel_pmu_handle_irq+0x36a/0xad0
       perf_event_nmi_handler+0x2c/0x50
       nmi_handle+0x128/0x480
       default_do_nmi+0xb2/0x210
       do_nmi+0x1aa/0x220
       end_repeat_nmi+0x1a/0x1e
      <<EOE>>   __kernel_text_address+0x86/0xb0
       print_context_stack+0x7b/0x100
       dump_trace+0x12b/0x350
       save_stack_trace+0x2b/0x50
       set_track+0x83/0x140
       free_debug_processing+0x1aa/0x420
       __slab_free+0x1d6/0x2e0
       ___cache_free+0xb6/0xd0
       qlist_free_all+0x83/0x100
       quarantine_reduce+0x177/0x1b0
       kasan_kmalloc+0xf3/0x100
    
    Reduce the quarantine_reduce iff direct reclaim is allowed.
    
    Fixes: 55834c59("mm: kasan: initial memory quarantine implementation")
    Link: http://lkml.kernel.org/r/1470062715-14077-2-git-send-email-aryabinin@virtuozzo.com
    
    
    Signed-off-by: default avatarAndrey Ryabinin <aryabinin@virtuozzo.com>
    Reported-by: default avatarDave Jones <davej@codemonkey.org.uk>
    Acked-by: default avatarAlexander Potapenko <glider@google.com>
    Cc: Dmitry Vyukov <dvyukov@google.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    4b3ec5a3