• Qian Cai's avatar
    mm/frontswap: mark various intentional data races · 96bdd2bc
    Qian Cai authored
    
    
    There are a few information counters that are intentionally not protected
    against increment races, so just annotate them using the data_race()
    macro.
    
     BUG: KCSAN: data-race in __frontswap_store / __frontswap_store
    
     write to 0xffffffff8b7174d8 of 8 bytes by task 6396 on cpu 103:
      __frontswap_store+0x2d0/0x344
      inc_frontswap_failed_stores at mm/frontswap.c:70
      (inlined by) __frontswap_store at mm/frontswap.c:280
      swap_writepage+0x83/0xf0
      pageout+0x33e/0xae0
      shrink_page_list+0x1f57/0x2870
      shrink_inactive_list+0x316/0x880
      shrink_lruvec+0x8dc/0x1380
      shrink_node+0x317/0xd80
      do_try_to_free_pages+0x1f7/0xa10
      try_to_free_pages+0x26c/0x5e0
      __alloc_pages_slowpath+0x458/0x1290
      __alloc_pages_nodemask+0x3bb/0x450
      alloc_pages_vma+0x8a/0x2c0
      do_anonymous_page+0x170/0x700
      __handle_mm_fault+0xc9f/0xd00
      handle_mm_fault+0xfc/0x2f0
      do_page_fault+0x263/0x6f9
      page_fault+0x34/0x40
    
     read to 0xffffffff8b7174d8 of 8 bytes by task 6405 on cpu 47:
      __frontswap_store+0x2b9/0x344
      inc_frontswap_failed_stores at mm/frontswap.c:70
      (inlined by) __frontswap_store at mm/frontswap.c:280
      swap_writepage+0x83/0xf0
      pageout+0x33e/0xae0
      shrink_page_list+0x1f57/0x2870
      shrink_inactive_list+0x316/0x880
      shrink_lruvec+0x8dc/0x1380
      shrink_node+0x317/0xd80
      do_try_to_free_pages+0x1f7/0xa10
      try_to_free_pages+0x26c/0x5e0
      __alloc_pages_slowpath+0x458/0x1290
      __alloc_pages_nodemask+0x3bb/0x450
      alloc_pages_vma+0x8a/0x2c0
      do_anonymous_page+0x170/0x700
      __handle_mm_fault+0xc9f/0xd00
      handle_mm_fault+0xfc/0x2f0
      do_page_fault+0x263/0x6f9
      page_fault+0x34/0x40
    
    Signed-off-by: default avatarQian Cai <cai@lca.pw>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Cc: Marco Elver <elver@google.com>
    Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Link: http://lkml.kernel.org/r/1581114499-5042-1-git-send-email-cai@lca.pw
    
    
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    96bdd2bc