All of lore.kernel.org
 help / color / mirror / Atom feed
* BUG: Bad page state in process - page dumped because: page still charged to cgroup
@ 2020-07-01  8:18 ` Naresh Kamboju
  0 siblings, 0 replies; 22+ messages in thread
From: Naresh Kamboju @ 2020-07-01  8:18 UTC (permalink / raw)
  To: Shakeel Butt, Johannes Weiner
  Cc: Andrew Morton, linux-mm, open list, Roman Gushchin, Michal Hocko,
	lkft-triage, Chris Down

While running LTP mm test suite on x86_64 device the BUG: Bad page
state in process
noticed on linux-next 20200630 tag.

Steps to reproduce:
- boot linux-next 20200630 kernel on x86_64 device
- cd /opt/ltp
- ./runltp -f mm

metadata:
  git branch: master
  git repo: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
  git commit: f2b92b14533e646e434523abdbafddb727c23898
  git describe: next-20200630
  kernel-config:
https://builds.tuxbuild.com/j60yrp7CUpq3LCmqMB8Wdg/kernel.config

Test crash dump:
[  803.905169] Node 0 Normal: 2608*4kB (UMEH) 1380*8kB (UMEH) 64*16kB
(MEH) 28*32kB (MEH) 13*64kB (UMEH) 164*128kB (UMEH) 39*256kB (UE)
1*512kB (M) 1*1024kB (M) 1*2048kB (M) 1*4096kB (M) = 62880kB
[  803.922375] Node 0 hugepages_total=0 hugepages_free=0
hugepages_surp=0 hugepages_size=2048kB
[  803.930806] 2418 total pagecache pages
[  803.934559] 0 pages in swap cache
[  803.937878] Swap cache stats: add 0, delete 0, find 0/0
[  803.943108] Free swap  = 0kB
[  803.945997] Total swap = 0kB
[  803.948885] 4181245 pages RAM
[  803.951857] 0 pages HighMem/MovableOnly
[  803.955695] 626062 pages reserved
[  803.959016] Tasks state (memory values in pages):
[  803.963722] [  pid  ]   uid  tgid total_vm      rss pgtables_bytes
swapents oom_score_adj name
[  803.972336] [    332]     0   332     8529      507   106496
0             0 systemd-journal
[  803.981387] [    349]     0   349    10730      508   118784
0         -1000 systemd-udevd
[  803.990262] [    371]   993   371     8666      108   118784
0             0 systemd-network
[  803.999306] [    379]   992   379     9529       99   110592
0             0 systemd-resolve
[  804.008347] [    388]     0   388     2112       19    61440
0             0 syslogd
[  804.016709] [    389]   995   389     9308      108   122880
0             0 avahi-daemon
[  804.025517] [    391]     0   391     1075       21    57344
0             0 acpid
[  804.033695] [    394]   995   394     9277       68   114688
0             0 avahi-daemon
[  804.042476] [    396]   996   396     7241      154   102400
0          -900 dbus-daemon
[  804.051170] [    397]     0   397     2313       72    65536
0             0 crond
[  804.059349] [    399]     0   399    34025      161   167936
0             0 thermald
[  804.067783] [    400]     0   400     8615      115   110592
0             0 systemd-logind
[  804.076734] [    401]     0   401     2112       32    57344
0             0 klogd
[  804.084907] [    449] 65534   449     3245       39    69632
0             0 dnsmasq
[  804.093254] [    450]     0   450     3187       33    73728
0             0 agetty
[  804.101541] [    452]     0   452     3187       33    73728
0             0 agetty
[  804.109826] [    453]     0   453    14707      107   159744
0             0 login
[  804.118007] [    463]     0   463     9532      163   122880
0             0 systemd
[  804.126362] [    464]     0   464    16132      424   172032
0             0 (sd-pam)
[  804.134803] [    468]     0   468     4538      105    81920
0             0 sh
[  804.142741] [    472]     0   472    11102       83   131072
0             0 su
[  804.150680] [    473]     0   473     4538       99    81920
0             0 sh
[  804.158637] [    519]     0   519     2396       57    61440
0             0 lava-test-runne
[  804.167700] [   1220]     0  1220     2396       52    61440
0             0 lava-test-shell
[  804.176738] [   1221]     0  1221     2396       55    61440
0             0 sh
[  804.184680] [   1223]     0  1223     2462      135    61440
0             0 ltp.sh
[  804.192946] [   1242]     0  1242     2462      134    61440
0             0 ltp.sh
[  804.201207] [   1243]     0  1243     2462      134    61440
0             0 ltp.sh
[  804.209475] [   1244]     0  1244     2462      134    61440
0             0 ltp.sh
[  804.217742] [   1245]     0  1245     2561      229    65536
0             0 runltp
[  804.226010] [   1246]     0  1246     1072       15    53248
0             0 tee
[  804.234012] [   1313]     0  1313     1070       29    53248
0             0 ltp-pan
[  804.242374] [   3216]     0  3216     1613       20    53248
0             0 oom01
[  804.250554] [   3217]     0  3217     1646       31    57344
0             0 oom01
[  804.258728] [   3245]     0  3245    81271      469   266240
0             0 NetworkManager
[  804.267688] [   3249]     0  3249     6422       54    98304
0             0 systemd-hostnam
[  804.276734] [   3250]     0  3250    52976      178   172032
0             0 nm-dispatcher
[  804.285603] [   3254]   998  3254   131113      828   245760
0             0 polkitd
[  804.293956] [   3261]     0  3261  4726385  3349389 26939392
0             0 oom01
[  804.302129] [   3265]     0  3265     3187       33    73728
0             0 agetty
[  804.310397] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/,task=oom01,pid=3261,uid=0
[  804.322751] Out of memory: Killed process 3261 (oom01)
total-vm:18905540kB, anon-rss:13397556kB, file-rss:0kB, shmem-rss:0kB,
UID:0 pgtables:26308kB oom_score_adj:0
[  806.652952] oom_reaper: reaped process 3261 (oom01), now
anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
[  807.579373] BUG: Bad page state in process kworker/u8:12  pfn:374308
[  807.579521] BUG: Bad page state in process kworker/u8:13  pfn:4182a4
[  807.585734] page:ffffea000dd0c200 refcount:0 mapcount:0
mapping:0000000000000000 index:0xffff88837430e000
head:ffffea000dd0c200 order:3 compound_mapcount:0 compound_pincount:0
[  807.585736] flags: 0x200000000010000(head)
[  807.585740] raw: 0200000000010000 ffffea000dce6e00 0000000200000002
0000000000000000
[  807.592099] page:ffffea001060a900 refcount:0 mapcount:0
mapping:0000000000000000 index:0xffff8884182a5e00
head:ffffea001060a900 order:1 compound_mapcount:0
[  807.607719] raw: ffff88837430e000 0000000000040000 00000000ffffffff
ffff8883bda6cac1
[  807.607720] page dumped because: page still charged to cgroup
[  807.607720] page->mem_cgroup:ffff8883bda6cac1
[  807.607721] Modules linked in: x86_pkg_temp_thermal
[  807.607725] CPU: 0 PID: 3242 Comm: kworker/u8:12 Not tainted
5.8.0-rc3-next-20200630 #1
[  807.607727] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
2.0b 07/27/2017
[  807.607731] Workqueue: rpciod rpc_async_schedule
[  807.611836] flags: 0x200000000010000(head)
[  807.619563] Call Trace:
[  807.619567]  dump_stack+0x84/0xba
[  807.619569]  bad_page.cold+0x7b/0xac
[  807.619573]  __free_pages_ok+0x95b/0xab0
[  807.633461] raw: 0200000000010000 dead000000000100 dead000000000122
0000000000000000
[  807.641189]  __free_pages+0x42/0x50
[  807.641191]  __free_slab+0xcd/0x1f0
[  807.641195]  ? stack_trace_save+0x8f/0xc0
[  807.646938] raw: ffff8884182a5e00 0000000000190000 00000000ffffffff
ffff88841963e401
[  807.651285]  discard_slab+0x33/0x50
[  807.651288]  unfreeze_partials.isra.0+0x11f/0x150
[  807.651291]  ? __free_pages+0x31/0x50
[  807.656167] page dumped because: page still charged to cgroup
[  807.664154]  put_cpu_partial+0x8e/0xe0
[  807.664156]  __slab_free+0x222/0x340
[  807.664160]  ? qlist_free_all+0x25/0xc0
[  807.671636] page->mem_cgroup:ffff88841963e401
[  807.676243]  ___cache_free+0x1a7/0x1f0
[  807.676246]  qlist_free_all+0x3e/0xc0
[  807.676248]  quarantine_reduce+0x11b/0x150
[  807.676250]  __kasan_kmalloc.constprop.0+0xa3/0xe0
[  807.680345] Modules linked in: x86_pkg_temp_thermal
[  807.682788]  ? xprt_alloc_slot+0x1ff/0x260
[  807.682790]  kasan_slab_alloc+0xe/0x10
[  807.682792]  kmem_cache_alloc_trace+0xc8/0x4d0
[  807.682795]  xprt_alloc_slot+0x1ff/0x260
[  807.790462]  xprt_do_reserve+0x3c/0x380
[  807.794303]  xprt_reserve+0x94/0x100
[  807.797881]  ? rpc_set_connect_timeout+0x90/0x90
[  807.802492]  call_reserve+0x36/0x40
[  807.805985]  __rpc_execute+0x137/0x680
[  807.809738]  ? set_next_entity+0xa7/0x3a0
[  807.813750]  ? rpc_sleep_on_priority_timeout+0x60/0x60
[  807.818881]  ? __kasan_check_write+0x14/0x20
[  807.823153]  ? finish_task_switch+0x9b/0x380
[  807.827419]  rpc_async_schedule+0x48/0x80
[  807.831430]  process_one_work+0x474/0x7b0
[  807.835441]  worker_thread+0x7b/0x6a0
[  807.839113]  ? wake_up_process+0x10/0x20
[  807.843043]  ? process_one_work+0x7b0/0x7b0
[  807.847230]  kthread+0x1aa/0x200
[  807.850462]  ? kthread_create_on_node+0xd0/0xd0
[  807.854996]  ret_from_fork+0x22/0x30
[  807.858573] Disabling lock debugging due to kernel taint
[  807.858576] CPU: 3 PID: 3243 Comm: kworker/u8:13 Not tainted
5.8.0-rc3-next-20200630 #1
[  807.858578] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
2.0b 07/27/2017
[  807.863888] BUG: Bad page state in process kworker/u8:12  pfn:3739b8
[  807.871887] Workqueue: rpciod rpc_async_schedule
[  807.879358] page:ffffea000dce6e00 refcount:0 mapcount:0
mapping:0000000000000000 index:0xffff8883739be000
head:ffffea000dce6e00 order:3 compound_mapcount:0 compound_pincount:0
[  807.885699] Call Trace:
[  807.885702]  dump_stack+0x84/0xba
[  807.890309] flags: 0x200000000010000(head)
[  807.890312] raw: 0200000000010000 0000000000000000 0000000300000003
0000000000000000
[  807.905929]  bad_page.cold+0x7b/0xac
[  807.908374] raw: ffff8883739be000 0000000000040000 00000000ffffffff
ffff8883bda6c841
[  807.911683]  __free_pages_ok+0x95b/0xab0
[  807.915772] page dumped because: page still charged to cgroup
[  807.923506]  ? _raw_read_lock_irq+0x40/0x40
[  807.927089] page->mem_cgroup:ffff8883bda6c841
[  807.927105] Modules linked in: x86_pkg_temp_thermal
[  807.934850]  ? __free_slab+0xcd/0x1f0
[  807.961559]  __free_pages+0x42/0x50
[  807.965045]  __free_slab+0xcd/0x1f0
[  807.968537]  discard_slab+0x33/0x50
[  807.972030]  __slab_free+0x309/0x340
[  807.975607]  ? __slab_free+0x309/0x340
[  807.979352]  ? qlist_free_all+0x25/0xc0
[  807.983182]  ___cache_free+0x1a7/0x1f0
[  807.986927]  qlist_free_all+0x3e/0xc0
[  807.990593]  quarantine_reduce+0x11b/0x150
[  807.994692]  __kasan_kmalloc.constprop.0+0xa3/0xe0
[  807.999484]  kasan_slab_alloc+0xe/0x10
[  808.003238]  __kmalloc_node_track_caller+0xfa/0x580
[  808.008123]  ? __alloc_skb+0xd7/0x310
[  808.011783]  __kmalloc_reserve.isra.0+0x2c/0x90
[  808.016316]  __alloc_skb+0xd7/0x310
[  808.019808]  ? __kmalloc_reserve.isra.0+0x90/0x90
[  808.024515]  ? sk_reset_timer+0x15/0x70
[  808.028354]  sk_stream_alloc_skb+0x96/0x4a0
[  808.032539]  tcp_sendmsg_locked+0x657/0x1740
[  808.036811]  ? tcp_rcv_established+0x44a/0xbe0
[  808.041259]  ? tcp_data_queue+0x1c00/0x1c00
[  808.045445]  ? tcp_sendpage+0x50/0x50
[  808.049119]  ? __kasan_check_write+0x14/0x20
[  808.053390]  ? _raw_spin_lock_bh+0x81/0xd0
[  808.057481]  ? tcp_release_cb+0x46/0x1f0
[  808.061399]  tcp_sendmsg+0x28/0x40
[  808.064804]  inet_sendmsg+0x5f/0x90
[  808.068290]  ? inet_send_prepare+0x110/0x110
[  808.072562]  sock_sendmsg+0x92/0xa0
[  808.076073]  xprt_sock_sendmsg+0x1d9/0x410
[  808.080197]  ? csum_partial_copy_to_xdr+0x2f0/0x2f0
[  808.085090]  ? __kasan_check_write+0x14/0x20
[  808.089384]  ? _raw_spin_lock_irqsave+0x7c/0xd0
[  808.093915]  ? quarantine_reduce+0x133/0x150
[  808.098179]  ? kasan_unpoison_shadow+0x38/0x50
[  808.102620]  ? recalibrate_cpu_khz+0x10/0x10
[  808.106892]  xs_tcp_send_request+0x203/0x400
[  808.111164]  ? xs_tcp_set_socket_timeouts.isra.0+0x150/0x150
[  808.116823]  ? _raw_read_lock_irq+0x40/0x40
[  808.121010]  ? _raw_read_lock_irq+0x40/0x40
[  808.125196]  xprt_transmit+0x23f/0x770
[  808.128947]  call_transmit+0xec/0x130
[  808.132612]  ? call_bind+0x100/0x100
[  808.136183]  __rpc_execute+0x137/0x680
[  808.139937]  ? set_next_entity+0xa7/0x3a0
[  808.143949]  ? rpc_sleep_on_priority_timeout+0x60/0x60
[  808.149092]  ? __kasan_check_write+0x14/0x20
[  808.153388]  ? finish_task_switch+0x9b/0x380
[  808.157659]  ? __kasan_check_write+0x14/0x20
[  808.161931]  rpc_async_schedule+0x48/0x80
[  808.165936]  process_one_work+0x474/0x7b0
[  808.169949]  worker_thread+0x7b/0x6a0
[  808.173616]  ? wake_up_process+0x10/0x20
[  808.177542]  ? process_one_work+0x7b0/0x7b0
[  808.181725]  kthread+0x1aa/0x200
[  808.184949]  ? kthread_create_on_node+0xd0/0xd0
[  808.189476]  ret_from_fork+0x22/0x30
[  808.193054] CPU: 0 PID: 3242 Comm: kworker/u8:12 Tainted: G    B
         5.8.0-rc3-next-20200630 #1
[  808.200915] BUG: Bad page state in process systemd-journal  pfn:4002fa
[  808.202464] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
2.0b 07/27/2017
[  808.202467] Workqueue: rpciod rpc_async_schedule
[  808.208986] page:ffffea001000be80 refcount:0 mapcount:0
mapping:0000000000000000 index:0x1
[  808.216461] Call Trace:
[  808.216464]  dump_stack+0x84/0xba
[  808.221072] flags: 0x200000000000000()
[  808.229326]  bad_page.cold+0x7b/0xac
[  808.231769] raw: 0200000000000000 dead000000000100 dead000000000122
0000000000000000
[  808.235079]  __free_pages_ok+0x95b/0xab0
mem.c:147: PASS:[  808.238823] raw: 0000000000000001 0000000000100000
00000000ffffffff ffff88841cc82901
[  808.242401]  __free_pages+0x42/0x50
[  808.250131] page dumped because: page still charged to cgroup
[  808.250132] page->mem_cgroup:ffff88841cc82901
[  808.254058]  __free_slab+0xcd/0x1f0
[  808.263174] Modules linked in: x86_pkg_temp_thermal
[  808.266661]  ? stack_trace_save+0x8f/0xc0
[  808.289125]  discard_slab+0x33/0x50
[  808.292616]  unfreeze_partials.isra.0+0x11f/0x150
[  808.297323]  ? __free_pages+0x31/0x50
[  808.300989]  put_cpu_partial+0x8e/0xe0
[  808.304741]  __slab_free+0x222/0x340
[  808.308319]  ? qlist_free_all+0x25/0xc0
[  808.312150]  ___cache_free+0x1a7/0x1f0
[  808.315894]  qlist_free_all+0x3e/0xc0
[  808.319553]  quarantine_reduce+0x11b/0x150
[  808.323652]  __kasan_kmalloc.constprop.0+0xa3/0xe0
[  808.328443]  ? xprt_alloc_slot+0x1ff/0x260
[  808.332534]  kasan_slab_alloc+0xe/0x10
[  808.336278]  kmem_cache_alloc_trace+0xc8/0x4d0
[  808.340715]  xprt_alloc_slot+0x1ff/0x260
[  808.344634]  xprt_do_reserve+0x3c/0x380
[  808.348473]  xprt_reserve+0x94/0x100
[  808.352073]  ? rpc_set_connect_timeout+0x90/0x90
[  808.356688]  call_reserve+0x36/0x40
[  808.360172]  __rpc_execute+0x137/0x680
[  808.363915]  ? set_next_entity+0xa7/0x3a0
[  808.367920]  ? rpc_sleep_on_priority_timeout+0x60/0x60
[  808.373075]  ? __kasan_check_write+0x14/0x20
[  808.377341]  ? finish_task_switch+0x9b/0x380
[  808.381613]  rpc_async_schedule+0x48/0x80
[  808.385619]  process_one_work+0x474/0x7b0
[  808.389632]  worker_thread+0x7b/0x6a0
[  808.393297]  ? wake_up_process+0x10/0x20
[  808.397223]  ? process_one_work+0x7b0/0x7b0
[  808.401408]  kthread+0x1aa/0x200
[  808.404632]  ? kthread_create_on_node+0xd0/0xd0
[  808.409156]  ret_from_fork+0x22/0x30
[  808.412737] CPU: 1 PID: 332 Comm: systemd-journal Tainted: G    B
          5.8.0-rc3-next-20200630 #1
[  808.422232] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
2.0b 07/27/2017
[  808.429703] Call Trace:
[  808.432151]  dump_stack+0x84/0xba
[  808.435494]  bad_page.cold+0x7b/0xac
[  808.439081]  free_pcppages_bulk+0x33a/0xaa0
[  808.443286]  ? free_pcp_prepare+0x180/0x180
[  808.447473]  free_unref_page_commit.isra.0+0x143/0x160
[  808.452612]  free_unref_page+0x4a/0x60
[  808.456364]  __free_pages+0x31/0x50
[  808.459856]  __free_slab+0xcd/0x1f0
[  808.463341]  discard_slab+0x33/0x50
[  808.466834]  unfreeze_partials.isra.0+0x11f/0x150
[  808.471540]  ? __free_pages+0x42/0x50
[  808.475207]  put_cpu_partial+0x8e/0xe0
[  808.478959]  __slab_free+0x222/0x340
[  808.482538]  ? qlist_free_all+0x25/0xc0
[  808.486377]  ___cache_free+0x1a7/0x1f0
[  808.490128]  qlist_free_all+0x3e/0xc0
[  808.493788]  quarantine_reduce+0x11b/0x150
[  808.497886]  __kasan_kmalloc.constprop.0+0xa3/0xe0
[  808.502678]  ? prepare_creds+0x24/0x330
[  808.506518]  kasan_slab_alloc+0xe/0x10
[  808.510271]  kmem_cache_alloc+0xc6/0x4b0
[  808.514197]  prepare_creds+0x24/0x330
[  808.517863]  do_faccessat+0x247/0x3d0
[  808.521527]  ? __ia32_sys_fallocate+0x60/0x60
[  808.525880]  ? fpregs_assert_state_consistent+0x55/0x60
[  808.531108]  ? __prepare_exit_to_usermode+0x77/0x1a0
[  808.536077]  __x64_sys_access+0x33/0x40
[  808.539929]  do_syscall_64+0x43/0x70
[  808.543508]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[  808.548557] RIP: 0033:0x7efdea32e237
[  808.552128] Code: Bad RIP value.
[  808.555353] RSP: 002b:00007ffd76bbfa58 EFLAGS: 00000246 ORIG_RAX:
0000000000000015
[  808.562909] RAX: ffffffffffffffda RBX: 00007ffd76bc2560 RCX: 00007efdea32e237
[  808.570034] RDX: 00007efdea975be8 RSI: 0000000000000000 RDI: 00005633af888580
[  808.577157] RBP: 00007ffd76bbfaa0 R08: 0000000000000000 R09: 0000000000000000
[  808.584281] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
[  808.591406] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000009
[  808.598532] BUG: Bad page state in process systemd-journal  pfn:418192
[  808.605075] page:ffffea0010606480 refcount:0 mapcount:0
mapping:0000000000000000 index:0x1
[  808.613367] flags: 0x200000000000000()
[  808.617115] raw: 0200000000000000 dead000000000100 dead000000000122
0000000000000000
[  808.624851] raw: 0000000000000001 0000000000100000 00000000ffffffff
ffff88841cc82601
[  808.632580] page dumped because: page still charged to cgroup
[  808.638318] page->mem_cgroup:ffff88841cc82601
[  808.642668] Modules linked in: x86_pkg_temp_thermal
[  808.647543] CPU: 1 PID: 332 Comm: systemd-journal Tainted: G    B
          5.8.0-rc3-next-20200630 #1
[  808.657013] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
2.0b 07/27/2017


Full test log link,
https://lkft.validation.linaro.org/scheduler/job/1535880#L11102

-- 
Linaro LKFT
https://lkft.linaro.org

^ permalink raw reply	[flat|nested] 22+ messages in thread

* BUG: Bad page state in process - page dumped because: page still charged to cgroup
@ 2020-07-01  8:18 ` Naresh Kamboju
  0 siblings, 0 replies; 22+ messages in thread
From: Naresh Kamboju @ 2020-07-01  8:18 UTC (permalink / raw)
  To: Shakeel Butt, Johannes Weiner
  Cc: Andrew Morton, linux-mm, open list, Roman Gushchin, Michal Hocko,
	lkft-triage, Chris Down

While running LTP mm test suite on x86_64 device the BUG: Bad page
state in process
noticed on linux-next 20200630 tag.

Steps to reproduce:
- boot linux-next 20200630 kernel on x86_64 device
- cd /opt/ltp
- ./runltp -f mm

metadata:
  git branch: master
  git repo: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
  git commit: f2b92b14533e646e434523abdbafddb727c23898
  git describe: next-20200630
  kernel-config:
https://builds.tuxbuild.com/j60yrp7CUpq3LCmqMB8Wdg/kernel.config

Test crash dump:
[  803.905169] Node 0 Normal: 2608*4kB (UMEH) 1380*8kB (UMEH) 64*16kB
(MEH) 28*32kB (MEH) 13*64kB (UMEH) 164*128kB (UMEH) 39*256kB (UE)
1*512kB (M) 1*1024kB (M) 1*2048kB (M) 1*4096kB (M) = 62880kB
[  803.922375] Node 0 hugepages_total=0 hugepages_free=0
hugepages_surp=0 hugepages_size=2048kB
[  803.930806] 2418 total pagecache pages
[  803.934559] 0 pages in swap cache
[  803.937878] Swap cache stats: add 0, delete 0, find 0/0
[  803.943108] Free swap  = 0kB
[  803.945997] Total swap = 0kB
[  803.948885] 4181245 pages RAM
[  803.951857] 0 pages HighMem/MovableOnly
[  803.955695] 626062 pages reserved
[  803.959016] Tasks state (memory values in pages):
[  803.963722] [  pid  ]   uid  tgid total_vm      rss pgtables_bytes
swapents oom_score_adj name
[  803.972336] [    332]     0   332     8529      507   106496
0             0 systemd-journal
[  803.981387] [    349]     0   349    10730      508   118784
0         -1000 systemd-udevd
[  803.990262] [    371]   993   371     8666      108   118784
0             0 systemd-network
[  803.999306] [    379]   992   379     9529       99   110592
0             0 systemd-resolve
[  804.008347] [    388]     0   388     2112       19    61440
0             0 syslogd
[  804.016709] [    389]   995   389     9308      108   122880
0             0 avahi-daemon
[  804.025517] [    391]     0   391     1075       21    57344
0             0 acpid
[  804.033695] [    394]   995   394     9277       68   114688
0             0 avahi-daemon
[  804.042476] [    396]   996   396     7241      154   102400
0          -900 dbus-daemon
[  804.051170] [    397]     0   397     2313       72    65536
0             0 crond
[  804.059349] [    399]     0   399    34025      161   167936
0             0 thermald
[  804.067783] [    400]     0   400     8615      115   110592
0             0 systemd-logind
[  804.076734] [    401]     0   401     2112       32    57344
0             0 klogd
[  804.084907] [    449] 65534   449     3245       39    69632
0             0 dnsmasq
[  804.093254] [    450]     0   450     3187       33    73728
0             0 agetty
[  804.101541] [    452]     0   452     3187       33    73728
0             0 agetty
[  804.109826] [    453]     0   453    14707      107   159744
0             0 login
[  804.118007] [    463]     0   463     9532      163   122880
0             0 systemd
[  804.126362] [    464]     0   464    16132      424   172032
0             0 (sd-pam)
[  804.134803] [    468]     0   468     4538      105    81920
0             0 sh
[  804.142741] [    472]     0   472    11102       83   131072
0             0 su
[  804.150680] [    473]     0   473     4538       99    81920
0             0 sh
[  804.158637] [    519]     0   519     2396       57    61440
0             0 lava-test-runne
[  804.167700] [   1220]     0  1220     2396       52    61440
0             0 lava-test-shell
[  804.176738] [   1221]     0  1221     2396       55    61440
0             0 sh
[  804.184680] [   1223]     0  1223     2462      135    61440
0             0 ltp.sh
[  804.192946] [   1242]     0  1242     2462      134    61440
0             0 ltp.sh
[  804.201207] [   1243]     0  1243     2462      134    61440
0             0 ltp.sh
[  804.209475] [   1244]     0  1244     2462      134    61440
0             0 ltp.sh
[  804.217742] [   1245]     0  1245     2561      229    65536
0             0 runltp
[  804.226010] [   1246]     0  1246     1072       15    53248
0             0 tee
[  804.234012] [   1313]     0  1313     1070       29    53248
0             0 ltp-pan
[  804.242374] [   3216]     0  3216     1613       20    53248
0             0 oom01
[  804.250554] [   3217]     0  3217     1646       31    57344
0             0 oom01
[  804.258728] [   3245]     0  3245    81271      469   266240
0             0 NetworkManager
[  804.267688] [   3249]     0  3249     6422       54    98304
0             0 systemd-hostnam
[  804.276734] [   3250]     0  3250    52976      178   172032
0             0 nm-dispatcher
[  804.285603] [   3254]   998  3254   131113      828   245760
0             0 polkitd
[  804.293956] [   3261]     0  3261  4726385  3349389 26939392
0             0 oom01
[  804.302129] [   3265]     0  3265     3187       33    73728
0             0 agetty
[  804.310397] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/,task=oom01,pid=3261,uid=0
[  804.322751] Out of memory: Killed process 3261 (oom01)
total-vm:18905540kB, anon-rss:13397556kB, file-rss:0kB, shmem-rss:0kB,
UID:0 pgtables:26308kB oom_score_adj:0
[  806.652952] oom_reaper: reaped process 3261 (oom01), now
anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
[  807.579373] BUG: Bad page state in process kworker/u8:12  pfn:374308
[  807.579521] BUG: Bad page state in process kworker/u8:13  pfn:4182a4
[  807.585734] page:ffffea000dd0c200 refcount:0 mapcount:0
mapping:0000000000000000 index:0xffff88837430e000
head:ffffea000dd0c200 order:3 compound_mapcount:0 compound_pincount:0
[  807.585736] flags: 0x200000000010000(head)
[  807.585740] raw: 0200000000010000 ffffea000dce6e00 0000000200000002
0000000000000000
[  807.592099] page:ffffea001060a900 refcount:0 mapcount:0
mapping:0000000000000000 index:0xffff8884182a5e00
head:ffffea001060a900 order:1 compound_mapcount:0
[  807.607719] raw: ffff88837430e000 0000000000040000 00000000ffffffff
ffff8883bda6cac1
[  807.607720] page dumped because: page still charged to cgroup
[  807.607720] page->mem_cgroup:ffff8883bda6cac1
[  807.607721] Modules linked in: x86_pkg_temp_thermal
[  807.607725] CPU: 0 PID: 3242 Comm: kworker/u8:12 Not tainted
5.8.0-rc3-next-20200630 #1
[  807.607727] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
2.0b 07/27/2017
[  807.607731] Workqueue: rpciod rpc_async_schedule
[  807.611836] flags: 0x200000000010000(head)
[  807.619563] Call Trace:
[  807.619567]  dump_stack+0x84/0xba
[  807.619569]  bad_page.cold+0x7b/0xac
[  807.619573]  __free_pages_ok+0x95b/0xab0
[  807.633461] raw: 0200000000010000 dead000000000100 dead000000000122
0000000000000000
[  807.641189]  __free_pages+0x42/0x50
[  807.641191]  __free_slab+0xcd/0x1f0
[  807.641195]  ? stack_trace_save+0x8f/0xc0
[  807.646938] raw: ffff8884182a5e00 0000000000190000 00000000ffffffff
ffff88841963e401
[  807.651285]  discard_slab+0x33/0x50
[  807.651288]  unfreeze_partials.isra.0+0x11f/0x150
[  807.651291]  ? __free_pages+0x31/0x50
[  807.656167] page dumped because: page still charged to cgroup
[  807.664154]  put_cpu_partial+0x8e/0xe0
[  807.664156]  __slab_free+0x222/0x340
[  807.664160]  ? qlist_free_all+0x25/0xc0
[  807.671636] page->mem_cgroup:ffff88841963e401
[  807.676243]  ___cache_free+0x1a7/0x1f0
[  807.676246]  qlist_free_all+0x3e/0xc0
[  807.676248]  quarantine_reduce+0x11b/0x150
[  807.676250]  __kasan_kmalloc.constprop.0+0xa3/0xe0
[  807.680345] Modules linked in: x86_pkg_temp_thermal
[  807.682788]  ? xprt_alloc_slot+0x1ff/0x260
[  807.682790]  kasan_slab_alloc+0xe/0x10
[  807.682792]  kmem_cache_alloc_trace+0xc8/0x4d0
[  807.682795]  xprt_alloc_slot+0x1ff/0x260
[  807.790462]  xprt_do_reserve+0x3c/0x380
[  807.794303]  xprt_reserve+0x94/0x100
[  807.797881]  ? rpc_set_connect_timeout+0x90/0x90
[  807.802492]  call_reserve+0x36/0x40
[  807.805985]  __rpc_execute+0x137/0x680
[  807.809738]  ? set_next_entity+0xa7/0x3a0
[  807.813750]  ? rpc_sleep_on_priority_timeout+0x60/0x60
[  807.818881]  ? __kasan_check_write+0x14/0x20
[  807.823153]  ? finish_task_switch+0x9b/0x380
[  807.827419]  rpc_async_schedule+0x48/0x80
[  807.831430]  process_one_work+0x474/0x7b0
[  807.835441]  worker_thread+0x7b/0x6a0
[  807.839113]  ? wake_up_process+0x10/0x20
[  807.843043]  ? process_one_work+0x7b0/0x7b0
[  807.847230]  kthread+0x1aa/0x200
[  807.850462]  ? kthread_create_on_node+0xd0/0xd0
[  807.854996]  ret_from_fork+0x22/0x30
[  807.858573] Disabling lock debugging due to kernel taint
[  807.858576] CPU: 3 PID: 3243 Comm: kworker/u8:13 Not tainted
5.8.0-rc3-next-20200630 #1
[  807.858578] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
2.0b 07/27/2017
[  807.863888] BUG: Bad page state in process kworker/u8:12  pfn:3739b8
[  807.871887] Workqueue: rpciod rpc_async_schedule
[  807.879358] page:ffffea000dce6e00 refcount:0 mapcount:0
mapping:0000000000000000 index:0xffff8883739be000
head:ffffea000dce6e00 order:3 compound_mapcount:0 compound_pincount:0
[  807.885699] Call Trace:
[  807.885702]  dump_stack+0x84/0xba
[  807.890309] flags: 0x200000000010000(head)
[  807.890312] raw: 0200000000010000 0000000000000000 0000000300000003
0000000000000000
[  807.905929]  bad_page.cold+0x7b/0xac
[  807.908374] raw: ffff8883739be000 0000000000040000 00000000ffffffff
ffff8883bda6c841
[  807.911683]  __free_pages_ok+0x95b/0xab0
[  807.915772] page dumped because: page still charged to cgroup
[  807.923506]  ? _raw_read_lock_irq+0x40/0x40
[  807.927089] page->mem_cgroup:ffff8883bda6c841
[  807.927105] Modules linked in: x86_pkg_temp_thermal
[  807.934850]  ? __free_slab+0xcd/0x1f0
[  807.961559]  __free_pages+0x42/0x50
[  807.965045]  __free_slab+0xcd/0x1f0
[  807.968537]  discard_slab+0x33/0x50
[  807.972030]  __slab_free+0x309/0x340
[  807.975607]  ? __slab_free+0x309/0x340
[  807.979352]  ? qlist_free_all+0x25/0xc0
[  807.983182]  ___cache_free+0x1a7/0x1f0
[  807.986927]  qlist_free_all+0x3e/0xc0
[  807.990593]  quarantine_reduce+0x11b/0x150
[  807.994692]  __kasan_kmalloc.constprop.0+0xa3/0xe0
[  807.999484]  kasan_slab_alloc+0xe/0x10
[  808.003238]  __kmalloc_node_track_caller+0xfa/0x580
[  808.008123]  ? __alloc_skb+0xd7/0x310
[  808.011783]  __kmalloc_reserve.isra.0+0x2c/0x90
[  808.016316]  __alloc_skb+0xd7/0x310
[  808.019808]  ? __kmalloc_reserve.isra.0+0x90/0x90
[  808.024515]  ? sk_reset_timer+0x15/0x70
[  808.028354]  sk_stream_alloc_skb+0x96/0x4a0
[  808.032539]  tcp_sendmsg_locked+0x657/0x1740
[  808.036811]  ? tcp_rcv_established+0x44a/0xbe0
[  808.041259]  ? tcp_data_queue+0x1c00/0x1c00
[  808.045445]  ? tcp_sendpage+0x50/0x50
[  808.049119]  ? __kasan_check_write+0x14/0x20
[  808.053390]  ? _raw_spin_lock_bh+0x81/0xd0
[  808.057481]  ? tcp_release_cb+0x46/0x1f0
[  808.061399]  tcp_sendmsg+0x28/0x40
[  808.064804]  inet_sendmsg+0x5f/0x90
[  808.068290]  ? inet_send_prepare+0x110/0x110
[  808.072562]  sock_sendmsg+0x92/0xa0
[  808.076073]  xprt_sock_sendmsg+0x1d9/0x410
[  808.080197]  ? csum_partial_copy_to_xdr+0x2f0/0x2f0
[  808.085090]  ? __kasan_check_write+0x14/0x20
[  808.089384]  ? _raw_spin_lock_irqsave+0x7c/0xd0
[  808.093915]  ? quarantine_reduce+0x133/0x150
[  808.098179]  ? kasan_unpoison_shadow+0x38/0x50
[  808.102620]  ? recalibrate_cpu_khz+0x10/0x10
[  808.106892]  xs_tcp_send_request+0x203/0x400
[  808.111164]  ? xs_tcp_set_socket_timeouts.isra.0+0x150/0x150
[  808.116823]  ? _raw_read_lock_irq+0x40/0x40
[  808.121010]  ? _raw_read_lock_irq+0x40/0x40
[  808.125196]  xprt_transmit+0x23f/0x770
[  808.128947]  call_transmit+0xec/0x130
[  808.132612]  ? call_bind+0x100/0x100
[  808.136183]  __rpc_execute+0x137/0x680
[  808.139937]  ? set_next_entity+0xa7/0x3a0
[  808.143949]  ? rpc_sleep_on_priority_timeout+0x60/0x60
[  808.149092]  ? __kasan_check_write+0x14/0x20
[  808.153388]  ? finish_task_switch+0x9b/0x380
[  808.157659]  ? __kasan_check_write+0x14/0x20
[  808.161931]  rpc_async_schedule+0x48/0x80
[  808.165936]  process_one_work+0x474/0x7b0
[  808.169949]  worker_thread+0x7b/0x6a0
[  808.173616]  ? wake_up_process+0x10/0x20
[  808.177542]  ? process_one_work+0x7b0/0x7b0
[  808.181725]  kthread+0x1aa/0x200
[  808.184949]  ? kthread_create_on_node+0xd0/0xd0
[  808.189476]  ret_from_fork+0x22/0x30
[  808.193054] CPU: 0 PID: 3242 Comm: kworker/u8:12 Tainted: G    B
         5.8.0-rc3-next-20200630 #1
[  808.200915] BUG: Bad page state in process systemd-journal  pfn:4002fa
[  808.202464] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
2.0b 07/27/2017
[  808.202467] Workqueue: rpciod rpc_async_schedule
[  808.208986] page:ffffea001000be80 refcount:0 mapcount:0
mapping:0000000000000000 index:0x1
[  808.216461] Call Trace:
[  808.216464]  dump_stack+0x84/0xba
[  808.221072] flags: 0x200000000000000()
[  808.229326]  bad_page.cold+0x7b/0xac
[  808.231769] raw: 0200000000000000 dead000000000100 dead000000000122
0000000000000000
[  808.235079]  __free_pages_ok+0x95b/0xab0
mem.c:147: PASS:[  808.238823] raw: 0000000000000001 0000000000100000
00000000ffffffff ffff88841cc82901
[  808.242401]  __free_pages+0x42/0x50
[  808.250131] page dumped because: page still charged to cgroup
[  808.250132] page->mem_cgroup:ffff88841cc82901
[  808.254058]  __free_slab+0xcd/0x1f0
[  808.263174] Modules linked in: x86_pkg_temp_thermal
[  808.266661]  ? stack_trace_save+0x8f/0xc0
[  808.289125]  discard_slab+0x33/0x50
[  808.292616]  unfreeze_partials.isra.0+0x11f/0x150
[  808.297323]  ? __free_pages+0x31/0x50
[  808.300989]  put_cpu_partial+0x8e/0xe0
[  808.304741]  __slab_free+0x222/0x340
[  808.308319]  ? qlist_free_all+0x25/0xc0
[  808.312150]  ___cache_free+0x1a7/0x1f0
[  808.315894]  qlist_free_all+0x3e/0xc0
[  808.319553]  quarantine_reduce+0x11b/0x150
[  808.323652]  __kasan_kmalloc.constprop.0+0xa3/0xe0
[  808.328443]  ? xprt_alloc_slot+0x1ff/0x260
[  808.332534]  kasan_slab_alloc+0xe/0x10
[  808.336278]  kmem_cache_alloc_trace+0xc8/0x4d0
[  808.340715]  xprt_alloc_slot+0x1ff/0x260
[  808.344634]  xprt_do_reserve+0x3c/0x380
[  808.348473]  xprt_reserve+0x94/0x100
[  808.352073]  ? rpc_set_connect_timeout+0x90/0x90
[  808.356688]  call_reserve+0x36/0x40
[  808.360172]  __rpc_execute+0x137/0x680
[  808.363915]  ? set_next_entity+0xa7/0x3a0
[  808.367920]  ? rpc_sleep_on_priority_timeout+0x60/0x60
[  808.373075]  ? __kasan_check_write+0x14/0x20
[  808.377341]  ? finish_task_switch+0x9b/0x380
[  808.381613]  rpc_async_schedule+0x48/0x80
[  808.385619]  process_one_work+0x474/0x7b0
[  808.389632]  worker_thread+0x7b/0x6a0
[  808.393297]  ? wake_up_process+0x10/0x20
[  808.397223]  ? process_one_work+0x7b0/0x7b0
[  808.401408]  kthread+0x1aa/0x200
[  808.404632]  ? kthread_create_on_node+0xd0/0xd0
[  808.409156]  ret_from_fork+0x22/0x30
[  808.412737] CPU: 1 PID: 332 Comm: systemd-journal Tainted: G    B
          5.8.0-rc3-next-20200630 #1
[  808.422232] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
2.0b 07/27/2017
[  808.429703] Call Trace:
[  808.432151]  dump_stack+0x84/0xba
[  808.435494]  bad_page.cold+0x7b/0xac
[  808.439081]  free_pcppages_bulk+0x33a/0xaa0
[  808.443286]  ? free_pcp_prepare+0x180/0x180
[  808.447473]  free_unref_page_commit.isra.0+0x143/0x160
[  808.452612]  free_unref_page+0x4a/0x60
[  808.456364]  __free_pages+0x31/0x50
[  808.459856]  __free_slab+0xcd/0x1f0
[  808.463341]  discard_slab+0x33/0x50
[  808.466834]  unfreeze_partials.isra.0+0x11f/0x150
[  808.471540]  ? __free_pages+0x42/0x50
[  808.475207]  put_cpu_partial+0x8e/0xe0
[  808.478959]  __slab_free+0x222/0x340
[  808.482538]  ? qlist_free_all+0x25/0xc0
[  808.486377]  ___cache_free+0x1a7/0x1f0
[  808.490128]  qlist_free_all+0x3e/0xc0
[  808.493788]  quarantine_reduce+0x11b/0x150
[  808.497886]  __kasan_kmalloc.constprop.0+0xa3/0xe0
[  808.502678]  ? prepare_creds+0x24/0x330
[  808.506518]  kasan_slab_alloc+0xe/0x10
[  808.510271]  kmem_cache_alloc+0xc6/0x4b0
[  808.514197]  prepare_creds+0x24/0x330
[  808.517863]  do_faccessat+0x247/0x3d0
[  808.521527]  ? __ia32_sys_fallocate+0x60/0x60
[  808.525880]  ? fpregs_assert_state_consistent+0x55/0x60
[  808.531108]  ? __prepare_exit_to_usermode+0x77/0x1a0
[  808.536077]  __x64_sys_access+0x33/0x40
[  808.539929]  do_syscall_64+0x43/0x70
[  808.543508]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[  808.548557] RIP: 0033:0x7efdea32e237
[  808.552128] Code: Bad RIP value.
[  808.555353] RSP: 002b:00007ffd76bbfa58 EFLAGS: 00000246 ORIG_RAX:
0000000000000015
[  808.562909] RAX: ffffffffffffffda RBX: 00007ffd76bc2560 RCX: 00007efdea32e237
[  808.570034] RDX: 00007efdea975be8 RSI: 0000000000000000 RDI: 00005633af888580
[  808.577157] RBP: 00007ffd76bbfaa0 R08: 0000000000000000 R09: 0000000000000000
[  808.584281] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
[  808.591406] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000009
[  808.598532] BUG: Bad page state in process systemd-journal  pfn:418192
[  808.605075] page:ffffea0010606480 refcount:0 mapcount:0
mapping:0000000000000000 index:0x1
[  808.613367] flags: 0x200000000000000()
[  808.617115] raw: 0200000000000000 dead000000000100 dead000000000122
0000000000000000
[  808.624851] raw: 0000000000000001 0000000000100000 00000000ffffffff
ffff88841cc82601
[  808.632580] page dumped because: page still charged to cgroup
[  808.638318] page->mem_cgroup:ffff88841cc82601
[  808.642668] Modules linked in: x86_pkg_temp_thermal
[  808.647543] CPU: 1 PID: 332 Comm: systemd-journal Tainted: G    B
          5.8.0-rc3-next-20200630 #1
[  808.657013] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
2.0b 07/27/2017


Full test log link,
https://lkft.validation.linaro.org/scheduler/job/1535880#L11102

-- 
Linaro LKFT
https://lkft.linaro.org


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: BUG: Bad page state in process - page dumped because: page still charged to cgroup
  2020-07-01  8:18 ` Naresh Kamboju
  (?)
@ 2020-07-01  8:29 ` Michal Hocko
  2020-07-01 12:31     ` Naresh Kamboju
  2020-07-01 18:45   ` Roman Gushchin
  -1 siblings, 2 replies; 22+ messages in thread
From: Michal Hocko @ 2020-07-01  8:29 UTC (permalink / raw)
  To: Naresh Kamboju
  Cc: Shakeel Butt, Johannes Weiner, Andrew Morton, linux-mm,
	open list, Roman Gushchin, lkft-triage, Chris Down

Smells like a different observable problem with the same/similar culprit
as http://lkml.kernel.org/r/CA+G9fYtrgF_EZHi0vi+HyWiXT5LGggDhVXtNspc=OzzFhL=xRQ@mail.gmail.com

On Wed 01-07-20 13:48:57, Naresh Kamboju wrote:
> While running LTP mm test suite on x86_64 device the BUG: Bad page
> state in process
> noticed on linux-next 20200630 tag.
> 
> Steps to reproduce:
> - boot linux-next 20200630 kernel on x86_64 device
> - cd /opt/ltp
> - ./runltp -f mm
> 
> metadata:
>   git branch: master
>   git repo: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
>   git commit: f2b92b14533e646e434523abdbafddb727c23898
>   git describe: next-20200630
>   kernel-config:
> https://builds.tuxbuild.com/j60yrp7CUpq3LCmqMB8Wdg/kernel.config
> 
> Test crash dump:
> [  803.905169] Node 0 Normal: 2608*4kB (UMEH) 1380*8kB (UMEH) 64*16kB
> (MEH) 28*32kB (MEH) 13*64kB (UMEH) 164*128kB (UMEH) 39*256kB (UE)
> 1*512kB (M) 1*1024kB (M) 1*2048kB (M) 1*4096kB (M) = 62880kB
> [  803.922375] Node 0 hugepages_total=0 hugepages_free=0
> hugepages_surp=0 hugepages_size=2048kB
> [  803.930806] 2418 total pagecache pages
> [  803.934559] 0 pages in swap cache
> [  803.937878] Swap cache stats: add 0, delete 0, find 0/0
> [  803.943108] Free swap  = 0kB
> [  803.945997] Total swap = 0kB
> [  803.948885] 4181245 pages RAM
> [  803.951857] 0 pages HighMem/MovableOnly
> [  803.955695] 626062 pages reserved
> [  803.959016] Tasks state (memory values in pages):
> [  803.963722] [  pid  ]   uid  tgid total_vm      rss pgtables_bytes
> swapents oom_score_adj name
> [  803.972336] [    332]     0   332     8529      507   106496
> 0             0 systemd-journal
> [  803.981387] [    349]     0   349    10730      508   118784
> 0         -1000 systemd-udevd
> [  803.990262] [    371]   993   371     8666      108   118784
> 0             0 systemd-network
> [  803.999306] [    379]   992   379     9529       99   110592
> 0             0 systemd-resolve
> [  804.008347] [    388]     0   388     2112       19    61440
> 0             0 syslogd
> [  804.016709] [    389]   995   389     9308      108   122880
> 0             0 avahi-daemon
> [  804.025517] [    391]     0   391     1075       21    57344
> 0             0 acpid
> [  804.033695] [    394]   995   394     9277       68   114688
> 0             0 avahi-daemon
> [  804.042476] [    396]   996   396     7241      154   102400
> 0          -900 dbus-daemon
> [  804.051170] [    397]     0   397     2313       72    65536
> 0             0 crond
> [  804.059349] [    399]     0   399    34025      161   167936
> 0             0 thermald
> [  804.067783] [    400]     0   400     8615      115   110592
> 0             0 systemd-logind
> [  804.076734] [    401]     0   401     2112       32    57344
> 0             0 klogd
> [  804.084907] [    449] 65534   449     3245       39    69632
> 0             0 dnsmasq
> [  804.093254] [    450]     0   450     3187       33    73728
> 0             0 agetty
> [  804.101541] [    452]     0   452     3187       33    73728
> 0             0 agetty
> [  804.109826] [    453]     0   453    14707      107   159744
> 0             0 login
> [  804.118007] [    463]     0   463     9532      163   122880
> 0             0 systemd
> [  804.126362] [    464]     0   464    16132      424   172032
> 0             0 (sd-pam)
> [  804.134803] [    468]     0   468     4538      105    81920
> 0             0 sh
> [  804.142741] [    472]     0   472    11102       83   131072
> 0             0 su
> [  804.150680] [    473]     0   473     4538       99    81920
> 0             0 sh
> [  804.158637] [    519]     0   519     2396       57    61440
> 0             0 lava-test-runne
> [  804.167700] [   1220]     0  1220     2396       52    61440
> 0             0 lava-test-shell
> [  804.176738] [   1221]     0  1221     2396       55    61440
> 0             0 sh
> [  804.184680] [   1223]     0  1223     2462      135    61440
> 0             0 ltp.sh
> [  804.192946] [   1242]     0  1242     2462      134    61440
> 0             0 ltp.sh
> [  804.201207] [   1243]     0  1243     2462      134    61440
> 0             0 ltp.sh
> [  804.209475] [   1244]     0  1244     2462      134    61440
> 0             0 ltp.sh
> [  804.217742] [   1245]     0  1245     2561      229    65536
> 0             0 runltp
> [  804.226010] [   1246]     0  1246     1072       15    53248
> 0             0 tee
> [  804.234012] [   1313]     0  1313     1070       29    53248
> 0             0 ltp-pan
> [  804.242374] [   3216]     0  3216     1613       20    53248
> 0             0 oom01
> [  804.250554] [   3217]     0  3217     1646       31    57344
> 0             0 oom01
> [  804.258728] [   3245]     0  3245    81271      469   266240
> 0             0 NetworkManager
> [  804.267688] [   3249]     0  3249     6422       54    98304
> 0             0 systemd-hostnam
> [  804.276734] [   3250]     0  3250    52976      178   172032
> 0             0 nm-dispatcher
> [  804.285603] [   3254]   998  3254   131113      828   245760
> 0             0 polkitd
> [  804.293956] [   3261]     0  3261  4726385  3349389 26939392
> 0             0 oom01
> [  804.302129] [   3265]     0  3265     3187       33    73728
> 0             0 agetty
> [  804.310397] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/,task=oom01,pid=3261,uid=0
> [  804.322751] Out of memory: Killed process 3261 (oom01)
> total-vm:18905540kB, anon-rss:13397556kB, file-rss:0kB, shmem-rss:0kB,
> UID:0 pgtables:26308kB oom_score_adj:0
> [  806.652952] oom_reaper: reaped process 3261 (oom01), now
> anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
> [  807.579373] BUG: Bad page state in process kworker/u8:12  pfn:374308
> [  807.579521] BUG: Bad page state in process kworker/u8:13  pfn:4182a4
> [  807.585734] page:ffffea000dd0c200 refcount:0 mapcount:0
> mapping:0000000000000000 index:0xffff88837430e000
> head:ffffea000dd0c200 order:3 compound_mapcount:0 compound_pincount:0
> [  807.585736] flags: 0x200000000010000(head)
> [  807.585740] raw: 0200000000010000 ffffea000dce6e00 0000000200000002
> 0000000000000000
> [  807.592099] page:ffffea001060a900 refcount:0 mapcount:0
> mapping:0000000000000000 index:0xffff8884182a5e00
> head:ffffea001060a900 order:1 compound_mapcount:0
> [  807.607719] raw: ffff88837430e000 0000000000040000 00000000ffffffff
> ffff8883bda6cac1
> [  807.607720] page dumped because: page still charged to cgroup
> [  807.607720] page->mem_cgroup:ffff8883bda6cac1
> [  807.607721] Modules linked in: x86_pkg_temp_thermal
> [  807.607725] CPU: 0 PID: 3242 Comm: kworker/u8:12 Not tainted
> 5.8.0-rc3-next-20200630 #1
> [  807.607727] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
> 2.0b 07/27/2017
> [  807.607731] Workqueue: rpciod rpc_async_schedule
> [  807.611836] flags: 0x200000000010000(head)
> [  807.619563] Call Trace:
> [  807.619567]  dump_stack+0x84/0xba
> [  807.619569]  bad_page.cold+0x7b/0xac
> [  807.619573]  __free_pages_ok+0x95b/0xab0
> [  807.633461] raw: 0200000000010000 dead000000000100 dead000000000122
> 0000000000000000
> [  807.641189]  __free_pages+0x42/0x50
> [  807.641191]  __free_slab+0xcd/0x1f0
> [  807.641195]  ? stack_trace_save+0x8f/0xc0
> [  807.646938] raw: ffff8884182a5e00 0000000000190000 00000000ffffffff
> ffff88841963e401
> [  807.651285]  discard_slab+0x33/0x50
> [  807.651288]  unfreeze_partials.isra.0+0x11f/0x150
> [  807.651291]  ? __free_pages+0x31/0x50
> [  807.656167] page dumped because: page still charged to cgroup
> [  807.664154]  put_cpu_partial+0x8e/0xe0
> [  807.664156]  __slab_free+0x222/0x340
> [  807.664160]  ? qlist_free_all+0x25/0xc0
> [  807.671636] page->mem_cgroup:ffff88841963e401
> [  807.676243]  ___cache_free+0x1a7/0x1f0
> [  807.676246]  qlist_free_all+0x3e/0xc0
> [  807.676248]  quarantine_reduce+0x11b/0x150
> [  807.676250]  __kasan_kmalloc.constprop.0+0xa3/0xe0
> [  807.680345] Modules linked in: x86_pkg_temp_thermal
> [  807.682788]  ? xprt_alloc_slot+0x1ff/0x260
> [  807.682790]  kasan_slab_alloc+0xe/0x10
> [  807.682792]  kmem_cache_alloc_trace+0xc8/0x4d0
> [  807.682795]  xprt_alloc_slot+0x1ff/0x260
> [  807.790462]  xprt_do_reserve+0x3c/0x380
> [  807.794303]  xprt_reserve+0x94/0x100
> [  807.797881]  ? rpc_set_connect_timeout+0x90/0x90
> [  807.802492]  call_reserve+0x36/0x40
> [  807.805985]  __rpc_execute+0x137/0x680
> [  807.809738]  ? set_next_entity+0xa7/0x3a0
> [  807.813750]  ? rpc_sleep_on_priority_timeout+0x60/0x60
> [  807.818881]  ? __kasan_check_write+0x14/0x20
> [  807.823153]  ? finish_task_switch+0x9b/0x380
> [  807.827419]  rpc_async_schedule+0x48/0x80
> [  807.831430]  process_one_work+0x474/0x7b0
> [  807.835441]  worker_thread+0x7b/0x6a0
> [  807.839113]  ? wake_up_process+0x10/0x20
> [  807.843043]  ? process_one_work+0x7b0/0x7b0
> [  807.847230]  kthread+0x1aa/0x200
> [  807.850462]  ? kthread_create_on_node+0xd0/0xd0
> [  807.854996]  ret_from_fork+0x22/0x30
> [  807.858573] Disabling lock debugging due to kernel taint
> [  807.858576] CPU: 3 PID: 3243 Comm: kworker/u8:13 Not tainted
> 5.8.0-rc3-next-20200630 #1
> [  807.858578] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
> 2.0b 07/27/2017
> [  807.863888] BUG: Bad page state in process kworker/u8:12  pfn:3739b8
> [  807.871887] Workqueue: rpciod rpc_async_schedule
> [  807.879358] page:ffffea000dce6e00 refcount:0 mapcount:0
> mapping:0000000000000000 index:0xffff8883739be000
> head:ffffea000dce6e00 order:3 compound_mapcount:0 compound_pincount:0
> [  807.885699] Call Trace:
> [  807.885702]  dump_stack+0x84/0xba
> [  807.890309] flags: 0x200000000010000(head)
> [  807.890312] raw: 0200000000010000 0000000000000000 0000000300000003
> 0000000000000000
> [  807.905929]  bad_page.cold+0x7b/0xac
> [  807.908374] raw: ffff8883739be000 0000000000040000 00000000ffffffff
> ffff8883bda6c841
> [  807.911683]  __free_pages_ok+0x95b/0xab0
> [  807.915772] page dumped because: page still charged to cgroup
> [  807.923506]  ? _raw_read_lock_irq+0x40/0x40
> [  807.927089] page->mem_cgroup:ffff8883bda6c841
> [  807.927105] Modules linked in: x86_pkg_temp_thermal
> [  807.934850]  ? __free_slab+0xcd/0x1f0
> [  807.961559]  __free_pages+0x42/0x50
> [  807.965045]  __free_slab+0xcd/0x1f0
> [  807.968537]  discard_slab+0x33/0x50
> [  807.972030]  __slab_free+0x309/0x340
> [  807.975607]  ? __slab_free+0x309/0x340
> [  807.979352]  ? qlist_free_all+0x25/0xc0
> [  807.983182]  ___cache_free+0x1a7/0x1f0
> [  807.986927]  qlist_free_all+0x3e/0xc0
> [  807.990593]  quarantine_reduce+0x11b/0x150
> [  807.994692]  __kasan_kmalloc.constprop.0+0xa3/0xe0
> [  807.999484]  kasan_slab_alloc+0xe/0x10
> [  808.003238]  __kmalloc_node_track_caller+0xfa/0x580
> [  808.008123]  ? __alloc_skb+0xd7/0x310
> [  808.011783]  __kmalloc_reserve.isra.0+0x2c/0x90
> [  808.016316]  __alloc_skb+0xd7/0x310
> [  808.019808]  ? __kmalloc_reserve.isra.0+0x90/0x90
> [  808.024515]  ? sk_reset_timer+0x15/0x70
> [  808.028354]  sk_stream_alloc_skb+0x96/0x4a0
> [  808.032539]  tcp_sendmsg_locked+0x657/0x1740
> [  808.036811]  ? tcp_rcv_established+0x44a/0xbe0
> [  808.041259]  ? tcp_data_queue+0x1c00/0x1c00
> [  808.045445]  ? tcp_sendpage+0x50/0x50
> [  808.049119]  ? __kasan_check_write+0x14/0x20
> [  808.053390]  ? _raw_spin_lock_bh+0x81/0xd0
> [  808.057481]  ? tcp_release_cb+0x46/0x1f0
> [  808.061399]  tcp_sendmsg+0x28/0x40
> [  808.064804]  inet_sendmsg+0x5f/0x90
> [  808.068290]  ? inet_send_prepare+0x110/0x110
> [  808.072562]  sock_sendmsg+0x92/0xa0
> [  808.076073]  xprt_sock_sendmsg+0x1d9/0x410
> [  808.080197]  ? csum_partial_copy_to_xdr+0x2f0/0x2f0
> [  808.085090]  ? __kasan_check_write+0x14/0x20
> [  808.089384]  ? _raw_spin_lock_irqsave+0x7c/0xd0
> [  808.093915]  ? quarantine_reduce+0x133/0x150
> [  808.098179]  ? kasan_unpoison_shadow+0x38/0x50
> [  808.102620]  ? recalibrate_cpu_khz+0x10/0x10
> [  808.106892]  xs_tcp_send_request+0x203/0x400
> [  808.111164]  ? xs_tcp_set_socket_timeouts.isra.0+0x150/0x150
> [  808.116823]  ? _raw_read_lock_irq+0x40/0x40
> [  808.121010]  ? _raw_read_lock_irq+0x40/0x40
> [  808.125196]  xprt_transmit+0x23f/0x770
> [  808.128947]  call_transmit+0xec/0x130
> [  808.132612]  ? call_bind+0x100/0x100
> [  808.136183]  __rpc_execute+0x137/0x680
> [  808.139937]  ? set_next_entity+0xa7/0x3a0
> [  808.143949]  ? rpc_sleep_on_priority_timeout+0x60/0x60
> [  808.149092]  ? __kasan_check_write+0x14/0x20
> [  808.153388]  ? finish_task_switch+0x9b/0x380
> [  808.157659]  ? __kasan_check_write+0x14/0x20
> [  808.161931]  rpc_async_schedule+0x48/0x80
> [  808.165936]  process_one_work+0x474/0x7b0
> [  808.169949]  worker_thread+0x7b/0x6a0
> [  808.173616]  ? wake_up_process+0x10/0x20
> [  808.177542]  ? process_one_work+0x7b0/0x7b0
> [  808.181725]  kthread+0x1aa/0x200
> [  808.184949]  ? kthread_create_on_node+0xd0/0xd0
> [  808.189476]  ret_from_fork+0x22/0x30
> [  808.193054] CPU: 0 PID: 3242 Comm: kworker/u8:12 Tainted: G    B
>          5.8.0-rc3-next-20200630 #1
> [  808.200915] BUG: Bad page state in process systemd-journal  pfn:4002fa
> [  808.202464] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
> 2.0b 07/27/2017
> [  808.202467] Workqueue: rpciod rpc_async_schedule
> [  808.208986] page:ffffea001000be80 refcount:0 mapcount:0
> mapping:0000000000000000 index:0x1
> [  808.216461] Call Trace:
> [  808.216464]  dump_stack+0x84/0xba
> [  808.221072] flags: 0x200000000000000()
> [  808.229326]  bad_page.cold+0x7b/0xac
> [  808.231769] raw: 0200000000000000 dead000000000100 dead000000000122
> 0000000000000000
> [  808.235079]  __free_pages_ok+0x95b/0xab0
> mem.c:147: PASS:[  808.238823] raw: 0000000000000001 0000000000100000
> 00000000ffffffff ffff88841cc82901
> [  808.242401]  __free_pages+0x42/0x50
> [  808.250131] page dumped because: page still charged to cgroup
> [  808.250132] page->mem_cgroup:ffff88841cc82901
> [  808.254058]  __free_slab+0xcd/0x1f0
> [  808.263174] Modules linked in: x86_pkg_temp_thermal
> [  808.266661]  ? stack_trace_save+0x8f/0xc0
> [  808.289125]  discard_slab+0x33/0x50
> [  808.292616]  unfreeze_partials.isra.0+0x11f/0x150
> [  808.297323]  ? __free_pages+0x31/0x50
> [  808.300989]  put_cpu_partial+0x8e/0xe0
> [  808.304741]  __slab_free+0x222/0x340
> [  808.308319]  ? qlist_free_all+0x25/0xc0
> [  808.312150]  ___cache_free+0x1a7/0x1f0
> [  808.315894]  qlist_free_all+0x3e/0xc0
> [  808.319553]  quarantine_reduce+0x11b/0x150
> [  808.323652]  __kasan_kmalloc.constprop.0+0xa3/0xe0
> [  808.328443]  ? xprt_alloc_slot+0x1ff/0x260
> [  808.332534]  kasan_slab_alloc+0xe/0x10
> [  808.336278]  kmem_cache_alloc_trace+0xc8/0x4d0
> [  808.340715]  xprt_alloc_slot+0x1ff/0x260
> [  808.344634]  xprt_do_reserve+0x3c/0x380
> [  808.348473]  xprt_reserve+0x94/0x100
> [  808.352073]  ? rpc_set_connect_timeout+0x90/0x90
> [  808.356688]  call_reserve+0x36/0x40
> [  808.360172]  __rpc_execute+0x137/0x680
> [  808.363915]  ? set_next_entity+0xa7/0x3a0
> [  808.367920]  ? rpc_sleep_on_priority_timeout+0x60/0x60
> [  808.373075]  ? __kasan_check_write+0x14/0x20
> [  808.377341]  ? finish_task_switch+0x9b/0x380
> [  808.381613]  rpc_async_schedule+0x48/0x80
> [  808.385619]  process_one_work+0x474/0x7b0
> [  808.389632]  worker_thread+0x7b/0x6a0
> [  808.393297]  ? wake_up_process+0x10/0x20
> [  808.397223]  ? process_one_work+0x7b0/0x7b0
> [  808.401408]  kthread+0x1aa/0x200
> [  808.404632]  ? kthread_create_on_node+0xd0/0xd0
> [  808.409156]  ret_from_fork+0x22/0x30
> [  808.412737] CPU: 1 PID: 332 Comm: systemd-journal Tainted: G    B
>           5.8.0-rc3-next-20200630 #1
> [  808.422232] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
> 2.0b 07/27/2017
> [  808.429703] Call Trace:
> [  808.432151]  dump_stack+0x84/0xba
> [  808.435494]  bad_page.cold+0x7b/0xac
> [  808.439081]  free_pcppages_bulk+0x33a/0xaa0
> [  808.443286]  ? free_pcp_prepare+0x180/0x180
> [  808.447473]  free_unref_page_commit.isra.0+0x143/0x160
> [  808.452612]  free_unref_page+0x4a/0x60
> [  808.456364]  __free_pages+0x31/0x50
> [  808.459856]  __free_slab+0xcd/0x1f0
> [  808.463341]  discard_slab+0x33/0x50
> [  808.466834]  unfreeze_partials.isra.0+0x11f/0x150
> [  808.471540]  ? __free_pages+0x42/0x50
> [  808.475207]  put_cpu_partial+0x8e/0xe0
> [  808.478959]  __slab_free+0x222/0x340
> [  808.482538]  ? qlist_free_all+0x25/0xc0
> [  808.486377]  ___cache_free+0x1a7/0x1f0
> [  808.490128]  qlist_free_all+0x3e/0xc0
> [  808.493788]  quarantine_reduce+0x11b/0x150
> [  808.497886]  __kasan_kmalloc.constprop.0+0xa3/0xe0
> [  808.502678]  ? prepare_creds+0x24/0x330
> [  808.506518]  kasan_slab_alloc+0xe/0x10
> [  808.510271]  kmem_cache_alloc+0xc6/0x4b0
> [  808.514197]  prepare_creds+0x24/0x330
> [  808.517863]  do_faccessat+0x247/0x3d0
> [  808.521527]  ? __ia32_sys_fallocate+0x60/0x60
> [  808.525880]  ? fpregs_assert_state_consistent+0x55/0x60
> [  808.531108]  ? __prepare_exit_to_usermode+0x77/0x1a0
> [  808.536077]  __x64_sys_access+0x33/0x40
> [  808.539929]  do_syscall_64+0x43/0x70
> [  808.543508]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
> [  808.548557] RIP: 0033:0x7efdea32e237
> [  808.552128] Code: Bad RIP value.
> [  808.555353] RSP: 002b:00007ffd76bbfa58 EFLAGS: 00000246 ORIG_RAX:
> 0000000000000015
> [  808.562909] RAX: ffffffffffffffda RBX: 00007ffd76bc2560 RCX: 00007efdea32e237
> [  808.570034] RDX: 00007efdea975be8 RSI: 0000000000000000 RDI: 00005633af888580
> [  808.577157] RBP: 00007ffd76bbfaa0 R08: 0000000000000000 R09: 0000000000000000
> [  808.584281] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
> [  808.591406] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000009
> [  808.598532] BUG: Bad page state in process systemd-journal  pfn:418192
> [  808.605075] page:ffffea0010606480 refcount:0 mapcount:0
> mapping:0000000000000000 index:0x1
> [  808.613367] flags: 0x200000000000000()
> [  808.617115] raw: 0200000000000000 dead000000000100 dead000000000122
> 0000000000000000
> [  808.624851] raw: 0000000000000001 0000000000100000 00000000ffffffff
> ffff88841cc82601
> [  808.632580] page dumped because: page still charged to cgroup
> [  808.638318] page->mem_cgroup:ffff88841cc82601
> [  808.642668] Modules linked in: x86_pkg_temp_thermal
> [  808.647543] CPU: 1 PID: 332 Comm: systemd-journal Tainted: G    B
>           5.8.0-rc3-next-20200630 #1
> [  808.657013] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
> 2.0b 07/27/2017
> 
> 
> Full test log link,
> https://lkft.validation.linaro.org/scheduler/job/1535880#L11102
> 
> -- 
> Linaro LKFT
> https://lkft.linaro.org

-- 
Michal Hocko
SUSE Labs

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: BUG: Bad page state in process - page dumped because: page still charged to cgroup
  2020-07-01  8:29 ` Michal Hocko
@ 2020-07-01 12:31     ` Naresh Kamboju
  2020-07-01 18:45   ` Roman Gushchin
  1 sibling, 0 replies; 22+ messages in thread
From: Naresh Kamboju @ 2020-07-01 12:31 UTC (permalink / raw)
  To: Michal Hocko
  Cc: Shakeel Butt, Johannes Weiner, Andrew Morton, linux-mm,
	open list, Roman Gushchin, lkft-triage, Chris Down, Qian Cai

On Wed, 1 Jul 2020 at 13:59, Michal Hocko <mhocko@kernel.org> wrote:
>
> Smells like a different observable problem with the same/similar culprit
> as http://lkml.kernel.org/r/CA+G9fYtrgF_EZHi0vi+HyWiXT5LGggDhVXtNspc=OzzFhL=xRQ@mail.gmail.com

Before I start bisecting here I am sharing more details of the problem.

>
> On Wed 01-07-20 13:48:57, Naresh Kamboju wrote:
> > While running LTP mm test suite on x86_64 device the BUG: Bad page
> > state in process
> > noticed on linux-next 20200630 tag.

Bad: next-20200621
Good: next-20200618

> >
> > Steps to reproduce:
> > - boot linux-next 20200630 kernel on x86_64 device
> > - cd /opt/ltp
> > - ./runltp -f mm
> >
> > metadata:
> >   git branch: master
> >   git repo: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> >   git commit: f2b92b14533e646e434523abdbafddb727c23898
> >   git describe: next-20200630
> >   kernel-config:
> > https://builds.tuxbuild.com/j60yrp7CUpq3LCmqMB8Wdg/kernel.config
> >
> > Test crash dump:
<trim>
> > [  804.293956] [   3261]     0  3261  4726385  3349389 26939392
> > 0             0 oom01
> > [  804.302129] [   3265]     0  3265     3187       33    73728
> > 0             0 agetty
> > [  804.310397] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/,task=oom01,pid=3261,uid=0
> > [  804.322751] Out of memory: Killed process 3261 (oom01)
> > total-vm:18905540kB, anon-rss:13397556kB, file-rss:0kB, shmem-rss:0kB,
> > UID:0 pgtables:26308kB oom_score_adj:0
> > [  806.652952] oom_reaper: reaped process 3261 (oom01), now
> > anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
> > [  807.579373] BUG: Bad page state in process kworker/u8:12  pfn:374308
> > [  807.579521] BUG: Bad page state in process kworker/u8:13  pfn:4182a4

[  858.236961] ------------[ cut here ]------------
[  858.236963] WARNING: CPU: 1 PID: 5526 at mm/page_counter.c:57
page_counter_cancel+0x3e/0x50
[  858.236963] Modules linked in: x86_pkg_temp_thermal
[  858.236965] CPU: 1 PID: 5526 Comm: (agetty) Tainted: G    B D
    5.8.0-rc1-next-20200621 #1
[  858.236966] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
2.2 05/23/2018
[  858.236967] RIP: 0010:page_counter_cancel+0x3e/0x50
[  858.236969] Code: 6e fe ff 48 89 d8 48 f7 d8 f0 49 0f c1 04 24 48
29 d8 4c 89 e7 48 89 c3 48 89 c6 e8 8c fe ff ff 48 85 db 78 05 5b 41
5c 5d c3 <0f> 0b 5b 41 5c 5d c3 66 66 2e 0f 1f 84 00 00 00 00 00 48 85
ff 74
[  858.236970] RSP: 0018:ffff888226ba7728 EFLAGS: 00010286
[  858.236971] RAX: 0000000000000000 RBX: ffffffffffffffff RCX: ffffffff936f547f
[  858.236972] RDX: 0000000000000000 RSI: dffffc0000000000 RDI: ffff88822fb51601
[  858.236973] RBP: ffff888226ba7738 R08: 1ffff11045f6a2c0 R09: ffffed1045f6a2bd
[  858.236974] R10: ffff88822fb515e0 R11: ffffed1045f6a2bc R12: ffff88822fb515d9
[  858.236975] R13: ffff888226ba7808 R14: 0000000000000000 R15: ffff888226ba7800
[  858.236976] FS:  0000000000000000(0000) GS:ffff888230880000(0000)
knlGS:0000000000000000
[  858.236976] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  858.236977] CR2: 000055a355aff1e8 CR3: 0000000223e8c001 CR4: 00000000003606e0
[  858.236978] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  858.236979] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  858.236979] Call Trace:
[  858.236980]  page_counter_uncharge+0x1d/0x40
[  858.236981]  uncharge_batch+0x126/0x180
[  858.236981]  uncharge_page+0x48/0x190
[  858.236982]  mem_cgroup_uncharge_list+0xd8/0x130
[  858.236983]  ? mem_cgroup_uncharge+0x100/0x100
[  858.236983]  ? _raw_write_lock_irqsave+0xd0/0xd0
[  858.236984]  release_pages+0x56c/0x670
[  858.236984]  ? __put_compound_page+0x50/0x50
[  858.236985]  ? lru_add_drain_cpu+0xce/0x1d0
[  858.236986]  free_pages_and_swap_cache+0x134/0x150
[  858.236986]  tlb_batch_pages_flush+0x25/0x70
[  858.236987]  tlb_finish_mmu+0x68/0x3e0
[  858.236988]  exit_mmap+0x158/0x2b0
[  858.236988]  ? do_munmap+0x10/0x10
[  858.236989]  ? __kasan_check_write+0x14/0x20
[  858.236989]  ? mutex_unlock+0x1d/0x40
[  858.236990]  mmput+0xaf/0x200
[  858.236991]  begin_new_exec+0x737/0x11e7
[  858.236991]  load_elf_binary+0x4c3/0x23a4
[  858.236992]  ? fsnotify+0x5c6/0x5f0
[  858.236992]  ? fsnotify+0x5f0/0x5f0
[  858.236993]  ? __fsnotify_update_child_dentry_flags.part.0+0x180/0x180
[  858.236994]  ? elf_map+0x190/0x190
[  858.236994]  ? __kasan_check_write+0x14/0x20
[  858.236995]  ? load_misc_binary+0x118/0x490
[  858.236996]  __do_execve_file.isra.0+0xa39/0x1240
[  858.236996]  ? open_exec+0x50/0x50
[  858.236997]  ? __kasan_check_write+0x14/0x20
[  858.236997]  ? strncpy_from_user+0xb7/0x1c0
[  858.236998]  ? getname_flags+0x11b/0x2a0
[  858.236999]  __x64_sys_execve+0x54/0x70
[  858.236999]  do_syscall_64+0x43/0x70
[  858.237000]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[  858.237001] RIP: 0033:0x7f35029a1877
[  858.237001] Code: Bad RIP value.
[  858.237002] RSP: 002b:00007fff0a4b9fd8 EFLAGS: 00000246 ORIG_RAX:
000000000000003b
[  858.237003] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f35029a1877
[  858.237004] RDX: 000055a355b6b3f0 RSI: 000055a355b46510 RDI: 000055a355ae64d0
[  858.237005] RBP: 00007fff0a4ba280 R08: 0000000000000003 R09: 0000000000000000
[  858.237006] R10: 000055a355acae70 R11: 0000000000000246 R12: 000055a355ac7d18
[  858.237007] R13: 000055a355b46510 R14: 000055a355ac7e08 R15: 000055a355ac7980
[  858.237008] ---[ end trace 0d1e8dbfcac2ad5c ]---
[  858.562327] general protection fault, probably for non-canonical
address 0x80ff880ab2b281ee: 0000 [#2] SMP KASAN PTI
[  858.572850] CPU: 1 PID: 5526 Comm: (agetty) Tainted: G    B D W
    5.8.0-rc1-next-20200621 #1
[  858.581800] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
2.2 05/23/2018
[  858.589193] RIP: 0010:__count_memcg_events+0x38/0x100
[  858.594246] Code: 55 49 89 fd 41 54 41 89 f4 53 48 89 d3 48 83 ec
10 4c 8d b7 18 05 00 00 4c 89 f7 e8 52 1d fe ff 44 89 e6 49 8b 85 18
05 00 00 <65> 48 8b 94 f0 28 01 00 00 48 01 d3 4c 8d 3c f5 28 01 00 00
48 83
[  858.612989] RSP: 0018:ffff888226ba7720 EFLAGS: 00010046
[  858.618209] RAX: 80ffff88822a81e6 RBX: 0000000000000001 RCX: ffffffff936fcaae
[  858.625340] RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff88822fb51919
[  858.632464] RBP: ffff888226ba7758 R08: 1ffff11045f6a323 R09: ffffed1045f6a2bd
[  858.639590] R10: ffff88822fb515e0 R11: ffffed1045f6a2bc R12: 0000000000000001
[  858.646721] R13: ffff88822fb51401 R14: ffff88822fb51919 R15: ffff888226ba7800
[  858.653881] FS:  0000000000000000(0000) GS:ffff888230880000(0000)
knlGS:0000000000000000
[  858.661965] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  858.667703] CR2: 000055a355aff1e8 CR3: 0000000223e8c001 CR4: 00000000003606e0
[  858.674826] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  858.681950] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  858.689074] Call Trace:
[  858.691520]  uncharge_batch+0x9c/0x180
[  858.695270]  uncharge_page+0x48/0x190
[  858.698930]  mem_cgroup_uncharge_list+0xd8/0x130
[  858.703548]  ? mem_cgroup_uncharge+0x100/0x100
[  858.707994]  ? _raw_write_lock_irqsave+0xd0/0xd0
[  858.712613]  release_pages+0x56c/0x670
[  858.716367]  ? __put_compound_page+0x50/0x50
[  858.720640]  ? lru_add_drain_cpu+0xce/0x1d0
[  858.724824]  free_pages_and_swap_cache+0x134/0x150
[  858.729609]  tlb_batch_pages_flush+0x25/0x70
[  858.733881]  tlb_finish_mmu+0x68/0x3e0
[  858.737634]  exit_mmap+0x158/0x2b0
[  858.741039]  ? do_munmap+0x10/0x10
[  858.744438]  ? __kasan_check_write+0x14/0x20
[  858.748710]  ? mutex_unlock+0x1d/0x40
[  858.752376]  mmput+0xaf/0x200
[  858.755347]  begin_new_exec+0x737/0x11e7
[  858.759267]  load_elf_binary+0x4c3/0x23a4
[  858.763278]  ? fsnotify+0x5c6/0x5f0
[  858.766783]  ? fsnotify+0x5f0/0x5f0
[  858.770282]  ? __fsnotify_update_child_dentry_flags.part.0+0x180/0x180
[  858.776806]  ? elf_map+0x190/0x190
[  858.780211]  ? __kasan_check_write+0x14/0x20
[  858.784477]  ? load_misc_binary+0x118/0x490
[  858.788662]  __do_execve_file.isra.0+0xa39/0x1240
[  858.793361]  ? open_exec+0x50/0x50
[  858.796778]  ? __kasan_check_write+0x14/0x20
[  858.801054]  ? strncpy_from_user+0xb7/0x1c0
[  858.805232]  ? getname_flags+0x11b/0x2a0
[  858.809149]  __x64_sys_execve+0x54/0x70
[  858.812980]  do_syscall_64+0x43/0x70
[  858.816551]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[  858.821596] RIP: 0033:0x7f35029a1877
[  858.825173] Code: Bad RIP value.
[  858.828397] RSP: 002b:00007fff0a4b9fd8 EFLAGS: 00000246 ORIG_RAX:
000000000000003b
[  858.835955] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f35029a1877
[  858.843087] RDX: 000055a355b6b3f0 RSI: 000055a355b46510 RDI: 000055a355ae64d0
[  858.850210] RBP: 00007fff0a4ba280 R08: 0000000000000003 R09: 0000000000000000
[  858.857334] R10: 000055a355acae70 R11: 0000000000000246 R12: 000055a355ac7d18
[  858.864460] R13: 000055a355b46510 R14: 000055a355ac7e08 R15: 000055a355ac7980
[  858.871592] Modules linked in: x86_pkg_temp_thermal
[  858.876471] ---[ end trace 0d1e8dbfcac2ad5d ]---
[  858.881083] RIP: 0010:propagate_protected_usage+0x107/0x140
[  858.886654] Code: 38 48 85 c0 0f 85 59 ff ff ff e9 78 ff ff ff 4c
89 ef e8 ac 92 fe ff 4c 8b 63 28 be 08 00 00 00 49 8d 7c 24 40 e8 29
6f fe ff <f0> 4d 01 74 24 40 e9 52 ff ff ff 4c 89 ef e8 86 92 fe ff 48
8b 5b
[  858.905401] RSP: 0018:ffff8882285df660 EFLAGS: 00010202
[  858.910627] RAX: 0000000000000001 RBX: ffff88822af028f9 RCX: ffffffff936f5567
[  858.917763] RDX: 0000000000000001 RSI: 0000000000000008 RDI: 80ffff88822a8226
[  858.924918] RBP: ffff8882285df688 R08: 0000000000000001 R09: ffffed10455e0528
[  858.932050] R10: 80ffff88822a822e R11: ffffed10455e0527 R12: 80ffff88822a81e6
[  858.939183] R13: ffff88822af02921 R14: 7f0000777dd57e1a R15: ffffffffffffffff
[  858.946314] FS:  0000000000000000(0000) GS:ffff888230880000(0000)
knlGS:0000000000000000
[  858.954390] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  858.960129] CR2: 000055a355aff1e8 CR3: 0000000223e8c001 CR4: 00000000003606e0
[  858.967252] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  858.974376] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  899.073243] BUG: Bad page state: 48 messages suppressed
[  899.078478] BUG: Bad page state in process (agetty)  pfn:22ce97

Full test log link,
https://lkft.validation.linaro.org/scheduler/job/1511979#L14169

List of patches between next-2020618 to next-20200621,
5a94f5bc041e Add linux-next specific files for 20200621
080244d1fc51 Merge branch 'akpm/master'
4a5d2b1ce5e3 sh: add missing EXPORT_SYMBOL() for __delay
ef2d9fc68f0c sh: use generic strncpy()
23719118a8bd sh: remove call to memset after dma_alloc_coherent
25fc94b67589 sh: clkfwk: remove r8/r16/r32
9222aa38acb4 include/asm-generic/vmlinux.lds.h: align ro_after_init
21e74499f57e mm: annotate a data race in page_zonenum()
45a420e030b6 mm/swap.c: annotate data races for lru_rotate_pvecs
c7cfc94b1845 mm/rmap: annotate a data race at tlb_flush_batched
68a49b98a306 mm/mempool: fix a data race in mempool_free()
5f0a11faa764 mm/list_lru: fix a data race in list_lru_count_one
bde5dd228193 mm/memcontrol: fix a data race in scan count
a7821e0d7f12 mm/page_counter: fix various data races at memsw
d69db9e5e83d mm-swapfile-fix-and-annotate-various-data-races-v2
3953a42f9a4f mm/swapfile: fix and annotate various data races
53b66fc7a0eb mm/filemap.c: fix a data race in filemap_fault()
a6b4ec24f77a mm/swap_state: mark various intentional data races
3a00284e066d mm-page_io-mark-various-intentional-data-races-v2
adff23f6e6f1 mm/page_io: mark various intentional data races
076fe7838b0e mm/frontswap: mark various intentional data races
74a952daca93 mm/kmemleak: silence KCSAN splats in checksum
92499683837a s390: fix build error for sys_call_table_emu
e19be697b498 all arch: remove system call sys_sysctl
a05f0b4611aa Revert "drivers/tty/serial/sh-sci.c: suppress
uninitialized var warning"
f19aad5fb52f Merge branch 'akpm-current/current'
f02b8b6b5a45 Revert "fs: Move __scm_install_fd() to __fd_install_received()"
8ae475af1cc7 Revert "fs: Add fd_install_received() wrapper for
__fd_install_received()"
77291e31b475 Revert "pidfd: Replace open-coded partial fd_install_received()"
b7c330ad5e62 Revert "fs: Expand __fd_install_received() to accept fd"
197803739e7d Revert "seccomp: Introduce addfd ioctl to seccomp user notifier"
9f45dd11b589 Revert "selftests/seccomp: Test SECCOMP_IOCTL_NOTIF_ADDFD"
4fbe81db63c3 Merge remote-tracking branch 'fsinfo/fsinfo-core'
54dc3af3b330 Merge remote-tracking branch
'notifications/notifications-pipe-core'
36fce5f71ba8 Merge remote-tracking branch 'trivial/for-next'
be67a3a73e2b Merge remote-tracking branch 'kunit-next/kunit'
fcf4c670851c Merge remote-tracking branch 'fpga/for-next'
8f9ac2e1bfc9 Merge remote-tracking branch 'pidfd/for-next'
f3c693ffcae7 Merge remote-tracking branch 'auxdisplay/auxdisplay'
999dd3a97a87 Merge remote-tracking branch 'hyperv/hyperv-next'
c5fcc4ec0c18 Merge remote-tracking branch 'xarray/xarray'
50841ac37465 Merge remote-tracking branch 'nvmem/for-next'
15cbc9151341 Merge remote-tracking branch 'fsi/next'
9d0883701e1e Merge remote-tracking branch 'kspp/for-next/kspp'
42058e576330 Merge remote-tracking branch 'nvdimm/libnvdimm-for-next'
f68cba82455d Merge remote-tracking branch 'coresight/next'
d010b60c167d Merge remote-tracking branch 'livepatching/for-next'
6bf1fe8938a3 Merge remote-tracking branch 'userns/for-next'
aeb6d371d739 Merge remote-tracking branch 'pwm/for-next'
77c685136e21 Merge remote-tracking branch 'pinctrl-samsung/for-next'
4c3f6f71602e Merge remote-tracking branch 'pinctrl/for-next'
c0b3eea264d1 Merge remote-tracking branch 'gpio-brgl/gpio/for-next'
72c3f1a61545 Merge remote-tracking branch 'gpio/for-next'
8d548faf56f6 Merge remote-tracking branch 'rpmsg/for-next'
6bdc70ae5ac4 Merge remote-tracking branch 'vhost/linux-next'
050b0c620d07 Merge remote-tracking branch 'scsi-mkp/for-next'
2189eb4d826f Merge remote-tracking branch 'scsi/for-next'
18f88d2eba90 Merge remote-tracking branch 'slave-dma/next'
9a8d419e5056 Merge remote-tracking branch 'icc/icc-next'
1719c37cb8e6 Merge remote-tracking branch 'mux/for-next'
44f8c22d3b2d Merge remote-tracking branch 'staging/staging-next'
8b5345483b1a Merge remote-tracking branch 'thunderbolt/next'
1e7887898ada Merge remote-tracking branch 'usb-chipidea-next/ci-for-usb-next'
e1f19f74f7d9 Merge remote-tracking branch 'usb/usb-next'
ee6c5629ee9c Merge remote-tracking branch 'percpu/for-next'
949f57de4b7f Merge remote-tracking branch 'rcu/rcu/next'
2b12419aa3a4 Merge remote-tracking branch 'irqchip/irq/irqchip-next'
e3a3827fdbe4 Merge remote-tracking branch 'edac/edac-for-next'
03e8e6f04a09 next-20200618/tip
4337f7168a80 Merge remote-tracking branch 'spi/for-next'
9512707cc897 Merge remote-tracking branch 'devicetree/for-next'
2557ce150fa7 Merge remote-tracking branch 'audit/next'
e3597bc47a45 Merge remote-tracking branch 'tpmdd/next'
b71ee8c13186 Merge remote-tracking branch 'safesetid/safesetid-next'
9676924ffb48 Merge remote-tracking branch 'regulator/for-next'
6b378f928a59 Merge remote-tracking branch 'battery/for-next'
3d93dea7ef20 Merge remote-tracking branch 'mmc/next'
fa8ff88017c8 Merge remote-tracking branch 'device-mapper/for-next'
5723bcdbfdc6 Merge remote-tracking branch 'block/for-next'
dfc84c87615f Merge remote-tracking branch 'sound-asoc/for-next'
676ba17f1905 Merge remote-tracking branch 'sound/for-next'
276d96312693 kcov: unconditionally add -fno-stack-protector to compiler options
8118f1cf7878 aio: simplify read_events()
1ca9471f88be lib/Kconfig.debug: fix typo in the help text of
CONFIG_PANIC_TIMEOUT
77c777d9ab7d kernel/panic.c: make oops_may_print() return bool
2258106c2b9a drivers/rapidio/rio-scan.c: use struct_size() helper
556f681e9a5d drivers/rapidio/devices/rio_mport_cdev.c: use struct_size() helper
aaafdf9249d7 kdump: append kernel build-id string to VMCOREINFO
9dcdfb72360a umh: fix refcount underflow in fork_usermode_blob().
c647d3b38f18 exec: move path_noexec() check earlier
6f445658f73d exec: move S_ISREG() check earlier
b7ba800ba7e2 exec: change uselib(2) IS_SREG() failure to EACCES
98e592c5af0f selftests: simplify kmod failure value
d13ef8e10756 umh: fix processed error when UMH_WAIT_PROC is used
e7a4d0d64d3f test_kmod: avoid potential double free in trigger_config_run_type()
0e468fcb5a7a kmod: remove redundant "be an" in the comment
54b5208978d3 selftests: kmod: use variable NAME in kmod_test_0001()
c3f33e282fac fs/signalfd.c: fix inconsistent return codes for signalfd4
a90c7bc63820 scripts/deprecated_terms: recommend denylist/allowlist
instead of blacklist/whitelist
f7281ed53263 checkpatch: support deprecated terms checking
29ecaa26b2f3 checkpatch: add test for possible misuse of IS_ENABLED()
without CONFIG_
37f7d07028d1 lib/test_bits.c: add tests of GENMASK
4731630e2f5d lib: optimize cpumask_local_spread()
c1a5fff84c0a lib/test_bitmap.c: add test for bitmap_cut()
175fd437b7e3 lib/bitmap.c: fix bitmap_cut() for partial overlapping case
b63533aa6f4a kernel/hung_task.c: Monitor killed tasks.
3a7eea3f04ea fs/buffer.c: dump more info for __getblk_gfp() stall problem
c69d5d18b240 fs/buffer.c: add debug print for __getblk_gfp() stall problem
d4f86abd6e35 mm/zswap: move to use crypto_acomp API for hardware acceleration
aca7b118adc5 x86/mm: use max memory block size on bare metal
461751581883 include/linux/sched/mm.h: optimize current_gfp_context()
ce7c19caf5c3 mm: hugetlb: fix the name of hugetlb CMA
e7f0557d7de9 mm: cma: fix the name of CMA areas
a2fcc5a6d06d mm/cma.c: fix NULL pointer dereference when cma could not
be activated
653ee2dfbd9b mm-vmstat-add-events-for-pmd-based-thp-migration-without-split-update
716a9cb6ebfa mm-vmstat-add-events-for-pmd-based-thp-migration-without-split-fix
bfeb40727ccb mm/vmstat: add events for PMD based THP migration without split
4372cbed1c5c mm: thp: remove debug_cow switch
a49eac754e51 hugetlbfs: prevent filesystem stacking of hugetlbfs
87268b23aa72 mm: use unsigned types for fragmentation score
a0e396e6f93c mm: proactive compaction
b160132805c1 mm/vmscan.c: fix typo
3175163860ae mm/page_alloc: remove nr_free_pagecache_pages()
25f58c9d5411 mm: remove vm_total_pages
3453457a03dc mm, page_alloc: skip ->watermark_boost for atomic order-0
allocations-fix
0513905cc9d8 mm, page_alloc: skip ->waternark_boost for atomic order-0
allocations
f7cebcbbdf7a page_alloc: consider highatomic reserve in watermark fast
cbf7c9d86d75 mm: track mmu notifiers in fs_reclaim_acquire/release
aa368ed0ff6a mm, page_alloc: use unlikely() in task_capc()
500cad44ab0f mm/vmalloc: switch to "propagate()" callback
7c681a2c9e6e mm/vmalloc: simplify augment_tree_propagate_check()
f45497173393 mm/vmalloc: simplify merge_or_add_vmap_area()
e951faec5f04 vmalloc: convert to XArray
28ce16b05f8d mm/mmap.c: fix the adjusted length error
0e61d15530fc mm: move p?d_alloc_track to separate header file
40736f7a6b53 mm/memory.c: make remap_pfn_range() reject unaligned addr
a8f5728b9da9 mm: remove redundant check non_swap_entry()
5b9e8dc989fd kselftests: cgroup: add perpcu memory accounting test
07666ee77fb4 mm: memcg: charge memcg percpu memory to the parent cgroup
f0264f283063 mm: memcg/percpu: per-memcg percpu memory statistics
e98c97a4b242 mm-memcg-percpu-account-percpu-memory-to-memory-cgroups-fix-fix
fbcea17c8b9b mm-memcg-percpu-account-percpu-memory-to-memory-cgroups-fix
12b30088eaae mm: memcg/percpu: account percpu memory to memory cgroups
1d60e4b6d40e percpu: return number of released bytes from pcpu_free_area()
ab019d051530 tools/cgroup: add memcg_slabinfo.py tool
53f6f42d19f0 kselftests: cgroup: add kernel memory accounting tests
13dbc24db5d7 mm-memcg-slab-use-a-single-set-of-kmem_caches-for-all-allocations-fix
6625d827c858 mm: memcg/slab: use a single set of kmem_caches for all allocations
f40e021dcfc7 mm: memcg/slab: remove redundant check in
memcg_accumulate_slabinfo()
09d57e608347 mm: memcg/slab: deprecate slab_root_caches
06d26578a4e4 mm: memcg/slab: remove memcg_kmem_get_cache()
9c83812d9ad4 mm: memcg/slab: simplify memcg cache creation
8b946491fdd7 mm: memcg/slab: use a single set of kmem_caches for all
accounted allocations
9ede3d210bb2 mm: memcg/slab: move memcg_kmem_bypass() to memcontrol.h
aa33e371a2d6 mm: memcg/slab: deprecate memory.kmem.slabinfo
548e689106b8 mm: memcg/slab: charge individual slab objects instead of pages
40f4154f066d mm: memcg/slab: save obj_cgroup for non-root slab objects
499d43980709 mm-memcg-slab-allocate-obj_cgroups-for-non-root-slab-pages-fix
745ae860d9c8 mm: memcg/slab: allocate obj_cgroups for non-root slab pages
18dd026d4526 mm-memcg-slab-obj_cgroup-api-fix
5d4e6a0f4ca7 mm: memcg/slab: obj_cgroup API
7afbbdbfdc28 mm: memcontrol: decouple reference counting from page accounting
ad49c6cb68c9 mm: slub: implement SLUB version of obj_to_index()
9b7d0eb6f2f6 mm: memcg: convert vmstat slab counters to bytes
d95b0f6cb447 mm: memcg: prepare for byte-sized vmstat items
a7b9e7704c60 mm: memcg: factor out memcg- and lruvec-level changes out
of __mod_lruvec_state()
05923a2ccacd mm, kcsan: instrument SLAB/SLUB free with "ASSERT_EXCLUSIVE_ACCESS"
0e8bd4e8b7c4 mm/slub.c: drop lockdep_assert_held() from put_map()
7b39adbb1b1d mm, slab/slub: improve error reporting and overhead of
cache_from_obj()
5a2a0a5f0458 mm, slab/slub: move and improve cache_from_obj()
e91e00a73a7d mm, slub: extend checks guarded by slub_debug static key
c91e241f569e mm, slub: introduce kmem_cache_debug_flags()-fix
d5cee500154e mm, slub: introduce kmem_cache_debug_flags()
7427f965084e mm, slub: introduce static key for slub_debug()
3312a073f331 mm, slub: make reclaim_account attribute read-only
956327673939 mm, slub: make remaining slub_debug related attributes read-only
d22bcce10577 mm, slub: remove runtime allocation order changes
2225e28078f7 mm, slub: make some slub_debug related attributes read-only
c0f1f987285d mm, slub: extend slub_debug syntax for multiple blocks
c8890eca5114 mm: ksize() should silently accept a NULL pointer
13b9f92ed464 mm, treewide: rename kzfree() to kfree_sensitive()
09ab611bc069 kernel/watchdog: flush all printk nmi buffers when
hardlockup detected
d3c89f70c117 ramfs: support O_TMPFILE
a1e988dda7bb drivers/tty/serial/sh-sci.c: suppress uninitialized var warning
2117f2a09bbd ocfs2: fix ocfs2 corrupt when iputting an inode
910e6d1323b9 ocfs2: clear links count in ocfs2_mknod() if an error occurs
bb8799143599 scripts/bloat-o-meter: Support comparing library archives
a45c9b225621 scripts/tags.sh: collect compiled source precisely
2fe609d4c7cb checkpatch: test $GIT_DIR changes
17a0169de15e /proc/kpageflags: do not use uninitialized struct pages
bff9c6afdae8 /proc/kpageflags: prevent an integer overflow in
stable_page_flags()
e21eb5850bb8 mm: remove vmalloc_exec
329758313796 arm64: use PAGE_KERNEL_ROX directly in alloc_insn_page
8ed90bf8f95f x86/hyperv: allocate the hypercall page with only read
and execute bits
8bbfc239fe08 mm, slab: fix sign conversion problem in memcg_uncharge_slab()
3d9ed52bd4b4 linux/bits.h: fix unsigned less than zero warnings
eea51d588bd8 lib: fix test_hmm.c reference after free
c824ce1feffa ocfs2: fix value of OCFS2_INVALID_SLOT
55f4b1a05449 ocfs2: fix panic on nfs server over ocfs2
a86d6e9dea49 ocfs2: load global_inode_alloc
2d6241eb4cbe ocfs2: avoid inode removal while nfsd is accessing it
fe76dff54050 kexec: do not verify the signature without the lockdown
or mandatory signature
573840b2a059 mm, compaction: make capture control handling safe wrt interrupts
8f4df40ca903 doc: THP CoW fault no longer allocate THP
bbf59a542afc docs: mm/gup: minor documentation update
ef93261fc434 mm/memory_hotplug.c: fix false softlockup during pfn range removal
fce0ed6224c1 mm/memcontrol.c: prevent missed memory.low load tears
1bb1a2b8d884 mm/memcontrol.c: add missed css_put()
f61a866d8a34 mm: memcontrol: handle div0 crash race condition in memory.low
c95e7b994357 mm/debug_vm_pgtable: fix build failure with powerpc 8xx
955125a48f03 mm/memory.c: properly pte_offset_map_lock/unlock in
vm_insert_pages()
1c35d1bbd926 mm: fix swap cache node allocation mask
c8f8d52df5b3 mm/memory: fix IO cost for anonymous page
ad3a0677256b mm/swap: fix for "mm: workingset: age nonresident
information alongside anonymous pages"
e546c9fd9d66 mm: workingset: age nonresident information alongside
anonymous pages
8dc0fba69e67 slub: cure list_slab_objects() from double fix
088b708234f1 mm/slab: use memzero_explicit() in kzfree()
f103708d907d mm: do_swap_page(): fix up the error code
02317d25edab openrisc: fix boot oops when DEBUG_VM is enabled
45e50181a22f Merge remote-tracking branch 'regmap/for-next'
17ebe068d360 Merge remote-tracking branch 'etnaviv/etnaviv/next'
53dd3a1a5fa5 Merge remote-tracking branch 'imx-drm/imx-drm/next'
7164a0ff0a0d Merge remote-tracking branch 'mali-dp/for-upstream/mali-dp'
34fc83e3f660 Merge remote-tracking branch 'drm-msm/msm-next'
89c5d78b5e3b Merge remote-tracking branch 'drm-misc/for-linux-next'
604c3ba77e72 Merge remote-tracking branch 'drm-tegra/drm/tegra/for-next'
db4fedef1003 Merge remote-tracking branch 'drm-intel/for-linux-next'
fcec20a25e27 next-20200616/amdgpu
2f907ddbff97 Merge remote-tracking branch 'crypto/master'
bdda221cb356 Merge remote-tracking branch 'nand/nand/next'
d66758331596 Merge remote-tracking branch 'gfs2/for-next'
6a21fb721acc Merge remote-tracking branch 'bluetooth/master'
bfd9f0183cd3 Merge remote-tracking branch 'wireless-drivers-next/master'
0da0f227415b Merge remote-tracking branch 'bpf-next/master'
3e836ac66a5d Merge remote-tracking branch 'net-next/master'
3b6c48207c90 Merge remote-tracking branch 'swiotlb/linux-next'
ac097061c0fd Merge remote-tracking branch 'ieee1394/for-next'
e438a26fc9ee Merge remote-tracking branch 'thermal/thermal/linux-next'
0b1a36ee33a6 Merge remote-tracking branch 'cpufreq-arm/cpufreq/arm/linux-next'
031969f73628 Merge remote-tracking branch 'pm/linux-next'
e222c587d78f Merge remote-tracking branch 'jc_docs/docs-next'
66e10514c4c3 Merge remote-tracking branch 'hwmon-staging/hwmon-next'
f559800bedea Merge branch 'dmi/master'
597afcb1d768 Merge remote-tracking branch 'i2c/i2c/for-next'
3f31e4ad2b20 next-20200618/hid
4c7ed9fd1f36 next-20200618/printk
2262a9df93cc Merge remote-tracking branch 'vfs/for-next'
2f21fd3f9848 Merge remote-tracking branch 'file-locks/locks-next'
6ef0bb950323 Merge remote-tracking branch 'ext3/for_next'
deb8de46d804 Merge remote-tracking branch 'exfat/dev'
e2ad3d3d8350 Merge remote-tracking branch 'cifs/for-next'
9a14120d1d0a Merge remote-tracking branch 'btrfs/for-next'
ab1d71b15dec Merge remote-tracking branch 'xtensa/xtensa-for-next'
fad4101356f6 Merge remote-tracking branch 'risc-v/for-next'
5048203cf05e Merge remote-tracking branch 'parisc-hd/for-next'
4ba424fb4c21 Merge remote-tracking branch 'mips/mips-next'
5fd30b7a8724 Merge remote-tracking branch 'm68knommu/for-next'
7680497c80d5 Merge remote-tracking branch 'h8300/h8300-next'
aecf48c78b84 Merge remote-tracking branch 'tegra/for-next'
9bc17686841d Merge remote-tracking branch 'scmi/for-linux-next'
37075d55a174 Merge remote-tracking branch 'samsung-krzk/for-next'
8ff1ccd640da Merge remote-tracking branch 'rockchip/for-next'
63295e35a439 Merge remote-tracking branch 'reset/reset/next'
e26a935ff531 Merge remote-tracking branch 'renesas/next'
ac5022c89301 Merge remote-tracking branch 'realtek/for-next'
e672bd752b38 Merge remote-tracking branch 'qcom/for-next'
9697ec35d2cc Merge remote-tracking branch 'omap/for-next'
8fa23ba28129 Merge remote-tracking branch 'mvebu/for-next'
619de7dc5647 Merge remote-tracking branch 'mediatek/for-next'
e535fde27035 Merge remote-tracking branch 'keystone/next'
24ede46aa0a2 Merge remote-tracking branch 'imx-mxs/for-next'
7d436638da8f Merge remote-tracking branch 'at91/at91-next'
f7eedd954677 Merge remote-tracking branch 'aspeed/for-next'
d53dc81fa68e Merge remote-tracking branch 'amlogic/for-next'
a100c95aa9af Merge remote-tracking branch 'arm-soc/for-next'
cb25f426e8cf Merge remote-tracking branch 'arm/for-next'
6a31438d0d8b Merge remote-tracking branch 'dma-mapping/for-next'
6de53dcd5c17 Merge remote-tracking branch 'drm-misc-fixes/for-linux-next-fixes'
6087ac2687a5 Merge remote-tracking branch 'erofs-fixes/fixes'
4a1ee627697b Merge remote-tracking branch 'fpga-fixes/fixes'
16367f1af155 Merge remote-tracking branch 'pidfd-fixes/fixes'
9bebb4d63a26 Merge remote-tracking branch 'mmc-fixes/fixes'
666b3ef96dc1 Merge remote-tracking branch 'scsi-fixes/fixes'
59189158aae7 Merge remote-tracking branch 'devicetree-fixes/dt/linus'
c6a11e1d9fb9 Merge remote-tracking branch 'btrfs-fixes/next-fixes'
856d7326d51a Merge remote-tracking branch 'hwmon-fixes/hwmon'
850d3d5c12e3 Merge remote-tracking branch 'kvms390-fixes/master'
6e5aacae4045 Merge remote-tracking branch 'omap-fixes/fixes'
e67d74b9f9c6 Merge remote-tracking branch 'mips-fixes/mips-fixes'
d7f2ed39c9bc Merge remote-tracking branch 'mtd-fixes/mtd/fixes'
e0a7faf05a21 Merge remote-tracking branch 'slave-dma-fixes/fixes'
f09a278d6bed Merge remote-tracking branch 'vfio-fixes/for-linus'
d8aa67b8db2d Merge remote-tracking branch 'crypto-current/master'
3644c557a7fb Merge remote-tracking branch 'staging.current/staging-linus'
282c9ccb368c Merge remote-tracking branch 'usb-chipidea-fixes/ci-for-usb-stable'
27da2ed4f38f Merge remote-tracking branch 'usb.current/usb-linus'
a9173d269649 Merge remote-tracking branch 'spi-fixes/for-linus'
9c6324a10459 Merge remote-tracking branch 'regulator-fixes/for-linus'
4ce52110aa56 Merge remote-tracking branch 'regmap-fixes/for-linus'
68c72b72ac25 Merge remote-tracking branch 'sound-asoc-fixes/for-linus'
51b54d8ebd59 Merge remote-tracking branch 'sound-current/for-linus'
c88bb4e3a695 Merge remote-tracking branch 'rdma-fixes/for-rc'
1db080309e9b Merge remote-tracking branch 'net/master'
b34d4bda37ac Merge remote-tracking branch 'powerpc-fixes/fixes'
e0d5fce09ec0 Merge remote-tracking branch 'arc-current/for-curr'
7888a9e5fcb5 Merge remote-tracking branch 'kbuild-current/fixes'
892d919cb88c sched: Fix RANDSTRUCT build fail
c23cc96cd670 Merge remote-tracking branch 'fixes/master'
54eeea0d707d tc-testing: update geneve options match in tunnel_key unit tests
902053f17dbe of: mdio: preserve phy dev_flags in of_phy_connect()
89fbd26cca7e r8169: fix firmware not resetting tp->ocp_base
78e57f152c00 net: Avoid overwriting valid skb->napi_id
8eaf8d994090 Remove redundant condition in qdisc_graft
8b40eb73509f ibmvnic: continue to init in CRQ reset returns H_CLOSED
b59eabd23ee5 ionic: tame the watchdog timer on reconfig
cd3998385712 Merge branch 'Ocelot-Felix-driver-cleanup'
c73b0ad36ea3 net: mscc: ocelot: unexpose ocelot_vcap_policer_{add,del}
aae4e500e106 net: mscc: ocelot: generalize the "ACE/ACL" names
3c83654f246b net: mscc: ocelot: rename ocelot_ace.{c, h} to ocelot_vcap.{c,h}
9c90eea310f8 net: mscc: ocelot: move net_device related functions to
ocelot_net.c
d9feb9049973 net: mscc: ocelot: move ocelot_regs.c into ocelot_vsc7514.c
14addfb6356b net: mscc: ocelot: rename MSCC_OCELOT_SWITCH_OCELOT to
MSCC_OCELOT_SWITCH
f4d0323bae4e net: mscc: ocelot: convert MSCC_OCELOT_SWITCH into a library
56583862b87b net: mscc: ocelot: rename module to mscc_ocelot
589aa6e7c9de net: mscc: ocelot: rename ocelot_board.c to ocelot_vsc7514.c
ff4b0bc62353 net: mscc: ocelot: access EtherType using __be16
7eb5c96a7cae net: mscc: ocelot: use plain int when interacting with TCAM tables
3ab4ceb6e963 net: dsa: felix: make vcap is2 keys and actions static
60cb8d3d715b Merge branch 'Strict-mode-for-VRF'
8735e6eaa438 selftests: add selftest for the VRF strict mode
a59a8ffd4a1b vrf: add l3mdev registration for table to VRF device lookup
33306f1aaf82 vrf: add sysctl parameter for strict mode
c8baec385737 vrf: track associations between VRF devices and tables
49042c220b3a l3mdev: add infrastructure for table to VRF mapping
44fc2d79b547 Merge branch 'devel' into for-next
42ba326cdeff Merge branch 'devel' into for-next
35e6ecf1bc49 Merge branch 'for-5.9/block' into for-next
ea1ab756e354 blk-iocost: Use struct_size() in kzalloc_node()
0e5ee5fb16cc Merge branch 'for-5.9/block' into for-next
05a0f5475689 block: bio: Use struct_size() in kmalloc()
6c736f9f2b5b block: create the request_queue debugfs_dir on registration
1de75b0f88cd blktrace: ensure our debugfs dir exists
de08463407e8 blktrace: fix debugfs use after free
00116c54643f loop: be paranoid on exit and prevent new additions / removals
117eedf00857 blktrace: annotate required lock on do_blk_trace_setup()
a639bfd9086d block: revert back to synchronous request_queue removal
1988203b3524 block: clarify context for refcount increment helpers
add7291177c8 block: add docs for gendisk / request_queue refcount helpers
435fda26d703 Merge branch 'ib-for-each-requested' of
/home/linus/linux-gpio into devel
84651e81ee33 Merge branch 'ib-for-each-requested' into devel
5bae1f08e285 pinctrl: at91: Make use of for_each_requested_gpio()
7796cdc911fc gpio: xra1403: Make use of for_each_requested_gpio()
86661fd7faac gpio: mvebu: Make use of for_each_requested_gpio()
aed8fa12552a ARM/orion/gpio: Make use of for_each_requested_gpio()
b3337eb24831 gpiolib: Introduce for_each_requested_gpio_in_range() macro
b1a05ba9ae8c pinctrl: stm32: add possibility to configure pins individually
d9665bb82269 pinctrl: stm32: return proper error code in pin_config_set
2254e77665d5 pinctrl: stm32: defer probe if reset resource is not yet ready
d888229ef2fb pinctrl: stm32: don't print an error on probe deferral
during clock get
b5fc06a10e7a pinctrl: ingenic: Add ingenic,jz4725b-gpio compatible string
25fae752156d pinctrl: single: fix function name in documentation
925ca36913fc gpiolib: split character device into gpiolib-cdev
8b6ddd10d678 Merge tag 'trace-v5.8-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
1f6bd574e9d5 gpio: max732x: remove redundant check
eede2b9b3fe0 Merge tag 'libnvdimm-for-5.8-rc2' of
git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
7f5f4de83ca3 pinctrl: qcom: ipq6018 Add missing pins in qpic pin group
13f2d25b951f Revert "pinctrl: freescale: imx: Use 'devm_of_iomap()' to
avoid a resource leak in case of error in 'imx_pinctrl_probe()'"
1566feea450c Merge tag 's390-5.8-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
7fdfbe08a2b3 Merge tag 'riscv-for-linus-5.8-rc2' of
git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux
27c2760561c0 Merge tag 'linux-kselftest-5.8-rc2' of
git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
5481fc6eb8a7 afs: Fix hang on rmmod due to outstanding timer
f8ea5c7bceeb afs: Fix afs_do_lookup() to call correct fetch-status op variant
b9fe86204b06 drm/bridge: tfp410: Fix setup and hold time calculation
db8f92a5e627 drm/bridge: tfp410: fix de-skew value retrieval from DT
520a994de09e dt-bindings: display: ti, tfp410.yaml: Redefine ti, deskew property
1dd8915291d5 dt-bindings: display: ti,tfp410.txt: convert to yaml
c0e1c8c22beb powerpc/8xx: Provide ptep_get() with 16k pages
481e980a7c19 mm: Allow arches to provide ptep_get()
55ca22633a9f mm/gup: Use huge_ptep_get() in gup_hugepte()
94f07917ebe8 drm/panel-simple: Add missing connector type for some panels
b27ff5c187dd drm/panel: otm8009a: Drop unnessary backlight_device_unregister()
775f43facfe8 Drivers: hv: vmbus: Remove the lock field from the
vmbus_channel struct
21d2052c7afb scsi: storvsc: Introduce the per-storvsc_device spinlock
cf46143fe2c9 drm/i915/gt: Replace manual kmap_atomic() with pin_map
for renderstate
033ef711bbfb drm/i915/gvt: Drop redundant prepare_write/pin_pages
51baf6e50c62 Merge branch 'kspp/uninit/macro' into for-next/kspp
2d0e6f87039d compiler: Remove uninitialized_var() macro
4ee42e96f851 treewide: Remove uninitialized_var() usage
a94ccb5b88df checkpatch: Remove awareness of uninitialized_var() macro
e765f2d0cd7f mm/debug_vm_pgtable: Remove uninitialized_var() usage
ca8826095e4d selftests/net: report etf errors correctly
3145550a7f8b scsi: target: tcmu: Fix crash in tcmu_flush_dcache_range on ARM
3c58f737231e scsi: target: tcmu: Optimize use of flush_dcache_page
5948378b26d8 ibmveth: Fix max MTU limit
c5eb179edd8a net/sched: cls_u32: Use struct_size() in kzalloc()
11a33de2df06 taprio: Use struct_size() in kzalloc()
1075a4744a32 Merge branch 'Clause-45-PHY-probing-improvements'
389a33899987 net: phy: read MMD ID from all present MMDs
320ed3bf9000 net: phy: split devices_in_package
5ba33cf48392 net: phy: set devices_in_package only after validation
c746053d275c net: phy: add support for probing MMDs >= 8 for devices-in-package
439625a7726c net: phy: reword get_phy_device() kerneldoc
ee951005e95e net: phy: clean up get_phy_c22_id() invalid ID handling
48c543887bc5 net: phy: clean up get_phy_c45_ids() failure handling
e63062616df3 net: phy: clean up PHY ID reading
454a78d17845 net: phy: clean up cortina workaround
e034c6d23bc4 tipc: Use struct_size() helper
95dcd89275bc Merge branch 'several-fixes-for-indirect-flow_blocks-offload'
3c005110d408 net/sched: cls_api: fix nooffloaddevcnt warning dmesg log
a1db217861f3 net: flow_offload: fix flow_indr_dev_unregister path
66f1939a1b70 flow_offload: use flow_indr_block_cb_alloc/remove function
26f2eb27d081 flow_offload: add flow_indr_block_cb_alloc/remove function
f51853fc0682 scsi: ufs: docs: Add WriteBooster documentation
4c7b4d63273d scsi: core: Fix formatting errors in scsi_lib.c
71df6fb976c3 scsi: core: Remove scsi_sdb_cache
56c09de347e4 geneve: allow changing DF behavior after creation
9deba33f1b72 enetc: Fix HW_VLAN_CTAG_TX|RX toggling
da3f28da1c27 scsi: target: tcmu: Remove unnecessary bit TCMU_CMD_BIT_INFLIGHT
faa620876b01 net: macb: undo operations in case of failure
2996cbd532a0 Merge tag 'rxrpc-fixes-20200618' of
git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs
393403efc360 scsi: ufs: ufs-exynos: Fix spelling mistake
"pa_granularty" -> "pa_granularity"
9a3cd470f8e3 scsi: ufs-mediatek: Make ufs_mtk_wait_link_state static
2a451122a04e Merge branch 'for-next/seccomp' into for-next/kspp
bb8dc2695a7d tools/bpftool: Relicense bpftool's BPF profiler prog as
dual-license GPL/BSD
d56b74b9e1b8 tools/bpf: Add verifier tests for 32bit pointer/scalar arithmetic
6c6935419e2f bpf: Avoid verifier failure for 32bit pointer arithmetic
9df24eaef86f Merge branch 'for-5.8/papr_scm' into libnvdimm-for-next
d3779e78b984 kcsan: Disable branch tracing in core runtime
ea568760cc54 kcsan: Simplify compiler flags
3364e113f32d kcsan: Re-add GCC as a supported compiler
70fc6d9c14e2 net: dsa: sja1105: Use struct_size() in kzalloc()
a422d5ff6def cxgb4: Use struct_size() helper
f362b70bd67a ethernet: ti: am65-cpsw-qos: Use struct_size() in devm_kzalloc()
cc7a21b6fbd9 ipv6: icmp6: avoid indirect call for icmpv6_send()
cc26c9f5ace2 Merge branch 'net-phy-MDIO-bus-scanning-fixes'
b2ffc75e2e99 net: phy: Check harder for errors in get_phy_id()
5a8d7f126c97 of: of_mdio: Correct loop scanning logic
e9f0809fb910 Merge branch 'cxgb4-add-support-for-ethtool-n-tuple-filters'
4dababa232f2 cxgb4: add action to steer flows to specific Rxq
27ee29936443 cxgb4: add support to fetch ethtool n-tuple filters
db43b30cd89c cxgb4: add ethtool n-tuple filter deletion
c8729cac2a11 cxgb4: add ethtool n-tuple filter insertion
d915c299f1da cxgb4: add skeleton for ethtool n-tuple filters
b103c607654e docs: staging: don't use literalinclude
8e2a46a40fa7 docs: move remaining stuff under Documentation/*.txt to
Documentation/staging
4333a9b0b67b Merge tag 'io_uring-5.8-2020-06-19' of
git://git.kernel.dk/linux-block
4fb33953438b drm/i915/gt: Show the culmative runtime as part of the engine info
d2b1c81f5f6c Merge tag 'block-5.8-2020-06-19' of git://git.kernel.dk/linux-block
781885fdf09f docs: sh: convert register-banks.txt to ReST
7539b417626e docs: sh: convert new-machine.txt to ReST
599448d8ca9d docs: powerpc: convert vcpudispatch_stats.txt to ReST
592be758f196 Merge tag 'libata-5.8-2020-06-19' of
git://git.kernel.dk/linux-block
86de78d2c5f4 docs: arm64: convert perf.txt to ReST format
7910b136cbb1 docs: pci: endpoint/function/binding/pci-test.txt convert to ReST
6564cfefb01c net: ethernet: oki-semi: pch_gbe: fix spelling mistake
9f70e48e1f08 docs: misc-devices/apds990x.txt: convert to ReST format
0e7ade47bb6e docs: misc-devices/bh1770glc.txt: convert to ReST
433b1b0d75c7 docs: misc-devices/c2port.txt: convert to ReST format
24f5aa53afbf net: ethernet: neterion: vxge: fix spelling mistake
16a60665cfc0 docs: misc-devices/pci-endpoint-test.txt: convert to ReST
8a05eb89cb84 docs: misc-devices/pci-endpoint-test.txt: convert to ReST
3471b9f7e43d docs: misc-devices/spear-pcie-gadget.txt: convert to ReST
740369c5794b docs: crypto: descore-readme.txt: convert to ReST format
ddc92399cc65 docs: crypto: convert async-tx-api.txt to ReST format
5846551bb147 docs: crypto: convert api-intro.txt to ReST format
0e5f9d50ad96 Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec
0efaaa86581c docs: crypto: convert asymmetric-keys.txt to ReST
0c12018e0129 docs: thermal: convert cpu-idle-cooling.rst to ReST
24cfbec99647 drm/dp: DRM DP helper for reading Ignore MSA from DPCD
d5ddc6d98d48 docs: fs: proc.rst: fix a warning due to a merge conflict
b29bb87cbb0a selftests/seccomp: Test SECCOMP_IOCTL_NOTIF_ADDFD
af35c3c6a9a5 seccomp: Introduce addfd ioctl to seccomp user notifier
50ca89d3a4fb fs: Expand __fd_install_received() to accept fd
f533d1758f02 pidfd: Replace open-coded partial fd_install_received()
4ab6bcc3ad3b fs: Add fd_install_received() wrapper for __fd_install_received()
d3868eea5cbc fs: Move __scm_install_fd() to __fd_install_received()
83b4f2c51e82 net/scm: Regularize compat handling of scm_detach_fds()
7b075ad9f496 Merge branch '40GbE' of
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue
4b61d3e8d3da net: qos offload add flow status with dropped count
2253bd848017 Documentation: tee: Document TEE kernel interface
62c91ead977a Merge tag 'drm-fixes-2020-06-19' of
git://anongit.freedesktop.org/drm/drm
cf37fc4a0ce1 Replace HTTP links with HTTPS ones:
Documentation/translations/zh_CN
68e4cd17e218 docs: deprecated.rst: Add zero-length and one-element arrays
67ee6940ae24 docs/zh_CN: update sysfs.txt about show() usage
d8923e96410c doc:it_IT: add symbol-namespace translation
49e66bf74edf seccomp: Use -1 marker for end of mode 1 syscall list
00674c4f10e9 docs: mm/gup: Minor documentation update
672f9255a727 Merge tag 'ceph-for-5.8-rc2' of git://github.com/ceph/ceph-client
e996919b7292 Documentation: fix sysctl/kernel.rst heading format warnings
6cbef2adb730 Documentation: fix filesystems/locking.rst malformed table warnings
723452918eb5 Documentation: remove SH-5 index entries
84bc1993e28b Merge tag 'arm64-fixes' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
10857a01ab81 doc: x86/speculation: length of underlines
c03f739fd023 doc: add novamap to efi kernel command line parameters
7ca8e63c8ed3 mailmap: add entries for Alexander Lobakin
5a15550e56cc drm/i915/gt: Initialise rps timestamp
98b769942c69 Merge tag 'overflow-v5.8-rc2' of
git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
98d7e741a0a3 Merge tag 'perf-tools-fixes-2020-06-02' of
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
5d809cb28056 power: supply: max8998_charger: Correct ONLINE and add STATUS props
4e670f43081c dm rq: don't call blk_mq_queue_stopped() in dm_stop_queue()
1a37a0397116 power: supply: bq24190_charger: Fix runtime PM imbalance on error
59a5d883f2cc EXP sched: Alleged fix for v5.8 merge-window scheduler issue
7222bd603dd2 power: supply: sbs-battery: add PEC support
05e043097154 power: supply: sbs-battery: use i2c_smbus_read_block_data()
42137e42c3c7 dm mpath: use double checked locking in fast path
86ff55859d8d dm mpath: rename current_pgpath to pgpath in
multipath_prepare_ioctl
86982edf07f8 dm mpath: rework __map_bio()
de6dfede5fa5 dm mpath: factor out multipath_queue_bio
340d6a203cb9 dm mpath: push locking down to must_push_back_rq()
d04bf2dadcb0 dm mpath: take m->lock spinlock when testing QUEUE_IF_NO_PATH
8b3284e250bc dm mpath: changes from initial m->flags locking audit
d35bd764e689 dm writecache: add cond_resched to loop in
persistent_memory_claim()
f2cd9a5e85dc dm zoned: Fix reclaim zone selection
3ee39573e567 dm zoned: Fix random zone reclaim selection
415c79e13b17 dm: update original bio sector on Zone Append
b38c0ad57f8e dm zoned: Fix metadata zone size check
e0034433a7e4 docs: device-mapper: add dm-ebs.rst to an index file
1d85f6d1b0c1 power: supply: gpio-charger: Make gpios optional
dad980f13243 dt-bindings: power: supply: gpio-charger: convert to yaml
8a99e5013454 Drivers: hv: vmbus: Remove unnecessary channel->lock
critical sections (sc_list updaters)
3eb0ac869c66 Drivers: hv: vmbus: Use channel_mutex in channel_vp_mapping_show()
12d0dd8e728e Drivers: hv: vmbus: Remove unnecessary channel->lock
critical sections (sc_list readers)
0a96820929f0 Drivers: hv: vmbus: Replace cpumask_test_cpu(,
cpu_online_mask) with cpu_online()
458d090fbad5 Drivers: hv: vmbus: Remove the numa_node field from the
vmbus_channel struct
5bf74682118b Drivers: hv: vmbus: Remove the target_vp field from the
vmbus_channel struct
596f4785f498 power: supply: axp20x_usb_power: fix spelling mistake
224941c9424f power: supply: use kobj_to_dev
dbc87e74d022 vfs, fsinfo: Add an RCU safe per-ns mount list
a8dfdba8de7e erofs: fix partially uninitialized misuse in
z_erofs_onlinepage_fixup
0768e6e4934e dt-bindings: power: supply: bq25890: Document required interrupt
307b0d631d13 dt-bindings: power: supply: bq25890: Indent example with tabs
1293806368bc fsinfo: Add an attribute that lists all the visible
mounts in a namespace
8fd52e0d56fc fsinfo: Add support to ext4
66da00c992e2 fsinfo: Add support for AFS
776130e51fa1 fsinfo: Add API documentation
f00f837e704c fsinfo: sample: Mount listing program
a76120c7f361 fsinfo: Provide notification overrun handling support
53eb0052aa9a fsinfo: Allow mount topology and propagation info to be retrieved
1a6b879c8582 Merge remote-tracking branch 'spi/for-5.9' into spi-next
0c5e6b29f27a Merge remote-tracking branch 'spi/for-5.8' into spi-linus
d194a22f504f Merge series "mtd: spi-nor: Move cadence-qaudspi to
spi-mem framework" from Vignesh Raghavendra <vigneshr@ti.com>:
31fb632b5d43 spi: Move cadence-quadspi driver to drivers/spi/
a314f6367787 mtd: spi-nor: Convert cadence-quadspi to use spi-mem framework
41b5ed6e677c mtd: spi-nor: cadence-quadspi: Drop redundant WREN in erase path
935da5e5100f mtd: spi-nor: cadence-quadspi: Handle probe deferral
while requesting DMA channel
c61088d1f993 mtd: spi-nor: cadence-quadspi: Fix error path on failure
to acquire reset lines
48aae57f0f9f mtd: spi-nor: cadence-quadspi: Don't initialize
rx_dma_complete on failure
a99705079a91 mtd: spi-nor: cadence-quadspi: Provide a way to disable DAC mode
834b4e8d3441 mtd: spi-nor: cadence-quadspi: Make driver independent of
flash geometry
28f9f8fb4f40 MAINTAINERS: Add robert and myself as qcom i2c cci maintainers
89835eda8600 fsinfo: Allow mount information to be queried
a7c3f6a618e0 fsinfo: Add a uniquifier ID to struct mount
2421474bbbc8 fsinfo: Allow fsinfo() to look up a mount object by ID
7b5dd70acb6d fsinfo: Allow retrieval of superblock devname, options and stats
e5ba640ad868 fsinfo: Provide a bitmap of supported features
f5e8733f5811 fsinfo: Add fsinfo() syscall to query filesystem information
f2e02f2c84b3 Merge remote-tracking branch 'asoc/for-5.9' into asoc-next
f66aada04ccf Merge remote-tracking branch 'asoc/for-5.8' into asoc-linus
a3944c88a744 Merge series "add regmap & indirect access support" from
Xu Yilun <yilun.xu@intel.com>:
d5fcc710a1dd Merge series "spi: spi-geni-qcom: Fixes / perf
improvements" from Douglas Anderson <dianders@chromium.org>:
0ec544ceb1c1 spi: npcm-fiu: Reuse BITS_PER_BYTE definition
5f368ddea6fe drm/arm: fix unintentional integer overflow on left shift
79ce058032c3 drm: drm_fourcc: Add uncompressed AFBC modifier
94b292b27734 drm: drm_fourcc: add NV15, Q410, Q401 YUV formats
7ba9bdcb91f6 spi: spi-geni-qcom: Don't keep a local state variable
902481a78ee4 spi: spi-geni-qcom: Actually use our FIFO
e191a082d764 spi: spi-geni-qcom: Check for error IRQs
2ee471a1e28e spi: spi-geni-qcom: Mo' betta locking
d9dd0fb0e197 spi: altera: fix size mismatch on 64 bit processors
3820061d3815 spi: altera: support indirect access to the registers
3c6519736eef spi: altera: use regmap-mmio instead of direct mmio register access
3bd057c8219d ASoC: qcom: Kconfig: Tweak dependencies on SND_SOC_SDM845
9cb2b3796e08 ASoC: fsl_spdif: Add pm runtime function
c7440acc8597 Merge branch 'topic/hda-micmute-led' into for-next
f34a4c9dd4ca ALSA: hda: Enable sync-write operation as default for all
controllers
114427b8927a drm/panfrost: Use kvfree() to free bo->sgts
64092598c456 drm/panfrost: Fix runtime PM imbalance on error
b99773ef258e drm/panfrost: Fix inbalance of devfreq record_busy/idle()
54e552c96d30 watch_queue: Add superblock notifications
bf3c50837506 drm/i915/query: Use struct_size() helper
b950460b2486 Merge branch 'for-5.9/selftests-cleanup' into for-next
3fd9bd8b7e41 selftests/livepatch: add test delimiter to dmesg
c401088f0f18 selftests/livepatch: refine dmesg 'taints' in dmesg comparison
2eeb0d457d13 selftests/livepatch: Don't clear dmesg when running tests
a23ff37b32c7 i2c: smbus: Fix spelling mistake in the comments
a5765124e697 Documentation/i2c: SMBus start signal is S not A
390fd0475af5 i2c: remove deprecated i2c_new_device API
bc5a3e44af7e Documentation: media: convert to use i2c_new_client_device()
9e1b93b9f624 video: backlight: tosa_lcd: convert to use i2c_new_client_device()
f04a5ba17525 x86/platform/intel-mid: convert to use i2c_new_client_device()
bb7d93fff62f drm: encoder_slave: use new I2C API
f78d4032de60 drm: encoder_slave: fix refcouting error for modules
f8f02d5c671f USB: OTG: rename product list of devices
19246d273e58 USB: storage: scsi: fix up comment to be more specific
c83a74ed5f22 USB: storage: fix wording in error message
66f092ed3b94 USB: serial: sierra: unify quirk handling logic
4a7375edf29c USB: serial: qcserial: fix up wording in a comment
8adbe334a150 USB: OHCI: remove obsolete FIXME comment
9af54301b643 USB: rename USB OTG hub configuration option
91c7eaa686c3 USB: rename USB quirk to USB_QUIRK_ENDPOINT_IGNORE
ba9e8a1a2c3e dma-mapping: DMA_COHERENT_POOL should select GENERIC_ALLOCATOR
3995ecbabc6f i40e: fix crash when Rx descriptor count is changed
b1d95cc2391f ice: protect ring accesses with WRITE_ONCE
d59e267912cd i40e: protect ring accesses with READ- and WRITE_ONCE
f140ad9fe2ae ixgbe: protect ring accesses with READ- and WRITE_ONCE
7cc373db7ec5 Merge branch 'cxgb4-add-support-to-read-write-flash'
17b332f48074 cxgb4: add support to read serial flash
d5002c9a3d5a cxgb4: add support to flash boot cfg image
550883558f17 cxgb4: add support to flash boot image
4ee339e1e92a cxgb4: add support to flash PHY image
3893c905b557 cxgb4: update set_flash to flash different images
0ad6f6e767ec net: increment xmit_recursion level in dev_direct_xmit()
0fb9fbab4053 Merge branch 'net-tso-expand-to-UDP-support'
3d5b459ba0e3 net: tso: add UDP segmentation support
761b331cb690 net: tso: cache transport header length
504b91215098 net: tso: constify tso_count_descs() and friends
185c3e586022 net: tso: shrink struct tso_t
9c77b803f263 net: tso: double TSO_HEADER_SIZE value
393415203f5c octeontx2-af: change (struct qmem)->entry_sz from u8 to u16
8dbe4c5d5e40 net: dsa: bcm_sf2: Fix node reference count
1b0554090061 Merge branch 'hns3-next'
c2a2e1270a57 net: hns3: streaming dma buffer sync between cpu and device
e99a308da3c1 net: hns3: replace disable_irq by IRQ_NOAUTOEN flag
4d2cad32127e net: hns3: rename buffer-related functions
cb0e3e611575 net: hns3: pointer type of buffer should be void
674a135746aa net: hns3: remove unnecessary devm_kfree
9f66a4557e93 mISDN: hfcsusb: Use struct_size() helper
c90834cd477a lan743x: allow mac address to come from dt
d8d8b23844d6 Merge branch 'r8169-smaller-improvements-again'
51f6291b040a r8169: allow setting irq coalescing if link is down
9f0b54cd1672 r8169: move switching optional clock on/off to pll power functions
a2ee847242b3 r8169: move updating counters to rtl8169_down
0c28a63a47bf r8169: move napi_disable call and rename rtl8169_hw_reset
7190aeece918 r8169: replace synchronize_rcu with synchronize_net
e9882208ae98 r8169: improve setting WoL on runtime-resume
27248d57c88a r8169: remove unused constant RsvdMask
a38b7fbfeaeb r8169: add info for DASH being enabled
eddbf5d0204e net: ethtool: add missing NETIF_F_GSO_FRAGLIST feature string
1260e772dd18 enetc: Use struct_size() helper in kzalloc()
aa56127d9ac5 rcu/trace: Use gp_seq_req in acceleration's
rcu_grace_period tracepoint
63222f379b92 rcu/trace: Print negative GP numbers correctly
3a2656a211ca tg3: driver sleeps indefinitely when EEH errors exceed
eeh_max_freezes
4c98045c9b74 bareudp: Fixed multiproto mode configuration
427d5838e996 net: napi: remove useless stack trace
e807fa3f602e Merge branch 's390-qeth-fixes'
8cebedb64383 s390/qeth: let isolation mode override HW offload restrictions
e2dfcfba00ba s390/qeth: fix error handling for isolation mode cmds
f3c7a6e0e515 Merge branch 'mptcp-cope-with-syncookie-on-MP_JOINs'
9e365ff576b7 mptcp: drop MP_JOIN request sock on syn cookies
8fd4de127558 mptcp: cache msk on MP_JOIN init_req
5eea3a63ff4a net: Fix the arp error in some cases
ad103e03bda7 Merge branch 'sja1105-fixes'
5182a6222dd0 net: dsa: sja1105: fix checks for VLAN state in gate action
c6ae970bcc8e net: dsa: sja1105: fix checks for VLAN state in redirect action
5b3b396c7767 net: dsa: sja1105: remove debugging code in sja1105_vl_gate
4e638025f256 net: stmmac: selftests: Use struct_size() helper in kzalloc()
b64ee4856c10 Merge branch 'act_gate-fixes'
c362a06e96ea net/sched: act_gate: fix configuration of the periodic timer
7024339a1cfa net/sched: act_gate: fix NULL dereference in tcf_gate_init()
ba61539c6ae5 ip_tunnel: fix use-after-free in ip_tunnel_lookup()
dafabb6590cb ip6_gre: fix use-after-free in ip6gre_tunnel_lookup()
fb7861d14c8d net: core: reduce recursion limit value
814152a89ed5 net: fix memleak in register_netdevice()
1a642ca7f389 net: ethernet: mvneta: Add 2500BaseX support for SoCs
without comphy
b4748553f53f net: ethernet: mvneta: Fix Serdes configuration for SoCs
without comphy
0e2c09011d4d RISC-V: Acquire mmap lock before invoking walk_page_range
d3fbd739fc8a fpga: Fix dead store in fpga-bridge.c
88aaab9218f8 fpga: Fix dead store fpga-mgr.c
e1d9ec3af346 fpga: dfl: Use struct_size() in kzalloc()
23f872b6ece6 fpga manager: xilinx-spi: remove unneeded, mistyped variables
d1ddca78f9f6 fpga manager: xilinx-spi: valid for the 7 Series too
9d08b9ecbb2c dt-bindings: fpga: xilinx-slave-serial: valid for the 7 Series too
55dc9b87e4a8 fpga: dfl: afu: convert get_user_pages() --> pin_user_pages()
e0d17c842c0f RISC-V: Don't allow write+exec only page mapping request in mmap
8a7a3d1d0dcf Merge tag 'amd-drm-fixes-5.8-2020-06-17' of
git://people.freedesktop.org/~agd5f/linux into drm-fixes
7ac98ff024db Merge tag 'drm-intel-fixes-2020-06-18' of
git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
4b409eb53473 rcutorture: Output number of elapsed grace periods
ec037e1f4380 rcu/segcblist: Prevent useless GP start if no CBs to accelerate
bac61e37848b riscv: Select ARCH_SUPPORTS_ATOMIC_RMW by default
7c7982cbadbb bpf: sk_storage: Prefer to get a free cache_idx
10011f7d95de ARCv2: support loop buffer (LPB) disabling
5e857ce6eae7 Merge branch 'hch' (maccess patches from Christoph Hellwig)
0c389d89abc2 maccess: make get_kernel_nofault() check for minimal type
compatibility
8c31055758bc doc: devicetree: bindings: fix spelling mistake
9e0dc7b9e1cb RDMA/mlx5: Fix integrity enabled QP creation
25f12ae45fc1 maccess: rename probe_kernel_address to get_kernel_nofault
2c0f5292d535 RDMA/mlx5: Remove ECE limitation from the RAW_PACKET QPs
d44335572f76 RDMA/mlx5: Fix remote gid value in query QP
6c41965d647a RDMA/mlx5: Don't access ib_qp fields in internal destroy QP path
d0793c3c6134 docs: dt: minor adjustments at writing-schema.rst
6cb69ea53479 dt: fix reference to olpc,xo1.75-ec.txt
9ac2a6615812 dt: Fix broken references to renamed docs
670d0a4b1070 sparse: use identifiers to define address spaces
5cd2182fdb70 Merge branch 'async-buffered.8' into for-next
ba3ea882d6f1 Merge branch 'for-5.9/block' into for-next
167babb0d405 nvme: use blk_mq_complete_request_remote to avoid an
indirect function call
421147be863b nvme-rdma: factor out a nvme_rdma_end_request helper
d0ee1358bbd2 blk-mq: add a new blk_mq_complete_request_remote API
c520d30b0903 blk-mq: factor out a blk_mq_complete_need_ipi helper
01abef68e38f blk-mq: remove the get_cpu/put_cpu pair in blk_mq_complete_request
616de37fe856 blk-mq: move failure injection out of blk_mq_complete_request
22fe8dc224df blk-mq: merge the softirq vs non-softirq IPI logic
18a445a209e3 blk-mq: short cut the IPI path in blk_mq_force_complete_rq for !SMP
ff356efeca41 blk-mq: complete polled requests directly
6f92ad84da8b rcu: Initialize at declaration time in rcu_exp_handler()
06096cc6c5a8 spi: spidev: fix a potential use-after-free in spidev_release()
abd42781c3d2 spi: spidev: fix a race between spidev_release and spidev_remove
d985becff25f dt: fix broken links due to txt->yaml renames
f2d94b86cdba dt: update a reference for reneases pcar file renamed to yaml
f141a422159a ASoC: rockchip: Fix a reference count leak.
3ad1d68c04bf io_uring: support true async buffered reads, if file provides it
ccfa58ab8ded mm: add kiocb_wait_page_queue_init() helper
ff6840fa8e80 ext4: flag as supporting buffered async reads
eb560f659552 btrfs: flag files as supporting buffered async reads
47939aa0d8d6 xfs: flag files as supporting buffered async reads
d6069ed47e19 block: flag block devices as supporting IOCB_WAITQ
18e3cae049f7 fs: add FMODE_BUF_RASYNC
c931a2087273 mm: support async buffered reads in generic_file_buffered_read()
2b884797ba86 mm: add support for async page locking
6ea69ad6b8ce mm: abstract out wake_page_match() from wake_page_function()
69484d4506bc mm: allow read-ahead with IOCB_NOWAIT set
0f4035179fdb io_uring: re-issue block requests that failed because of resources
3248c49f25a3 io_uring: catch -EIO from buffered issue request failure
5ff6c315bcc0 io_uring: always plug for any number of IOs
88682dd8b250 block: provide plug based way of signaling forced no-wait semantics
932257899d1f Merge branch 'for-5.9/io_uring' into async-buffered.7
664a8989ecfc Merge branch 'io_uring-5.8' into async-buffered.7
9debf3b0c3ac blk-mq: remove raise_blk_irq
3373a3461aa1 block: make function 'kill_bdev' static
f4bd34b139a3 loop: replace kill_bdev with invalidate_bdev
b5292111de9b libata: Use per port sync for detach
bc163c2046c5 partitions/ldm: Replace uuid_copy() with import_uuid()
where it makes sense
33504401a33c watch_queue: Introduce a non-repeating system-unique superblock ID
5341a8c5b745 watch_queue: sample: Display mount tree change notifications
adc241ad364a watch_queue: Implement mount topology and attribute
change notifications
5d7ba045107b blk-mq: factor out a helper to reise the block softirq
e5abe01f8381 blk-mq: merge blk-softirq.c into blk-mq.c
3d0c88d3776b Merge branch 'imx/dt64' into for-next
d8cde9772886 Merge branch 'imx/dt' into for-next
e353b325948d arm64: dts: imx8mm-beacon: Fix voltages on LDO1 and LDO2
3269c178b7a1 arm64: dts: ls1028a: add one more thermal zone support
6f2cc1664db2 io_uring: fix possible race condition against REQ_F_NEED_CLEANUP
6581adb275b9 watch_queue: Add security hooks to rule on setting mount
and sb watches
81c7462883b0 USB: replace hardcode maximum usb string length by definition
8c8cee0fea9d mtd: parsers: bcm63xx: simplify CFE detection
a68b9b567799 mtd: rawnand: brcmnand: ECC error handling on EDU transfers
88252ab21365 mtd: rawnand: brcmnand: Don't default to edu transfer
49ea06fa402a mtd: rawnand: qcom: set BAM mode only if not set already
d9bf62965ad5 mtd: rawnand: qcom: avoid write to unavailable register
d71d825ff912 mtd: rawnand: trivial spelling
7ca351a59494 mtd: rawnand: gpio: Get rid of the legacy interface implementation
3a86601defe2 mtd: rawnand: gpio: Implement exec_op()
18bebb2b1351 mtd: rawnand: gpio: Inherit from nand_controller
335e6e6d60e9 mtd: rawnand: fsl_upm: Get rid of the legacy interface
implementation
6fd201938f16 mtd: rawnand: fsl_upm: Implement exec_op()
f742d10d30fa mtd: rawnand: fsl_upm: Inherit from nand_controller
66dcdfe335e5 mtd: rawnand: fsl_upm: Use gpio descriptors
b86427e0aeff mtd: rawnand: fsl_upm: Use platform_get_resource() +
devm_ioremap_resource()
a3a8d85db90f mtd: rawnand: fsl_upm: Use devm_kasprintf() to allocate
the MTD name
ac886f186d9d mtd: rawnand: fsl_upm: Allocate the fsl_upm_nand object
using devm_kzalloc()
bb1ff912c42f mtd: rawnand: fsl_upm: Get rid of the unused
fsl_upm_nand.parts field
eb75d28b6b49 mtd: rawnand: fsl_upm: Remove unused mtd var
f9c4e50f27e5 mtd: rawnand: Allocate the interface configurations dynamically
cda37dbbf17a usb: xhci: fix spelling mistake in Kconfig "firwmare" -> "firmware"
4121fb0db68e RDMA/core: Check that type_attrs is not NULL prior access
3ec5f54f7a0f RDMA/hns: Fix an cmd queue issue when resetting
98a6151907cb RDMA/hns: Fix a calltrace when registering MR from userspace
6a1515c962b1 perf build: Fix error message when asking for
-fsanitize=address without required libraries
1b20d9491cf9 tools lib traceevent: Add handler for __builtin_expect()
74621d929d94 tools lib traceevent: Handle __attribute__((user)) in field names
27d4d336f287 tools lib traceevent: Add append() function helper for
appending strings
187dc605d288 Merge remote-tracking branch 'regulator/for-5.9' into
regulator-next
539afdf969d6 spi: spi-geni-qcom: No need for irqsave variant of spinlock calls
ab183d460daa RDMA/mlx5: Add missed RST2INIT and INIT2INIT steps during
ECE handshake
730c89124841 RDMA/cma: Protect bind_list and listen_list while finding
matching cm id
9ed84d24de48 regulator: max8997: Constify struct regulator_ops
b08af72d6e53 regulator: max8907: Constify static structs
b37f076d4bfd regulator: ltc3676: Constify ltc3676_regulators
bcf39c1eb1e0 regulator: cpcap: Constify cpcap_regulator_ops
cae62a937912 regulator: anatop: Constify anatop_core_rops
0dfbd5ecf28c RDMA/qedr: Fix KASAN: use-after-free in ucma_event_handler+0x532
0133654d8eb8 RDMA/efa: Set maximum pkeys device attribute
90a239ee25fa RDMA/rvt: Fix potential memory leak caused by rvt_alloc_rq
1ea7c546b8b3 RDMA/core: Annotate CMA unlock helper routine
59f7d71f35c1 m68k: mcfmmu: remove stale part of comment about steal_context
6a5ef3b224c6 drm/etnaviv: Simplify clock enable/disable
a59052d2749b drm/etnaviv: Make the "core" clock mandatory
f76fc5ff9a65 drm/etnaviv: Don't ignore errors on getting clocks
f8794feaf65c drm/etnaviv: Fix error path on failure to enable bus clk
ae9ff0c40457 m68knommu: fix overwriting of bits in ColdFire V3 cache control
64d8a534aa90 m68k: fix ColdFire mmu init compile warning
86824e60b0b1 drm/etnaviv: convert get_user_pages() --> pin_user_pages()
3499f9ad5d78 ASoC: amd: Removing unnecessary instance initialization
9f7041b71a2f ASoC: amd: closing specific instance.
c9e272f9e03d ALSA: hda: Let LED cdev handling suspend/resume
766538ac4af8 ALSA: hda/realtek: Unify LED helper code
d1d37c572cf0 ALSA: hda/sigmatel: Use the new vmaster mute LED helper
929f718cb390 ALSA: hda/conexant: Use the new vmaster mute LED helper
8d3d1ece3118 ALSA: hda/realtek: Use the new vmaster mute LED helper
15509b634472 ALSA: hda: generic: Add vmaster mute LED helper
fe1a162191a5 ALSA: hda: generic: Drop the old mic-mute LED hook
5fc0f6930035 ALSA: hda: generic: Drop unused snd_hda_gen_fixup_micmute_led()
23a2b46966bd ALSA: hda/sigmatel: Convert to cdev-variant of mic-mute
LED controls
e65a2caf3b05 ALSA: hda/conexant: Convert to cdev-variant of mic-mute
LED controls
8a503555be46 ALSA: hda/realtek: Convert to cdev-variant of mic-mute LED controls
7cdf8c49b1df ALSA: hda: generic: Add a helper for mic-mute LED with LED classdev
bf61c42a446f ALSA: hda: generic: Always call led-trigger for mic mute LED
46605a271114 Bluetooth: mgmt: Use command complete on success for set
system config
76b139965575 Bluetooth: Terminate the link if pairing is cancelled
8208f5a9d435 Bluetooth: Update background scan and report device based
on advertisement monitors
cdde92e23071 Bluetooth: Notify adv monitor removed event
b52729f27b1e Bluetooth: Notify adv monitor added event
bd2fbc6cb815 Bluetooth: Add handler of MGMT_OP_REMOVE_ADV_MONITOR
b139553db5cd Bluetooth: Add handler of MGMT_OP_ADD_ADV_PATTERNS_MONITOR
e5e1e7fd470c Bluetooth: Add handler of MGMT_OP_READ_ADV_MONITOR_FEATURES
7fceb17c6b48 Bluetooth: Add definitions for advertisement monitor features
4c54bf2b093b Bluetooth: Add get/set device flags mgmt op
a1fc7535ec34 Bluetooth: Replace wakeable in hci_conn_params
7a92906f841d Bluetooth: Replace wakeable list with flag
8baaa4038edb Bluetooth: Add bdaddr_list_with_flags for classic whitelist
aececa645dc7 Bluetooth: mgmt: Add commands for runtime configuration
24ebec25fb27 arm64: hw_breakpoint: Don't invoke overflow handler on
uaccess watchpoints
bf508ec95ca3 arm64: kexec_file: Use struct_size() in kmalloc()
c8fa5b7c7a7e drm/bridge: ti-sn65dsi86: Check the regmap return value
when setting a GPIO
c42fb724cdf6 drm/bridge: ti-sn65dsi86: Fix kernel-doc typo ln_polr => ln_polrs
f4946b0a3715 drm/bridge: ti-sn65dsi86: Don't use kernel-doc comment
for local array
9e4f35831392 drm/bridge: ti-sn65dsi86: Don't compile GPIO bits if not
CONFIG_OF_GPIO
618e07865b74 arm64: mm: reserve hugetlb CMA after numa_init
e63adeccc0bb drm/panfrost: Reduce the amount of logs on deferred probe
302c570bf36e usb: typec: tcpci_rt1711h: avoid screaming irq causing boot hangs
07c112fb09c8 USB: ohci-sm501: Add missed iounmap() in remove
03894573f291 cdc-acm: Add DISABLE_ECHO quirk for Microchip/SMSC chip
1ddcb71a3edf USB: ehci: reopen solution for Synopsys HC bug
28ebeb8db770 usb: usbtest: fix missing kfree(dev->buf) in usbtest_disconnect
207324a321a8 usb: dwc2: Postponed gadget registration to the udc class driver
5d8021923e8a usb: add USB_QUIRK_DELAY_INIT for Logitech C922
44ed240d6273 usb: host: ehci-exynos: Fix error check in exynos_ehci_probe()
130206a88683 usb: typec: mux: intel_pmc_mux: Fix DP alternate mode entry
3d19946b509c Documentation: ABI: usb: chipidea: Update Li Jun's e-mail
e9ec6cc74e0a USB: sisusbvga: change char to u8 for sisusb_copy_memory
810b7ee3008a drm/i915/gt: Always report the sample time for busy-stats
1b90e4a43b74 drm/i915/selftests: Enable selftesting of busy-stats
41ecdcfce177 usb: xhci: tegra: Remove PLL power supplies
153de2d66e53 usb: sisusb_con: Use array_size() helper in memcpy()
9ffcc3053f3b usb: gadget: u_serial.h: increase MAX_U_SERIAL_PORTS to 8
07d9878fa18f usb: dwc2: use well defined macros for power_down
9f3aedbe98fe drivers: usb: Fix trivial spelling
03cc8353c224 USB: core: additional Device Classes to debug/usb/devices
d50313a5a0d8 ALSA: hda: Intel: add missing PCI IDs for ICL-H, TGL-H and EKL
9bea6eb3f59c staging:rtl8712: avoid skb_clone after skb allocation fail
9e43eed45a48 staging: rts5208: Use array_size() helper in vmalloc() and memset()
21b1f2b3fb2e staging:r8723bs: remove wrappers around skb_clone() and
remove unnecessary in_interrupt() call
aeb4ac7916ce staging: vc04_services: Convert get_user_pages*() -->
pin_user_pages*()
c5a3b1db6af2 staging: qlge: qlge_main.c: fixed spaces coding style issues
6655a352aca1 staging: comedi: fix up missing whitespace in comment
76cd0c7cc20f Staging: comedi: Added blank lines to fix coding style issue
5631feed3932 staging: gasket: Convert get_user_pages*() --> pin_user_pages*()
774911290c58 KVM: s390: reduce number of IO pins to 1
a05b1c150f5b crypto: octeontx - Fix sparse warnings
cfb12c8952f6 arm64: dts: imx8mn-ddr4-evk: correct ldo1/ldo2 voltage range
4fd6b5735c03 arm64: dts: imx8mm-evk: correct ldo1/ldo2 voltage range
6570a35c903a ARM: dts: ls1021a: output PPS signal on FIPER2
864c2d57d691 crypto: caam - Fix argument type in handle_imx6_err005766
a79d471c6510 crypto: qat - update timeout logic in put admin msg
e4e245ad031f crypto: qat - send admin messages to set of AEs
624e62ccb20b crypto: qat - update fw init admin msg
c31b4adee161 crypto: caam/qi2 - remove redundant assignment to ret
29195232fa2f crc-t10dif: clean up some more things
be924e0aaa31 crc-t10dif: use fallback in initial state
57b1aac1b426 crypto: hisilicon - update SEC driver module parameter
3906f640224d crc-t10dif: Fix potential crypto notify dead-lock
07b048f41ac1 crypto: qat - remove packed attribute in etr structs
59c14e5e0174 crypto: qat - replace user types with kernel ABI __u types
2bfd22766d00 crypto: qat - replace user types with kernel u types
060ce5037d5f crypto: caam/qi2 - add support for dpseci_reset()
7f94adf218d8 crypto: hisilicon - allow smaller reads in debugfs
58e5b0157e58 crypto: caam - add clock info for VFxxx SoCs
0289e9be5dc2 hwrng: ba431 - add support for BA431 hwrng
50f362b2d9c4 dt-bindings: rng: document Silex Insight BA431 hwrng
f3c802a1f300 crypto: algif_aead - Only wake up when ctx->more is zero
1532e31f5098 crypto: qat - convert to SPDX License Identifiers
e04ec0de61c1 padata: upgrade smp_mb__after_atomic to smp_mb in padata_do_serial
34c86f4c4a7b crypto: af_alg - fix use-after-free in af_alg_accept()
due to bh_lock_sock()
8cbe23e1c79f dma-direct: add missing set_memory_decrypted() for coherent mapping
73bea31ca345 ARM: dts: imx: Make tempmon node as child of anatop node
ac4af2b12bbe arm64: dts: imx8mp: add i2c aliases
83ae2848520a arm64: dts: imx8mm: sort the aliases
614d88460f28 arm64: dts: imx8mq: Add ethernet alias
e9a8d99639c9 arm64: dts: imx8mq: Add mmc aliases
fe35ec58f0d3 block: update hctx map when use multiple maps
078e8f8ce8ad drm/msm: Fix setup of a6xx create_address_space.
f167989c6730 drm/msm: Fix address space size after refactor.
2cb3e01520e4 lib/test_vmalloc.c: Add test cases for kvfree_rcu()
b2a2c3f78b55 rcu: Introduce single argument kvfree_rcu() interface
a394911f0fa4 rcu: Support reclaim for head-less object
eb9561f9a367 rcu: Introduce 2 arg kvfree_rcu() interface
8ee5ce3426c9 mm/list_lru.c: Rename kvfree_rcu() to local variant
a7f3c5cbe4df rcu: Rename *_kfree_callback/*_kfree_rcu_offset/kfree_call_*
3755bf77c2a9 rcu/tiny: support vmalloc in tiny-RCU
51884dd51f97 rcu/tree: Maintain separate array for vmalloc ptrs
9f48bd767285 rcu/tree: cache specified number of objects
04e5111a0192 rcu/tree: Use static initializer for krc.lock
f62263565dce rcu/tree: Move kfree_rcu_cpu locking/unlocking to
separate functions
0454c261e73a rcu/tree: Simplify KFREE_BULK_MAX_ENTR macro
2818bcaef7a4 rcu/tree: Make debug_objects logic independent of rcu_head
f8e588e456eb rcu/tree: Repeat the monitor if any free channel is busy
b58846d8eae3 rcu/tree: Skip entry into the page allocator for PREEMPT_RT
a6307c6dbb98 rcu/tree: Keep kfree_rcu() awake during lock contention
327eccdcae99 Merge branch 'lkmm-dev.2020.06.17a' into HEAD
9927fdba2116 Merge branch 'kcsan.2020.06.17a' into HEAD
e3be8c671913 Merge branches 'doc.2020.06.17a', 'fixes.2020.06.17a',
'rcu-tasks.2020.06.17a', 'scale.2020.06.17a', 'srcu.2020.06.17a' and
'torture.2020.06.17a' into HEAD
bb278b149df9 of: property: Improve cycle detection when one of the
devices is never added
7d34ca385484 driver core: Add device_is_dependent() to linux/device.h
41dc09d5d550 tools/memory-model: Use "-unroll 0" to keep --hw runs finite
a60a604d7688 tools/memory-model: Make judgelitmus.sh handle scripted Result: tag
bc022201a9f2 tools/memory-model: Add data-race capabilities to judgelitmus.sh
7640c77493b6 tools/memory-model: Add checktheselitmus.sh to run
specified litmus tests
64c209d9bab6 tools/memory-model: Repair parseargs.sh header comment
51b9091ee96c tools/memory-model:  Add "--" to parseargs.sh for
additional arguments
a65ae0799a79 tools/memory-model: Make history-check scripts use mselect7
22418f4f3d10 tools/memory-model: Make checkghlitmus.sh use mselect7
c1b0315a8ca4 tools/memory-model: Fix scripting --jobs argument
c8b997dd1eb3 tools/memory-model: Implement --hw support for checkghlitmus.sh
62f443f56e49 tools/memory-model: Add -v flag to jingle7 runs
49616ee4dc6a tools/memory-model: Make runlitmus.sh check for jingle errors
78809348c99a tools/memory-model: Allow herd to deduce CPU type
d7c6a911fe83 tools/memory-model: Keep assembly-language litmus tests
3676e1741c34 tools/memory-model: Move from .AArch64.litmus.out to
.litmus.AArch.out
2adb517530a3 tools/memory-model: Make runlitmus.sh generate .litmus.out for --hw
00c0ec6b7a0f tools/memory-model: Split runlitmus.sh out of checklitmus.sh
ef8f4106a8b5 tools/memory-model: Make judgelitmus.sh ransack .litmus.out files
b52578d28093 tools/memory-model: Hardware checking for check{,all}litmus.sh
916c593db5ae tools/memory-model: Fix checkalllitmus.sh comment
555fe0e6e998 tools/memory-model: Add simpletest.sh to check locking,
RCU, and SRCU
09525708ec82 tools/memory-model: Make judgelitmus.sh handle hardware
verifications
acbdc02c044f tools/memory-model: Update parseargs.sh for hardware verification
dc1d97a946cb tools/memory-model: Fix paulmck email address on
pre-existing scripts
2542b6bcbd79 tools/memory-model: Make judgelitmus.sh detect hard deadlocks
d829b6b14e78 tools/memory-model: Make judgelitmus.sh identify bad macros
de77fd85c357 tools/memory-model: Make cmplitmushist.sh note timeouts
a6970096437e tools/memory-model: Make judgelitmus.sh note timeouts
3ce5d6935aa2 docs: fix references for DMA*.txt files
843285eb827a tools/memory-model/README: Expand dependency of klitmus7
550b7d13af3e rcutorture: Remove KCSAN stubs
93e04a507eec torture: Remove obsolete "cd $KVM"
94f92c4a0097 torture: Avoid duplicate specification of qemu command
64c791abe2b9 torture: Dump ftrace at shutdown only if requested
6d3f9f3256a7 torture: Add kvm-tranform.sh script for qemu-cmd files
bc79ea1b5694 torture: Add more tracing crib notes to kvm.sh
8be5dd6af55a torture: Improve diagnostic for KCSAN-incapable compilers
02b117daf475 torture: Correctly summarize build-only runs
8ff933eaa217 torture: Pass --kmake-arg to all make invocations
1ca9d04259e8 rcutorture: Check for unwatched readers
f4e87d572574 torture: Abstract out console-log error detection
fa2a01ff473a torture: Add a stop-run capability
9c862fafccd3 torture: Create qemu-cmd in --buildonly runs
0765aaf29ce7 rcu/rcutorture: Replace 0 with false
4f7a65305a42 torture: Add --allcpus argument to the kvm.sh script
09fb5034d5fb torture: Remove whitespace from identify_qemu_vcpus output
4a5ff638eb41 rcutorture: NULL rcu_torture_current earlier in cleanup code
eaf27166c7e5 rcutorture: Handle non-statistic bang-string error messages
92d02fc40433 torture: Set configfile variable to current scenario
33abf0d3f43d rcutorture: Add races with task-exit processing
e9d42e68bf02 locktorture: Use true and false to assign to bool variables
3dd1499666f6 ethtool: ioctl: Use array_size() in copy_to_user()
4a0cd2e323d8 srcu: Remove KCSAN stubs
a6964752eb2b srcu: Avoid local_irq_save() before acquiring spinlock_t
2b6a37db3bcb srcu: Fix a typo in comment "amoritized"->"amortized"
682591f7a6fa liquidio: Replace vmalloc_node + memset with vzalloc_node
and use array_size
6d719a4864fc refscale: Change --torture type from refperf to refscale
b8b61eb95e3f refperf: Rename refperf.c to refscale.c and change internal names
d4b1ec7956f0 refperf: Rename RCU_REF_PERF_TEST to RCU_REF_SCALE_TEST
bbf1e8d66d2f rcu-tasks: Fix synchronize_rcu_tasks_trace() header comment
a7f7a049ff6f refperf: Add test for RCU Tasks readers
15d40055d342 refperf: Add test for RCU Tasks Trace readers.
e97f71b32709 refperf: Change readdelay module parameter to nanoseconds
638d69e56cdf refperf: Work around 64-bit division
7ab8cfca06f3 doc: Document rcuperf's module parameters
04ba56b6e63c refperf: Adjust refperf.loop default value
3ad14b97ade0 refperf: Add read-side delay module parameter
f6c26de97947 refperf: Simplify initialization-time wakeup protocol
8bfaef2c77ba refperf: Output per-experiment data points
1492646840af refperf: Label experiment-number column "Runs"
c1c4d8be6942 refperf: Add warmup and cooldown processing phases
7b8dad0dddb3 refperf: More closely synchronize reader start times
cc4d488e5fca refperf: Convert reader_task structure's "start" field to int
9bb101ac9c9b refperf: Tune reader measurement interval
72f959e674bc refperf: Make functions static
ead9fc73a226 refperf: Dynamically allocate thread-summary output buffer
56fb0732ce45 refperf: Dynamically allocate experiment-summary output buffer
3f0891201f2a refperf: Provide module parameter to specify number of experiments
6c662985be1b refperf: Convert nreaders to a module parameter
7d20b627596f refperf: Allow decimal nanoseconds
72579919359d refperf: Hoist function-pointer calls out of the loop
5a54ea3f7d92 refperf: Add holdoff parameter to allow CPUs to come online
4510145fb878 torture: Add refperf to the rcutorture scripting
1614db175873 rcuperf: Add comments explaining the high reader overhead
fab9fb9f4d8d refperf: Add a test to measure performance of read-side
synchronization
70efb934a76e rcuperf: Remove useless while loops around wait_event
e41382bd5107 rcu-tasks: Fix code-style issues
4ecebd3ea773 rcu-tasks: Conditionally compile show_rcu_tasks_gp_kthreads()
2004c180105d rcu-tasks: Add #include of rcupdate_trace.h to update.c
7f479bbe63f8 rcu-tasks: Make rcu_tasks_postscan() be static
83e10b910201 rcu-tasks: Convert sleeps to idle priority
de496e26415d kcsan: Add jiffies test to test suite
80f5560ccc05 kcsan: Remove existing special atomic rules
83002756de46 kcsan: Rename test.c to selftest.c
9b8ba3fb6f8c kcsan: Silence -Wmissing-prototypes warning with W=1
f6cba5a8e965 kcsan: Prefer '__no_kcsan inline' in test
c73794e6e48f locking/osq_lock: Annotate a data race in osq_lock
0b0f96c05dfb kcsan: Add test suite
6bd7285f0c03 rculist: Add ASSERT_EXCLUSIVE_ACCESS() to __list_splice_init_rcu()
02c28dffb13a rxrpc: Fix afs large storage transmission performance drop
d6d3cb7231bc x86/mm/pat: Mark an intentional data race
31856ae7a0e1 fork: Annotate a data race in vm_area_dup()
a2ad7c21ad8c rxrpc: Fix handling of rwind from an ACK packet
9e08b68a5d1e rcu: Remove KCSAN stubs from update.c
3012ff1b1773 rcu: Remove KCSAN stubs
4390df0a794c rcu: fix some kernel-doc warnings
9b51f41ca0b5 kernel/rcu/tree.c: Fix kernel-doc warnings
088e85fc00cf rcu: grpnum just records group number
a4640dd513c5 rcu: grplo/grphi just records CPU number
51c8555ad7e6 rcu: gp_max is protected by root rcu_node's lock
f11b8485a3dc rcu: Stop shrinker loop
af40ece9bbc6 rcu: Replace 1 with true
4b579d04ab49 lockdep: Complain only once about RCU in extended quiescent state
549131f773f4 rcu: Mark rcu_nmi_enter() call to rcu_cleanup_after_idle() noinstr
70f3526e133b rcu: Remove initialized but unused rnp from check_slow_task()
7e6ff5858e84 rcu: fix some kernel-doc warnings
d0a53566a27e tick/nohz: Narrow down noise while setting current task's
tick dependency
465b9b1eba54 rcu: Update comment from rsp->rcu_gp_seq to rsp->gp_seq
c227b81f5f20 fs/btrfs: Add cond_resched() for
try_release_extent_mapping() stalls
8ee246bb7b87 rcu: Expedited grace-period sleeps to idle priority
fbc7ea1d91b5 rcu: No-CBs-related sleeps to idle priority
c2c8583c0e46 rcu: Priority-boost-related sleeps to idle priority
e11c6510c5c1 rcu: Grace-period-kthread related sleeps to idle priority
9f6487aaf591 trace: events: rcu: Change description of rcu_dyntick trace event
aadf9dcef9d4 rxrpc: Fix trace string
da9cebe16930 drm/amdgpu: fix documentation around busy_percentage
7386f5c9c808 drm/amdgpu/pm: update comment to clarify Overdrive interfaces
99c7b3094727 drm/amdkfd: Use correct major in devcgroup check
915b86431c64 seccomp: Fix ioctl number for SECCOMP_IOCTL_NOTIF_ID_VALID
09ba8837fc28 selftests/seccomp: Rename user_trap_syscall() to
user_notif_syscall()
b0b8f817ec53 selftests/seccomp: Make kcmp() less required
0c82b71446da seccomp: Use pr_fmt
c0bdf5128016 selftests/seccomp: Improve calibration loop
0efde377f003 selftests/seccomp: use 90s as timeout
0e3e72d68112 selftests/seccomp: Expand benchmark to per-filter measurements
e46ac071ac5d selftests/seccomp: Check for EPOLLHUP for user_notif
5371becee3ad seccomp: notify about unused filter
31cf8f693241 seccomp: Lift wait_queue into struct seccomp_filter
7bc54c47e53c seccomp: release filter after task is fully dead
2b7c624061f4 seccomp: rename "usage" to "refs" and document
9a681a3bb4b2 seccomp: Add find_notification helper
026bb845b0ff ftrace: Fix maybe-uninitialized compiler warning
a0cd0eba4d2d rcu: Add comment documenting rcu_callback_map's purpose
eb7b7ae6650b rcu: Add callbacks-invoked counters
6a4c210e134b rcu: Simplify the calculation of rcu_state.ncpus
c0f9239b9b14 mm/mmap.c: Add cond_resched() for exit_mmap() CPU stalls
5f210a50c8f8 rcu: Initialize and destroy rcu_synchronize only when necessary
501bae2df020 doc: Tasks RCU must protect instructions before trampoline
cc0dfc3719fa doc: Timer problems can cause RCU CPU stall warnings
52f7a1f294c1 docs: RCU: Don't duplicate chapter names in rculist_nulls.rst
6c3a3cbb8266 docs: RCU: Convert stallwarn.txt to ReST
a936e47dcb6e docs: RCU: Convert rcuref.txt to ReST
2365cc9d3a3f docs: RCU: Convert torture.txt to ReST
69da1f0d776a docs: RCU: Convert rculist_nulls.txt to ReST
85dd56aa8e4d docs: RCU: Convert lockdep.txt to ReST
c483ddc8bbe8 docs: RCU: Convert lockdep-splat.txt to ReST
256c0302cc4d docs: RCU: Convert checklist.txt to ReST
a5f610c0fa7e ASoC: Intel: broadwell: simplify card names for SOF uses
7bfbddfc9841 ASoC: Intel: cht*: simplify card names for SOF uses
b4ecd58b01fb ASoC: Intel: byt*: simplify card names for SOF uses
c0ee37e85e0e maccess: rename probe_user_{read,write} to
copy_{from,to}_user_nofault
fe557319aa06 maccess: rename probe_kernel_{read,write} to
copy_{from,to}_kernel_nofault
0e093c77c5b0 tools headers UAPI: Sync linux/fs.h with the kernel sources
f64925c1ebac tools include UAPI: Sync linux/vhost.h with the kernel sources
25ca7e5c0b03 tools arch x86: Sync the msr-index.h copy with the kernel sources
08a7c7772b4d Merge remote-tracking branch 'torvalds/master' into perf/urgent
b13b04d93821 perf script: Initialize zstd_data
cad2929dc432 tipc: update a binding service via broadcast
c3dbe541ef77 blktrace: Avoid sparse warnings when assigning q->blk_trace
1b0b28364816 blktrace: break out of blktrace setup on concurrent calls
0ff0fc97d307 drm/i915/selftests: fix spelling mistake "submited" -> "submitted"
5414251aa2e2 tools/bootconfig: Add testcase for show-command and quotes test
f91cb5b7476a tools/bootconfig: Fix to return 0 if succeeded to show
the bootconfig
272da3279df1 tools/bootconfig: Fix to use correct quotes for value
4e264ffd9534 proc/bootconfig: Fix to use correct quotes for value
69243720c093 tracing: Remove unused event variable in tracing_iter_reset
3aa8fdc37d16 tracing/probe: Fix memleak in fetch_op_data operations
48a42f5d1384 trace: Fix typo in allocate_ftrace_ops()'s comment
4649079b9de1 tracing: Make ftrace packed events have align of 1
9fbc01cdba66 sample-trace-array: Remove trace_array 'sample-instance'
e9b7b1c0c103 sample-trace-array: Fix sleeping function called from
invalid context
9b38cc704e84 kretprobe: Prevent triggering kretprobe from within
kprobe_flush_task
75ddf64dd276 kprobes: Remove redundant arch_disarm_kprobe() call
1a0aa991a627 kprobes: Fix to protect kick_kprobe_optimizer() by kprobe_mutex
7e6a71d8e601 kprobes: Use non RCU traversal APIs on kprobe_tables if possible
6743ad432ec9 kprobes: Suppress the suspicious RCU warning on kprobes
4ef57b21d6fb recordmcount: support >64k sections
2d3a8e2dedde block: Fix use-after-free in blkdev_get()
36cebead9f47 arm64: dts: imx8mq: enable Hantro G1/G2 VPU
65461e26b1fe interconnect: Allow inter-provider pairs to be configured
0259a41da323 interconnect: Relax requirement in of_icc_get_from_provider()
8a307d3601bc interconnect: Export of_icc_get_from_provider()
f46fe79ff1b6 pinctrl-single: fix pcs_parse_pinconf() return value
5bcc066c0590 trace/events/block.h: drop kernel-doc for dropped
function parameter
9192ec55e1c8 f2fs: Eliminate usage of uninitialized_var() macro
6348b895be85 media: sur40: Remove uninitialized_var() usage
e3a830641614 KVM: PPC: Book3S PR: Remove uninitialized_var() usage
e79607b93990 clk: spear: Remove uninitialized_var() usage
f7ec2e10aea2 spi: davinci: Remove uninitialized_var() usage
75896ee8d499 clk: st: Remove uninitialized_var() usage
a7635810c7bc ide: Remove uninitialized_var() usage
d465e49a0ffe rtlwifi: rtl8192cu: Remove uninitialized_var() usage
47f7d94c84c7 b43: Remove uninitialized_var() usage
63c3f24440a1 drbd: Remove uninitialized_var() usage
f9e4da0b87fb x86/mm/numa: Remove uninitialized_var() usage
032e6f262cea docs: deprecated.rst: Add uninitialized_var()
6769b275a313 RDMA/siw: Fix pointer-to-int-cast warning in siw_rx_pbl()
0dc63bbee0fa RDMA/hfi1: Fix trivial mis-spelling of 'descriptor'
4f5747cf8e59 RDMA/mlx5: Fix -Wformat warning in check_ucmd_data()
a8a5e383cf41 blk-mq: Remove redundant 'return' statement
2ef5612391f0 RDMA/mlx5: Remove duplicated assignment to resp.response_length
9909bc43a2e2 dt-bindings: MIPS: Document Ingenic SoCs binding.
92314d84b67f torture: Add script to smoke-test commits in a branch
d838f25ee7b6 torture:  Remove qemu dependency on EFI firmware
a08ae995e32f Documentation/litmus-tests: Cite an RCU litmus test
ffd32d4b7ee9 Documentation/litmus-tests: Merge atomic's README into
top-level one
116f054e2939 tools/memory-model: Fix reference to litmus test in recipes.txt
7eecf763778e Documentation/litmus-tests/atomic: Add a test for
smp_mb__after_atomic()
d059e5059004 Documentation/litmus-tests/atomic: Add a test for atomic_set()
dc762571b9eb Documentation/litmus-tests: Introduce atomic directory
05bee9a04c89 tools/memory-model: Add an exception for limitations on
_unless() family
bb2c9387b73c MAINTAINERS: Update maintainers for new Documentation/litmus-tests
47ec95b12107 Documentation: LKMM: Add litmus test for RCU GP guarantee
where reader stores
24dca63e6145 Documentation: LKMM: Add litmus test for RCU GP guarantee
where updater frees object
be1ce3e46670 tools/memory-model: Fix "conflict" definition
ac1a749d92dc tools/memory-model: Add recent references
4b25bbf52a55 bcache: pr_info() format clean up in bcache_device_init()
ee4a36f41461 bcache: use delayed kworker fo asynchronous devices registration
dcacbc1242c7 bcache: check and adjust logical block size for backing devices
be23e837333a bcache: fix potential deadlock problem in btree_gc_coalesce
9ec051bf4470 drm/amd/display: Rework dsc to isolate FPU operations
790243d3bf78 drm/amdgpu: Replace invalid device ID with a valid device ID
43a562774fce drm/amd/display: Use kfree() to free rgb_user in
calculate_user_regamma_ramp()
81921a828b94 drm/amd/display: Use kvfree() to free coeff in build_regamma()
85d0f9ad8212 perf pmu: Remove unused declaration
ffaecd7d1f88 perf parse-events: Fix an old style declaration
c2412fae3f01 perf parse-events: Fix an incompatible pointer
d38c692f160e perf bpf: Fix bpf prologue generation
9256c3031eb9 perf probe: Fix user attribute access in kprobes
c0c652fc705d perf stat: Fix NULL pointer dereference
11b6e5482e17 perf report: Fix NULL pointer dereference in
hists__fprintf_nr_sample_events()
dd76c302955d tools headers UAPI: Sync kvm.h headers with the kernel sources
377cb673cf35 tools headers UAPI: Sync drm/i915_drm.h with the kernel sources
d8e1ef67722b tools headers UAPI: Sync linux/fscrypt.h with the kernel sources
5d33cbfedb51 perf beauty: Add support to STATX_MNT_ID in the 'statx'
syscall 'mask' argument
93dc627f4801 tools headers uapi: Sync linux/stat.h with the kernel sources
7e579f3a074c tools arch x86 uapi: Synch asm/unistd.h with the kernel sources
6c3c184fc420 tools headers API: Update faccessat2 affected files
f650ef61e040 ata/libata: Fix usage of page address by page_address in
ata_scsi_mode_select_xlat function
eea123886720 sata_rcar: handle pm_runtime_get_sync failure cases


- Naresh

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: BUG: Bad page state in process - page dumped because: page still charged to cgroup
@ 2020-07-01 12:31     ` Naresh Kamboju
  0 siblings, 0 replies; 22+ messages in thread
From: Naresh Kamboju @ 2020-07-01 12:31 UTC (permalink / raw)
  To: Michal Hocko
  Cc: Shakeel Butt, Johannes Weiner, Andrew Morton, linux-mm,
	open list, Roman Gushchin, lkft-triage, Chris Down, Qian Cai

On Wed, 1 Jul 2020 at 13:59, Michal Hocko <mhocko@kernel.org> wrote:
>
> Smells like a different observable problem with the same/similar culprit
> as http://lkml.kernel.org/r/CA+G9fYtrgF_EZHi0vi+HyWiXT5LGggDhVXtNspc=OzzFhL=xRQ@mail.gmail.com

Before I start bisecting here I am sharing more details of the problem.

>
> On Wed 01-07-20 13:48:57, Naresh Kamboju wrote:
> > While running LTP mm test suite on x86_64 device the BUG: Bad page
> > state in process
> > noticed on linux-next 20200630 tag.

Bad: next-20200621
Good: next-20200618

> >
> > Steps to reproduce:
> > - boot linux-next 20200630 kernel on x86_64 device
> > - cd /opt/ltp
> > - ./runltp -f mm
> >
> > metadata:
> >   git branch: master
> >   git repo: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> >   git commit: f2b92b14533e646e434523abdbafddb727c23898
> >   git describe: next-20200630
> >   kernel-config:
> > https://builds.tuxbuild.com/j60yrp7CUpq3LCmqMB8Wdg/kernel.config
> >
> > Test crash dump:
<trim>
> > [  804.293956] [   3261]     0  3261  4726385  3349389 26939392
> > 0             0 oom01
> > [  804.302129] [   3265]     0  3265     3187       33    73728
> > 0             0 agetty
> > [  804.310397] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/,task=oom01,pid=3261,uid=0
> > [  804.322751] Out of memory: Killed process 3261 (oom01)
> > total-vm:18905540kB, anon-rss:13397556kB, file-rss:0kB, shmem-rss:0kB,
> > UID:0 pgtables:26308kB oom_score_adj:0
> > [  806.652952] oom_reaper: reaped process 3261 (oom01), now
> > anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
> > [  807.579373] BUG: Bad page state in process kworker/u8:12  pfn:374308
> > [  807.579521] BUG: Bad page state in process kworker/u8:13  pfn:4182a4

[  858.236961] ------------[ cut here ]------------
[  858.236963] WARNING: CPU: 1 PID: 5526 at mm/page_counter.c:57
page_counter_cancel+0x3e/0x50
[  858.236963] Modules linked in: x86_pkg_temp_thermal
[  858.236965] CPU: 1 PID: 5526 Comm: (agetty) Tainted: G    B D
    5.8.0-rc1-next-20200621 #1
[  858.236966] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
2.2 05/23/2018
[  858.236967] RIP: 0010:page_counter_cancel+0x3e/0x50
[  858.236969] Code: 6e fe ff 48 89 d8 48 f7 d8 f0 49 0f c1 04 24 48
29 d8 4c 89 e7 48 89 c3 48 89 c6 e8 8c fe ff ff 48 85 db 78 05 5b 41
5c 5d c3 <0f> 0b 5b 41 5c 5d c3 66 66 2e 0f 1f 84 00 00 00 00 00 48 85
ff 74
[  858.236970] RSP: 0018:ffff888226ba7728 EFLAGS: 00010286
[  858.236971] RAX: 0000000000000000 RBX: ffffffffffffffff RCX: ffffffff936f547f
[  858.236972] RDX: 0000000000000000 RSI: dffffc0000000000 RDI: ffff88822fb51601
[  858.236973] RBP: ffff888226ba7738 R08: 1ffff11045f6a2c0 R09: ffffed1045f6a2bd
[  858.236974] R10: ffff88822fb515e0 R11: ffffed1045f6a2bc R12: ffff88822fb515d9
[  858.236975] R13: ffff888226ba7808 R14: 0000000000000000 R15: ffff888226ba7800
[  858.236976] FS:  0000000000000000(0000) GS:ffff888230880000(0000)
knlGS:0000000000000000
[  858.236976] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  858.236977] CR2: 000055a355aff1e8 CR3: 0000000223e8c001 CR4: 00000000003606e0
[  858.236978] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  858.236979] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  858.236979] Call Trace:
[  858.236980]  page_counter_uncharge+0x1d/0x40
[  858.236981]  uncharge_batch+0x126/0x180
[  858.236981]  uncharge_page+0x48/0x190
[  858.236982]  mem_cgroup_uncharge_list+0xd8/0x130
[  858.236983]  ? mem_cgroup_uncharge+0x100/0x100
[  858.236983]  ? _raw_write_lock_irqsave+0xd0/0xd0
[  858.236984]  release_pages+0x56c/0x670
[  858.236984]  ? __put_compound_page+0x50/0x50
[  858.236985]  ? lru_add_drain_cpu+0xce/0x1d0
[  858.236986]  free_pages_and_swap_cache+0x134/0x150
[  858.236986]  tlb_batch_pages_flush+0x25/0x70
[  858.236987]  tlb_finish_mmu+0x68/0x3e0
[  858.236988]  exit_mmap+0x158/0x2b0
[  858.236988]  ? do_munmap+0x10/0x10
[  858.236989]  ? __kasan_check_write+0x14/0x20
[  858.236989]  ? mutex_unlock+0x1d/0x40
[  858.236990]  mmput+0xaf/0x200
[  858.236991]  begin_new_exec+0x737/0x11e7
[  858.236991]  load_elf_binary+0x4c3/0x23a4
[  858.236992]  ? fsnotify+0x5c6/0x5f0
[  858.236992]  ? fsnotify+0x5f0/0x5f0
[  858.236993]  ? __fsnotify_update_child_dentry_flags.part.0+0x180/0x180
[  858.236994]  ? elf_map+0x190/0x190
[  858.236994]  ? __kasan_check_write+0x14/0x20
[  858.236995]  ? load_misc_binary+0x118/0x490
[  858.236996]  __do_execve_file.isra.0+0xa39/0x1240
[  858.236996]  ? open_exec+0x50/0x50
[  858.236997]  ? __kasan_check_write+0x14/0x20
[  858.236997]  ? strncpy_from_user+0xb7/0x1c0
[  858.236998]  ? getname_flags+0x11b/0x2a0
[  858.236999]  __x64_sys_execve+0x54/0x70
[  858.236999]  do_syscall_64+0x43/0x70
[  858.237000]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[  858.237001] RIP: 0033:0x7f35029a1877
[  858.237001] Code: Bad RIP value.
[  858.237002] RSP: 002b:00007fff0a4b9fd8 EFLAGS: 00000246 ORIG_RAX:
000000000000003b
[  858.237003] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f35029a1877
[  858.237004] RDX: 000055a355b6b3f0 RSI: 000055a355b46510 RDI: 000055a355ae64d0
[  858.237005] RBP: 00007fff0a4ba280 R08: 0000000000000003 R09: 0000000000000000
[  858.237006] R10: 000055a355acae70 R11: 0000000000000246 R12: 000055a355ac7d18
[  858.237007] R13: 000055a355b46510 R14: 000055a355ac7e08 R15: 000055a355ac7980
[  858.237008] ---[ end trace 0d1e8dbfcac2ad5c ]---
[  858.562327] general protection fault, probably for non-canonical
address 0x80ff880ab2b281ee: 0000 [#2] SMP KASAN PTI
[  858.572850] CPU: 1 PID: 5526 Comm: (agetty) Tainted: G    B D W
    5.8.0-rc1-next-20200621 #1
[  858.581800] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
2.2 05/23/2018
[  858.589193] RIP: 0010:__count_memcg_events+0x38/0x100
[  858.594246] Code: 55 49 89 fd 41 54 41 89 f4 53 48 89 d3 48 83 ec
10 4c 8d b7 18 05 00 00 4c 89 f7 e8 52 1d fe ff 44 89 e6 49 8b 85 18
05 00 00 <65> 48 8b 94 f0 28 01 00 00 48 01 d3 4c 8d 3c f5 28 01 00 00
48 83
[  858.612989] RSP: 0018:ffff888226ba7720 EFLAGS: 00010046
[  858.618209] RAX: 80ffff88822a81e6 RBX: 0000000000000001 RCX: ffffffff936fcaae
[  858.625340] RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff88822fb51919
[  858.632464] RBP: ffff888226ba7758 R08: 1ffff11045f6a323 R09: ffffed1045f6a2bd
[  858.639590] R10: ffff88822fb515e0 R11: ffffed1045f6a2bc R12: 0000000000000001
[  858.646721] R13: ffff88822fb51401 R14: ffff88822fb51919 R15: ffff888226ba7800
[  858.653881] FS:  0000000000000000(0000) GS:ffff888230880000(0000)
knlGS:0000000000000000
[  858.661965] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  858.667703] CR2: 000055a355aff1e8 CR3: 0000000223e8c001 CR4: 00000000003606e0
[  858.674826] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  858.681950] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  858.689074] Call Trace:
[  858.691520]  uncharge_batch+0x9c/0x180
[  858.695270]  uncharge_page+0x48/0x190
[  858.698930]  mem_cgroup_uncharge_list+0xd8/0x130
[  858.703548]  ? mem_cgroup_uncharge+0x100/0x100
[  858.707994]  ? _raw_write_lock_irqsave+0xd0/0xd0
[  858.712613]  release_pages+0x56c/0x670
[  858.716367]  ? __put_compound_page+0x50/0x50
[  858.720640]  ? lru_add_drain_cpu+0xce/0x1d0
[  858.724824]  free_pages_and_swap_cache+0x134/0x150
[  858.729609]  tlb_batch_pages_flush+0x25/0x70
[  858.733881]  tlb_finish_mmu+0x68/0x3e0
[  858.737634]  exit_mmap+0x158/0x2b0
[  858.741039]  ? do_munmap+0x10/0x10
[  858.744438]  ? __kasan_check_write+0x14/0x20
[  858.748710]  ? mutex_unlock+0x1d/0x40
[  858.752376]  mmput+0xaf/0x200
[  858.755347]  begin_new_exec+0x737/0x11e7
[  858.759267]  load_elf_binary+0x4c3/0x23a4
[  858.763278]  ? fsnotify+0x5c6/0x5f0
[  858.766783]  ? fsnotify+0x5f0/0x5f0
[  858.770282]  ? __fsnotify_update_child_dentry_flags.part.0+0x180/0x180
[  858.776806]  ? elf_map+0x190/0x190
[  858.780211]  ? __kasan_check_write+0x14/0x20
[  858.784477]  ? load_misc_binary+0x118/0x490
[  858.788662]  __do_execve_file.isra.0+0xa39/0x1240
[  858.793361]  ? open_exec+0x50/0x50
[  858.796778]  ? __kasan_check_write+0x14/0x20
[  858.801054]  ? strncpy_from_user+0xb7/0x1c0
[  858.805232]  ? getname_flags+0x11b/0x2a0
[  858.809149]  __x64_sys_execve+0x54/0x70
[  858.812980]  do_syscall_64+0x43/0x70
[  858.816551]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[  858.821596] RIP: 0033:0x7f35029a1877
[  858.825173] Code: Bad RIP value.
[  858.828397] RSP: 002b:00007fff0a4b9fd8 EFLAGS: 00000246 ORIG_RAX:
000000000000003b
[  858.835955] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f35029a1877
[  858.843087] RDX: 000055a355b6b3f0 RSI: 000055a355b46510 RDI: 000055a355ae64d0
[  858.850210] RBP: 00007fff0a4ba280 R08: 0000000000000003 R09: 0000000000000000
[  858.857334] R10: 000055a355acae70 R11: 0000000000000246 R12: 000055a355ac7d18
[  858.864460] R13: 000055a355b46510 R14: 000055a355ac7e08 R15: 000055a355ac7980
[  858.871592] Modules linked in: x86_pkg_temp_thermal
[  858.876471] ---[ end trace 0d1e8dbfcac2ad5d ]---
[  858.881083] RIP: 0010:propagate_protected_usage+0x107/0x140
[  858.886654] Code: 38 48 85 c0 0f 85 59 ff ff ff e9 78 ff ff ff 4c
89 ef e8 ac 92 fe ff 4c 8b 63 28 be 08 00 00 00 49 8d 7c 24 40 e8 29
6f fe ff <f0> 4d 01 74 24 40 e9 52 ff ff ff 4c 89 ef e8 86 92 fe ff 48
8b 5b
[  858.905401] RSP: 0018:ffff8882285df660 EFLAGS: 00010202
[  858.910627] RAX: 0000000000000001 RBX: ffff88822af028f9 RCX: ffffffff936f5567
[  858.917763] RDX: 0000000000000001 RSI: 0000000000000008 RDI: 80ffff88822a8226
[  858.924918] RBP: ffff8882285df688 R08: 0000000000000001 R09: ffffed10455e0528
[  858.932050] R10: 80ffff88822a822e R11: ffffed10455e0527 R12: 80ffff88822a81e6
[  858.939183] R13: ffff88822af02921 R14: 7f0000777dd57e1a R15: ffffffffffffffff
[  858.946314] FS:  0000000000000000(0000) GS:ffff888230880000(0000)
knlGS:0000000000000000
[  858.954390] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  858.960129] CR2: 000055a355aff1e8 CR3: 0000000223e8c001 CR4: 00000000003606e0
[  858.967252] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  858.974376] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  899.073243] BUG: Bad page state: 48 messages suppressed
[  899.078478] BUG: Bad page state in process (agetty)  pfn:22ce97

Full test log link,
https://lkft.validation.linaro.org/scheduler/job/1511979#L14169

List of patches between next-2020618 to next-20200621,
5a94f5bc041e Add linux-next specific files for 20200621
080244d1fc51 Merge branch 'akpm/master'
4a5d2b1ce5e3 sh: add missing EXPORT_SYMBOL() for __delay
ef2d9fc68f0c sh: use generic strncpy()
23719118a8bd sh: remove call to memset after dma_alloc_coherent
25fc94b67589 sh: clkfwk: remove r8/r16/r32
9222aa38acb4 include/asm-generic/vmlinux.lds.h: align ro_after_init
21e74499f57e mm: annotate a data race in page_zonenum()
45a420e030b6 mm/swap.c: annotate data races for lru_rotate_pvecs
c7cfc94b1845 mm/rmap: annotate a data race at tlb_flush_batched
68a49b98a306 mm/mempool: fix a data race in mempool_free()
5f0a11faa764 mm/list_lru: fix a data race in list_lru_count_one
bde5dd228193 mm/memcontrol: fix a data race in scan count
a7821e0d7f12 mm/page_counter: fix various data races at memsw
d69db9e5e83d mm-swapfile-fix-and-annotate-various-data-races-v2
3953a42f9a4f mm/swapfile: fix and annotate various data races
53b66fc7a0eb mm/filemap.c: fix a data race in filemap_fault()
a6b4ec24f77a mm/swap_state: mark various intentional data races
3a00284e066d mm-page_io-mark-various-intentional-data-races-v2
adff23f6e6f1 mm/page_io: mark various intentional data races
076fe7838b0e mm/frontswap: mark various intentional data races
74a952daca93 mm/kmemleak: silence KCSAN splats in checksum
92499683837a s390: fix build error for sys_call_table_emu
e19be697b498 all arch: remove system call sys_sysctl
a05f0b4611aa Revert "drivers/tty/serial/sh-sci.c: suppress
uninitialized var warning"
f19aad5fb52f Merge branch 'akpm-current/current'
f02b8b6b5a45 Revert "fs: Move __scm_install_fd() to __fd_install_received()"
8ae475af1cc7 Revert "fs: Add fd_install_received() wrapper for
__fd_install_received()"
77291e31b475 Revert "pidfd: Replace open-coded partial fd_install_received()"
b7c330ad5e62 Revert "fs: Expand __fd_install_received() to accept fd"
197803739e7d Revert "seccomp: Introduce addfd ioctl to seccomp user notifier"
9f45dd11b589 Revert "selftests/seccomp: Test SECCOMP_IOCTL_NOTIF_ADDFD"
4fbe81db63c3 Merge remote-tracking branch 'fsinfo/fsinfo-core'
54dc3af3b330 Merge remote-tracking branch
'notifications/notifications-pipe-core'
36fce5f71ba8 Merge remote-tracking branch 'trivial/for-next'
be67a3a73e2b Merge remote-tracking branch 'kunit-next/kunit'
fcf4c670851c Merge remote-tracking branch 'fpga/for-next'
8f9ac2e1bfc9 Merge remote-tracking branch 'pidfd/for-next'
f3c693ffcae7 Merge remote-tracking branch 'auxdisplay/auxdisplay'
999dd3a97a87 Merge remote-tracking branch 'hyperv/hyperv-next'
c5fcc4ec0c18 Merge remote-tracking branch 'xarray/xarray'
50841ac37465 Merge remote-tracking branch 'nvmem/for-next'
15cbc9151341 Merge remote-tracking branch 'fsi/next'
9d0883701e1e Merge remote-tracking branch 'kspp/for-next/kspp'
42058e576330 Merge remote-tracking branch 'nvdimm/libnvdimm-for-next'
f68cba82455d Merge remote-tracking branch 'coresight/next'
d010b60c167d Merge remote-tracking branch 'livepatching/for-next'
6bf1fe8938a3 Merge remote-tracking branch 'userns/for-next'
aeb6d371d739 Merge remote-tracking branch 'pwm/for-next'
77c685136e21 Merge remote-tracking branch 'pinctrl-samsung/for-next'
4c3f6f71602e Merge remote-tracking branch 'pinctrl/for-next'
c0b3eea264d1 Merge remote-tracking branch 'gpio-brgl/gpio/for-next'
72c3f1a61545 Merge remote-tracking branch 'gpio/for-next'
8d548faf56f6 Merge remote-tracking branch 'rpmsg/for-next'
6bdc70ae5ac4 Merge remote-tracking branch 'vhost/linux-next'
050b0c620d07 Merge remote-tracking branch 'scsi-mkp/for-next'
2189eb4d826f Merge remote-tracking branch 'scsi/for-next'
18f88d2eba90 Merge remote-tracking branch 'slave-dma/next'
9a8d419e5056 Merge remote-tracking branch 'icc/icc-next'
1719c37cb8e6 Merge remote-tracking branch 'mux/for-next'
44f8c22d3b2d Merge remote-tracking branch 'staging/staging-next'
8b5345483b1a Merge remote-tracking branch 'thunderbolt/next'
1e7887898ada Merge remote-tracking branch 'usb-chipidea-next/ci-for-usb-next'
e1f19f74f7d9 Merge remote-tracking branch 'usb/usb-next'
ee6c5629ee9c Merge remote-tracking branch 'percpu/for-next'
949f57de4b7f Merge remote-tracking branch 'rcu/rcu/next'
2b12419aa3a4 Merge remote-tracking branch 'irqchip/irq/irqchip-next'
e3a3827fdbe4 Merge remote-tracking branch 'edac/edac-for-next'
03e8e6f04a09 next-20200618/tip
4337f7168a80 Merge remote-tracking branch 'spi/for-next'
9512707cc897 Merge remote-tracking branch 'devicetree/for-next'
2557ce150fa7 Merge remote-tracking branch 'audit/next'
e3597bc47a45 Merge remote-tracking branch 'tpmdd/next'
b71ee8c13186 Merge remote-tracking branch 'safesetid/safesetid-next'
9676924ffb48 Merge remote-tracking branch 'regulator/for-next'
6b378f928a59 Merge remote-tracking branch 'battery/for-next'
3d93dea7ef20 Merge remote-tracking branch 'mmc/next'
fa8ff88017c8 Merge remote-tracking branch 'device-mapper/for-next'
5723bcdbfdc6 Merge remote-tracking branch 'block/for-next'
dfc84c87615f Merge remote-tracking branch 'sound-asoc/for-next'
676ba17f1905 Merge remote-tracking branch 'sound/for-next'
276d96312693 kcov: unconditionally add -fno-stack-protector to compiler options
8118f1cf7878 aio: simplify read_events()
1ca9471f88be lib/Kconfig.debug: fix typo in the help text of
CONFIG_PANIC_TIMEOUT
77c777d9ab7d kernel/panic.c: make oops_may_print() return bool
2258106c2b9a drivers/rapidio/rio-scan.c: use struct_size() helper
556f681e9a5d drivers/rapidio/devices/rio_mport_cdev.c: use struct_size() helper
aaafdf9249d7 kdump: append kernel build-id string to VMCOREINFO
9dcdfb72360a umh: fix refcount underflow in fork_usermode_blob().
c647d3b38f18 exec: move path_noexec() check earlier
6f445658f73d exec: move S_ISREG() check earlier
b7ba800ba7e2 exec: change uselib(2) IS_SREG() failure to EACCES
98e592c5af0f selftests: simplify kmod failure value
d13ef8e10756 umh: fix processed error when UMH_WAIT_PROC is used
e7a4d0d64d3f test_kmod: avoid potential double free in trigger_config_run_type()
0e468fcb5a7a kmod: remove redundant "be an" in the comment
54b5208978d3 selftests: kmod: use variable NAME in kmod_test_0001()
c3f33e282fac fs/signalfd.c: fix inconsistent return codes for signalfd4
a90c7bc63820 scripts/deprecated_terms: recommend denylist/allowlist
instead of blacklist/whitelist
f7281ed53263 checkpatch: support deprecated terms checking
29ecaa26b2f3 checkpatch: add test for possible misuse of IS_ENABLED()
without CONFIG_
37f7d07028d1 lib/test_bits.c: add tests of GENMASK
4731630e2f5d lib: optimize cpumask_local_spread()
c1a5fff84c0a lib/test_bitmap.c: add test for bitmap_cut()
175fd437b7e3 lib/bitmap.c: fix bitmap_cut() for partial overlapping case
b63533aa6f4a kernel/hung_task.c: Monitor killed tasks.
3a7eea3f04ea fs/buffer.c: dump more info for __getblk_gfp() stall problem
c69d5d18b240 fs/buffer.c: add debug print for __getblk_gfp() stall problem
d4f86abd6e35 mm/zswap: move to use crypto_acomp API for hardware acceleration
aca7b118adc5 x86/mm: use max memory block size on bare metal
461751581883 include/linux/sched/mm.h: optimize current_gfp_context()
ce7c19caf5c3 mm: hugetlb: fix the name of hugetlb CMA
e7f0557d7de9 mm: cma: fix the name of CMA areas
a2fcc5a6d06d mm/cma.c: fix NULL pointer dereference when cma could not
be activated
653ee2dfbd9b mm-vmstat-add-events-for-pmd-based-thp-migration-without-split-update
716a9cb6ebfa mm-vmstat-add-events-for-pmd-based-thp-migration-without-split-fix
bfeb40727ccb mm/vmstat: add events for PMD based THP migration without split
4372cbed1c5c mm: thp: remove debug_cow switch
a49eac754e51 hugetlbfs: prevent filesystem stacking of hugetlbfs
87268b23aa72 mm: use unsigned types for fragmentation score
a0e396e6f93c mm: proactive compaction
b160132805c1 mm/vmscan.c: fix typo
3175163860ae mm/page_alloc: remove nr_free_pagecache_pages()
25f58c9d5411 mm: remove vm_total_pages
3453457a03dc mm, page_alloc: skip ->watermark_boost for atomic order-0
allocations-fix
0513905cc9d8 mm, page_alloc: skip ->waternark_boost for atomic order-0
allocations
f7cebcbbdf7a page_alloc: consider highatomic reserve in watermark fast
cbf7c9d86d75 mm: track mmu notifiers in fs_reclaim_acquire/release
aa368ed0ff6a mm, page_alloc: use unlikely() in task_capc()
500cad44ab0f mm/vmalloc: switch to "propagate()" callback
7c681a2c9e6e mm/vmalloc: simplify augment_tree_propagate_check()
f45497173393 mm/vmalloc: simplify merge_or_add_vmap_area()
e951faec5f04 vmalloc: convert to XArray
28ce16b05f8d mm/mmap.c: fix the adjusted length error
0e61d15530fc mm: move p?d_alloc_track to separate header file
40736f7a6b53 mm/memory.c: make remap_pfn_range() reject unaligned addr
a8f5728b9da9 mm: remove redundant check non_swap_entry()
5b9e8dc989fd kselftests: cgroup: add perpcu memory accounting test
07666ee77fb4 mm: memcg: charge memcg percpu memory to the parent cgroup
f0264f283063 mm: memcg/percpu: per-memcg percpu memory statistics
e98c97a4b242 mm-memcg-percpu-account-percpu-memory-to-memory-cgroups-fix-fix
fbcea17c8b9b mm-memcg-percpu-account-percpu-memory-to-memory-cgroups-fix
12b30088eaae mm: memcg/percpu: account percpu memory to memory cgroups
1d60e4b6d40e percpu: return number of released bytes from pcpu_free_area()
ab019d051530 tools/cgroup: add memcg_slabinfo.py tool
53f6f42d19f0 kselftests: cgroup: add kernel memory accounting tests
13dbc24db5d7 mm-memcg-slab-use-a-single-set-of-kmem_caches-for-all-allocations-fix
6625d827c858 mm: memcg/slab: use a single set of kmem_caches for all allocations
f40e021dcfc7 mm: memcg/slab: remove redundant check in
memcg_accumulate_slabinfo()
09d57e608347 mm: memcg/slab: deprecate slab_root_caches
06d26578a4e4 mm: memcg/slab: remove memcg_kmem_get_cache()
9c83812d9ad4 mm: memcg/slab: simplify memcg cache creation
8b946491fdd7 mm: memcg/slab: use a single set of kmem_caches for all
accounted allocations
9ede3d210bb2 mm: memcg/slab: move memcg_kmem_bypass() to memcontrol.h
aa33e371a2d6 mm: memcg/slab: deprecate memory.kmem.slabinfo
548e689106b8 mm: memcg/slab: charge individual slab objects instead of pages
40f4154f066d mm: memcg/slab: save obj_cgroup for non-root slab objects
499d43980709 mm-memcg-slab-allocate-obj_cgroups-for-non-root-slab-pages-fix
745ae860d9c8 mm: memcg/slab: allocate obj_cgroups for non-root slab pages
18dd026d4526 mm-memcg-slab-obj_cgroup-api-fix
5d4e6a0f4ca7 mm: memcg/slab: obj_cgroup API
7afbbdbfdc28 mm: memcontrol: decouple reference counting from page accounting
ad49c6cb68c9 mm: slub: implement SLUB version of obj_to_index()
9b7d0eb6f2f6 mm: memcg: convert vmstat slab counters to bytes
d95b0f6cb447 mm: memcg: prepare for byte-sized vmstat items
a7b9e7704c60 mm: memcg: factor out memcg- and lruvec-level changes out
of __mod_lruvec_state()
05923a2ccacd mm, kcsan: instrument SLAB/SLUB free with "ASSERT_EXCLUSIVE_ACCESS"
0e8bd4e8b7c4 mm/slub.c: drop lockdep_assert_held() from put_map()
7b39adbb1b1d mm, slab/slub: improve error reporting and overhead of
cache_from_obj()
5a2a0a5f0458 mm, slab/slub: move and improve cache_from_obj()
e91e00a73a7d mm, slub: extend checks guarded by slub_debug static key
c91e241f569e mm, slub: introduce kmem_cache_debug_flags()-fix
d5cee500154e mm, slub: introduce kmem_cache_debug_flags()
7427f965084e mm, slub: introduce static key for slub_debug()
3312a073f331 mm, slub: make reclaim_account attribute read-only
956327673939 mm, slub: make remaining slub_debug related attributes read-only
d22bcce10577 mm, slub: remove runtime allocation order changes
2225e28078f7 mm, slub: make some slub_debug related attributes read-only
c0f1f987285d mm, slub: extend slub_debug syntax for multiple blocks
c8890eca5114 mm: ksize() should silently accept a NULL pointer
13b9f92ed464 mm, treewide: rename kzfree() to kfree_sensitive()
09ab611bc069 kernel/watchdog: flush all printk nmi buffers when
hardlockup detected
d3c89f70c117 ramfs: support O_TMPFILE
a1e988dda7bb drivers/tty/serial/sh-sci.c: suppress uninitialized var warning
2117f2a09bbd ocfs2: fix ocfs2 corrupt when iputting an inode
910e6d1323b9 ocfs2: clear links count in ocfs2_mknod() if an error occurs
bb8799143599 scripts/bloat-o-meter: Support comparing library archives
a45c9b225621 scripts/tags.sh: collect compiled source precisely
2fe609d4c7cb checkpatch: test $GIT_DIR changes
17a0169de15e /proc/kpageflags: do not use uninitialized struct pages
bff9c6afdae8 /proc/kpageflags: prevent an integer overflow in
stable_page_flags()
e21eb5850bb8 mm: remove vmalloc_exec
329758313796 arm64: use PAGE_KERNEL_ROX directly in alloc_insn_page
8ed90bf8f95f x86/hyperv: allocate the hypercall page with only read
and execute bits
8bbfc239fe08 mm, slab: fix sign conversion problem in memcg_uncharge_slab()
3d9ed52bd4b4 linux/bits.h: fix unsigned less than zero warnings
eea51d588bd8 lib: fix test_hmm.c reference after free
c824ce1feffa ocfs2: fix value of OCFS2_INVALID_SLOT
55f4b1a05449 ocfs2: fix panic on nfs server over ocfs2
a86d6e9dea49 ocfs2: load global_inode_alloc
2d6241eb4cbe ocfs2: avoid inode removal while nfsd is accessing it
fe76dff54050 kexec: do not verify the signature without the lockdown
or mandatory signature
573840b2a059 mm, compaction: make capture control handling safe wrt interrupts
8f4df40ca903 doc: THP CoW fault no longer allocate THP
bbf59a542afc docs: mm/gup: minor documentation update
ef93261fc434 mm/memory_hotplug.c: fix false softlockup during pfn range removal
fce0ed6224c1 mm/memcontrol.c: prevent missed memory.low load tears
1bb1a2b8d884 mm/memcontrol.c: add missed css_put()
f61a866d8a34 mm: memcontrol: handle div0 crash race condition in memory.low
c95e7b994357 mm/debug_vm_pgtable: fix build failure with powerpc 8xx
955125a48f03 mm/memory.c: properly pte_offset_map_lock/unlock in
vm_insert_pages()
1c35d1bbd926 mm: fix swap cache node allocation mask
c8f8d52df5b3 mm/memory: fix IO cost for anonymous page
ad3a0677256b mm/swap: fix for "mm: workingset: age nonresident
information alongside anonymous pages"
e546c9fd9d66 mm: workingset: age nonresident information alongside
anonymous pages
8dc0fba69e67 slub: cure list_slab_objects() from double fix
088b708234f1 mm/slab: use memzero_explicit() in kzfree()
f103708d907d mm: do_swap_page(): fix up the error code
02317d25edab openrisc: fix boot oops when DEBUG_VM is enabled
45e50181a22f Merge remote-tracking branch 'regmap/for-next'
17ebe068d360 Merge remote-tracking branch 'etnaviv/etnaviv/next'
53dd3a1a5fa5 Merge remote-tracking branch 'imx-drm/imx-drm/next'
7164a0ff0a0d Merge remote-tracking branch 'mali-dp/for-upstream/mali-dp'
34fc83e3f660 Merge remote-tracking branch 'drm-msm/msm-next'
89c5d78b5e3b Merge remote-tracking branch 'drm-misc/for-linux-next'
604c3ba77e72 Merge remote-tracking branch 'drm-tegra/drm/tegra/for-next'
db4fedef1003 Merge remote-tracking branch 'drm-intel/for-linux-next'
fcec20a25e27 next-20200616/amdgpu
2f907ddbff97 Merge remote-tracking branch 'crypto/master'
bdda221cb356 Merge remote-tracking branch 'nand/nand/next'
d66758331596 Merge remote-tracking branch 'gfs2/for-next'
6a21fb721acc Merge remote-tracking branch 'bluetooth/master'
bfd9f0183cd3 Merge remote-tracking branch 'wireless-drivers-next/master'
0da0f227415b Merge remote-tracking branch 'bpf-next/master'
3e836ac66a5d Merge remote-tracking branch 'net-next/master'
3b6c48207c90 Merge remote-tracking branch 'swiotlb/linux-next'
ac097061c0fd Merge remote-tracking branch 'ieee1394/for-next'
e438a26fc9ee Merge remote-tracking branch 'thermal/thermal/linux-next'
0b1a36ee33a6 Merge remote-tracking branch 'cpufreq-arm/cpufreq/arm/linux-next'
031969f73628 Merge remote-tracking branch 'pm/linux-next'
e222c587d78f Merge remote-tracking branch 'jc_docs/docs-next'
66e10514c4c3 Merge remote-tracking branch 'hwmon-staging/hwmon-next'
f559800bedea Merge branch 'dmi/master'
597afcb1d768 Merge remote-tracking branch 'i2c/i2c/for-next'
3f31e4ad2b20 next-20200618/hid
4c7ed9fd1f36 next-20200618/printk
2262a9df93cc Merge remote-tracking branch 'vfs/for-next'
2f21fd3f9848 Merge remote-tracking branch 'file-locks/locks-next'
6ef0bb950323 Merge remote-tracking branch 'ext3/for_next'
deb8de46d804 Merge remote-tracking branch 'exfat/dev'
e2ad3d3d8350 Merge remote-tracking branch 'cifs/for-next'
9a14120d1d0a Merge remote-tracking branch 'btrfs/for-next'
ab1d71b15dec Merge remote-tracking branch 'xtensa/xtensa-for-next'
fad4101356f6 Merge remote-tracking branch 'risc-v/for-next'
5048203cf05e Merge remote-tracking branch 'parisc-hd/for-next'
4ba424fb4c21 Merge remote-tracking branch 'mips/mips-next'
5fd30b7a8724 Merge remote-tracking branch 'm68knommu/for-next'
7680497c80d5 Merge remote-tracking branch 'h8300/h8300-next'
aecf48c78b84 Merge remote-tracking branch 'tegra/for-next'
9bc17686841d Merge remote-tracking branch 'scmi/for-linux-next'
37075d55a174 Merge remote-tracking branch 'samsung-krzk/for-next'
8ff1ccd640da Merge remote-tracking branch 'rockchip/for-next'
63295e35a439 Merge remote-tracking branch 'reset/reset/next'
e26a935ff531 Merge remote-tracking branch 'renesas/next'
ac5022c89301 Merge remote-tracking branch 'realtek/for-next'
e672bd752b38 Merge remote-tracking branch 'qcom/for-next'
9697ec35d2cc Merge remote-tracking branch 'omap/for-next'
8fa23ba28129 Merge remote-tracking branch 'mvebu/for-next'
619de7dc5647 Merge remote-tracking branch 'mediatek/for-next'
e535fde27035 Merge remote-tracking branch 'keystone/next'
24ede46aa0a2 Merge remote-tracking branch 'imx-mxs/for-next'
7d436638da8f Merge remote-tracking branch 'at91/at91-next'
f7eedd954677 Merge remote-tracking branch 'aspeed/for-next'
d53dc81fa68e Merge remote-tracking branch 'amlogic/for-next'
a100c95aa9af Merge remote-tracking branch 'arm-soc/for-next'
cb25f426e8cf Merge remote-tracking branch 'arm/for-next'
6a31438d0d8b Merge remote-tracking branch 'dma-mapping/for-next'
6de53dcd5c17 Merge remote-tracking branch 'drm-misc-fixes/for-linux-next-fixes'
6087ac2687a5 Merge remote-tracking branch 'erofs-fixes/fixes'
4a1ee627697b Merge remote-tracking branch 'fpga-fixes/fixes'
16367f1af155 Merge remote-tracking branch 'pidfd-fixes/fixes'
9bebb4d63a26 Merge remote-tracking branch 'mmc-fixes/fixes'
666b3ef96dc1 Merge remote-tracking branch 'scsi-fixes/fixes'
59189158aae7 Merge remote-tracking branch 'devicetree-fixes/dt/linus'
c6a11e1d9fb9 Merge remote-tracking branch 'btrfs-fixes/next-fixes'
856d7326d51a Merge remote-tracking branch 'hwmon-fixes/hwmon'
850d3d5c12e3 Merge remote-tracking branch 'kvms390-fixes/master'
6e5aacae4045 Merge remote-tracking branch 'omap-fixes/fixes'
e67d74b9f9c6 Merge remote-tracking branch 'mips-fixes/mips-fixes'
d7f2ed39c9bc Merge remote-tracking branch 'mtd-fixes/mtd/fixes'
e0a7faf05a21 Merge remote-tracking branch 'slave-dma-fixes/fixes'
f09a278d6bed Merge remote-tracking branch 'vfio-fixes/for-linus'
d8aa67b8db2d Merge remote-tracking branch 'crypto-current/master'
3644c557a7fb Merge remote-tracking branch 'staging.current/staging-linus'
282c9ccb368c Merge remote-tracking branch 'usb-chipidea-fixes/ci-for-usb-stable'
27da2ed4f38f Merge remote-tracking branch 'usb.current/usb-linus'
a9173d269649 Merge remote-tracking branch 'spi-fixes/for-linus'
9c6324a10459 Merge remote-tracking branch 'regulator-fixes/for-linus'
4ce52110aa56 Merge remote-tracking branch 'regmap-fixes/for-linus'
68c72b72ac25 Merge remote-tracking branch 'sound-asoc-fixes/for-linus'
51b54d8ebd59 Merge remote-tracking branch 'sound-current/for-linus'
c88bb4e3a695 Merge remote-tracking branch 'rdma-fixes/for-rc'
1db080309e9b Merge remote-tracking branch 'net/master'
b34d4bda37ac Merge remote-tracking branch 'powerpc-fixes/fixes'
e0d5fce09ec0 Merge remote-tracking branch 'arc-current/for-curr'
7888a9e5fcb5 Merge remote-tracking branch 'kbuild-current/fixes'
892d919cb88c sched: Fix RANDSTRUCT build fail
c23cc96cd670 Merge remote-tracking branch 'fixes/master'
54eeea0d707d tc-testing: update geneve options match in tunnel_key unit tests
902053f17dbe of: mdio: preserve phy dev_flags in of_phy_connect()
89fbd26cca7e r8169: fix firmware not resetting tp->ocp_base
78e57f152c00 net: Avoid overwriting valid skb->napi_id
8eaf8d994090 Remove redundant condition in qdisc_graft
8b40eb73509f ibmvnic: continue to init in CRQ reset returns H_CLOSED
b59eabd23ee5 ionic: tame the watchdog timer on reconfig
cd3998385712 Merge branch 'Ocelot-Felix-driver-cleanup'
c73b0ad36ea3 net: mscc: ocelot: unexpose ocelot_vcap_policer_{add,del}
aae4e500e106 net: mscc: ocelot: generalize the "ACE/ACL" names
3c83654f246b net: mscc: ocelot: rename ocelot_ace.{c, h} to ocelot_vcap.{c,h}
9c90eea310f8 net: mscc: ocelot: move net_device related functions to
ocelot_net.c
d9feb9049973 net: mscc: ocelot: move ocelot_regs.c into ocelot_vsc7514.c
14addfb6356b net: mscc: ocelot: rename MSCC_OCELOT_SWITCH_OCELOT to
MSCC_OCELOT_SWITCH
f4d0323bae4e net: mscc: ocelot: convert MSCC_OCELOT_SWITCH into a library
56583862b87b net: mscc: ocelot: rename module to mscc_ocelot
589aa6e7c9de net: mscc: ocelot: rename ocelot_board.c to ocelot_vsc7514.c
ff4b0bc62353 net: mscc: ocelot: access EtherType using __be16
7eb5c96a7cae net: mscc: ocelot: use plain int when interacting with TCAM tables
3ab4ceb6e963 net: dsa: felix: make vcap is2 keys and actions static
60cb8d3d715b Merge branch 'Strict-mode-for-VRF'
8735e6eaa438 selftests: add selftest for the VRF strict mode
a59a8ffd4a1b vrf: add l3mdev registration for table to VRF device lookup
33306f1aaf82 vrf: add sysctl parameter for strict mode
c8baec385737 vrf: track associations between VRF devices and tables
49042c220b3a l3mdev: add infrastructure for table to VRF mapping
44fc2d79b547 Merge branch 'devel' into for-next
42ba326cdeff Merge branch 'devel' into for-next
35e6ecf1bc49 Merge branch 'for-5.9/block' into for-next
ea1ab756e354 blk-iocost: Use struct_size() in kzalloc_node()
0e5ee5fb16cc Merge branch 'for-5.9/block' into for-next
05a0f5475689 block: bio: Use struct_size() in kmalloc()
6c736f9f2b5b block: create the request_queue debugfs_dir on registration
1de75b0f88cd blktrace: ensure our debugfs dir exists
de08463407e8 blktrace: fix debugfs use after free
00116c54643f loop: be paranoid on exit and prevent new additions / removals
117eedf00857 blktrace: annotate required lock on do_blk_trace_setup()
a639bfd9086d block: revert back to synchronous request_queue removal
1988203b3524 block: clarify context for refcount increment helpers
add7291177c8 block: add docs for gendisk / request_queue refcount helpers
435fda26d703 Merge branch 'ib-for-each-requested' of
/home/linus/linux-gpio into devel
84651e81ee33 Merge branch 'ib-for-each-requested' into devel
5bae1f08e285 pinctrl: at91: Make use of for_each_requested_gpio()
7796cdc911fc gpio: xra1403: Make use of for_each_requested_gpio()
86661fd7faac gpio: mvebu: Make use of for_each_requested_gpio()
aed8fa12552a ARM/orion/gpio: Make use of for_each_requested_gpio()
b3337eb24831 gpiolib: Introduce for_each_requested_gpio_in_range() macro
b1a05ba9ae8c pinctrl: stm32: add possibility to configure pins individually
d9665bb82269 pinctrl: stm32: return proper error code in pin_config_set
2254e77665d5 pinctrl: stm32: defer probe if reset resource is not yet ready
d888229ef2fb pinctrl: stm32: don't print an error on probe deferral
during clock get
b5fc06a10e7a pinctrl: ingenic: Add ingenic,jz4725b-gpio compatible string
25fae752156d pinctrl: single: fix function name in documentation
925ca36913fc gpiolib: split character device into gpiolib-cdev
8b6ddd10d678 Merge tag 'trace-v5.8-rc1' of
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
1f6bd574e9d5 gpio: max732x: remove redundant check
eede2b9b3fe0 Merge tag 'libnvdimm-for-5.8-rc2' of
git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
7f5f4de83ca3 pinctrl: qcom: ipq6018 Add missing pins in qpic pin group
13f2d25b951f Revert "pinctrl: freescale: imx: Use 'devm_of_iomap()' to
avoid a resource leak in case of error in 'imx_pinctrl_probe()'"
1566feea450c Merge tag 's390-5.8-2' of
git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
7fdfbe08a2b3 Merge tag 'riscv-for-linus-5.8-rc2' of
git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux
27c2760561c0 Merge tag 'linux-kselftest-5.8-rc2' of
git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
5481fc6eb8a7 afs: Fix hang on rmmod due to outstanding timer
f8ea5c7bceeb afs: Fix afs_do_lookup() to call correct fetch-status op variant
b9fe86204b06 drm/bridge: tfp410: Fix setup and hold time calculation
db8f92a5e627 drm/bridge: tfp410: fix de-skew value retrieval from DT
520a994de09e dt-bindings: display: ti, tfp410.yaml: Redefine ti, deskew property
1dd8915291d5 dt-bindings: display: ti,tfp410.txt: convert to yaml
c0e1c8c22beb powerpc/8xx: Provide ptep_get() with 16k pages
481e980a7c19 mm: Allow arches to provide ptep_get()
55ca22633a9f mm/gup: Use huge_ptep_get() in gup_hugepte()
94f07917ebe8 drm/panel-simple: Add missing connector type for some panels
b27ff5c187dd drm/panel: otm8009a: Drop unnessary backlight_device_unregister()
775f43facfe8 Drivers: hv: vmbus: Remove the lock field from the
vmbus_channel struct
21d2052c7afb scsi: storvsc: Introduce the per-storvsc_device spinlock
cf46143fe2c9 drm/i915/gt: Replace manual kmap_atomic() with pin_map
for renderstate
033ef711bbfb drm/i915/gvt: Drop redundant prepare_write/pin_pages
51baf6e50c62 Merge branch 'kspp/uninit/macro' into for-next/kspp
2d0e6f87039d compiler: Remove uninitialized_var() macro
4ee42e96f851 treewide: Remove uninitialized_var() usage
a94ccb5b88df checkpatch: Remove awareness of uninitialized_var() macro
e765f2d0cd7f mm/debug_vm_pgtable: Remove uninitialized_var() usage
ca8826095e4d selftests/net: report etf errors correctly
3145550a7f8b scsi: target: tcmu: Fix crash in tcmu_flush_dcache_range on ARM
3c58f737231e scsi: target: tcmu: Optimize use of flush_dcache_page
5948378b26d8 ibmveth: Fix max MTU limit
c5eb179edd8a net/sched: cls_u32: Use struct_size() in kzalloc()
11a33de2df06 taprio: Use struct_size() in kzalloc()
1075a4744a32 Merge branch 'Clause-45-PHY-probing-improvements'
389a33899987 net: phy: read MMD ID from all present MMDs
320ed3bf9000 net: phy: split devices_in_package
5ba33cf48392 net: phy: set devices_in_package only after validation
c746053d275c net: phy: add support for probing MMDs >= 8 for devices-in-package
439625a7726c net: phy: reword get_phy_device() kerneldoc
ee951005e95e net: phy: clean up get_phy_c22_id() invalid ID handling
48c543887bc5 net: phy: clean up get_phy_c45_ids() failure handling
e63062616df3 net: phy: clean up PHY ID reading
454a78d17845 net: phy: clean up cortina workaround
e034c6d23bc4 tipc: Use struct_size() helper
95dcd89275bc Merge branch 'several-fixes-for-indirect-flow_blocks-offload'
3c005110d408 net/sched: cls_api: fix nooffloaddevcnt warning dmesg log
a1db217861f3 net: flow_offload: fix flow_indr_dev_unregister path
66f1939a1b70 flow_offload: use flow_indr_block_cb_alloc/remove function
26f2eb27d081 flow_offload: add flow_indr_block_cb_alloc/remove function
f51853fc0682 scsi: ufs: docs: Add WriteBooster documentation
4c7b4d63273d scsi: core: Fix formatting errors in scsi_lib.c
71df6fb976c3 scsi: core: Remove scsi_sdb_cache
56c09de347e4 geneve: allow changing DF behavior after creation
9deba33f1b72 enetc: Fix HW_VLAN_CTAG_TX|RX toggling
da3f28da1c27 scsi: target: tcmu: Remove unnecessary bit TCMU_CMD_BIT_INFLIGHT
faa620876b01 net: macb: undo operations in case of failure
2996cbd532a0 Merge tag 'rxrpc-fixes-20200618' of
git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs
393403efc360 scsi: ufs: ufs-exynos: Fix spelling mistake
"pa_granularty" -> "pa_granularity"
9a3cd470f8e3 scsi: ufs-mediatek: Make ufs_mtk_wait_link_state static
2a451122a04e Merge branch 'for-next/seccomp' into for-next/kspp
bb8dc2695a7d tools/bpftool: Relicense bpftool's BPF profiler prog as
dual-license GPL/BSD
d56b74b9e1b8 tools/bpf: Add verifier tests for 32bit pointer/scalar arithmetic
6c6935419e2f bpf: Avoid verifier failure for 32bit pointer arithmetic
9df24eaef86f Merge branch 'for-5.8/papr_scm' into libnvdimm-for-next
d3779e78b984 kcsan: Disable branch tracing in core runtime
ea568760cc54 kcsan: Simplify compiler flags
3364e113f32d kcsan: Re-add GCC as a supported compiler
70fc6d9c14e2 net: dsa: sja1105: Use struct_size() in kzalloc()
a422d5ff6def cxgb4: Use struct_size() helper
f362b70bd67a ethernet: ti: am65-cpsw-qos: Use struct_size() in devm_kzalloc()
cc7a21b6fbd9 ipv6: icmp6: avoid indirect call for icmpv6_send()
cc26c9f5ace2 Merge branch 'net-phy-MDIO-bus-scanning-fixes'
b2ffc75e2e99 net: phy: Check harder for errors in get_phy_id()
5a8d7f126c97 of: of_mdio: Correct loop scanning logic
e9f0809fb910 Merge branch 'cxgb4-add-support-for-ethtool-n-tuple-filters'
4dababa232f2 cxgb4: add action to steer flows to specific Rxq
27ee29936443 cxgb4: add support to fetch ethtool n-tuple filters
db43b30cd89c cxgb4: add ethtool n-tuple filter deletion
c8729cac2a11 cxgb4: add ethtool n-tuple filter insertion
d915c299f1da cxgb4: add skeleton for ethtool n-tuple filters
b103c607654e docs: staging: don't use literalinclude
8e2a46a40fa7 docs: move remaining stuff under Documentation/*.txt to
Documentation/staging
4333a9b0b67b Merge tag 'io_uring-5.8-2020-06-19' of
git://git.kernel.dk/linux-block
4fb33953438b drm/i915/gt: Show the culmative runtime as part of the engine info
d2b1c81f5f6c Merge tag 'block-5.8-2020-06-19' of git://git.kernel.dk/linux-block
781885fdf09f docs: sh: convert register-banks.txt to ReST
7539b417626e docs: sh: convert new-machine.txt to ReST
599448d8ca9d docs: powerpc: convert vcpudispatch_stats.txt to ReST
592be758f196 Merge tag 'libata-5.8-2020-06-19' of
git://git.kernel.dk/linux-block
86de78d2c5f4 docs: arm64: convert perf.txt to ReST format
7910b136cbb1 docs: pci: endpoint/function/binding/pci-test.txt convert to ReST
6564cfefb01c net: ethernet: oki-semi: pch_gbe: fix spelling mistake
9f70e48e1f08 docs: misc-devices/apds990x.txt: convert to ReST format
0e7ade47bb6e docs: misc-devices/bh1770glc.txt: convert to ReST
433b1b0d75c7 docs: misc-devices/c2port.txt: convert to ReST format
24f5aa53afbf net: ethernet: neterion: vxge: fix spelling mistake
16a60665cfc0 docs: misc-devices/pci-endpoint-test.txt: convert to ReST
8a05eb89cb84 docs: misc-devices/pci-endpoint-test.txt: convert to ReST
3471b9f7e43d docs: misc-devices/spear-pcie-gadget.txt: convert to ReST
740369c5794b docs: crypto: descore-readme.txt: convert to ReST format
ddc92399cc65 docs: crypto: convert async-tx-api.txt to ReST format
5846551bb147 docs: crypto: convert api-intro.txt to ReST format
0e5f9d50ad96 Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec
0efaaa86581c docs: crypto: convert asymmetric-keys.txt to ReST
0c12018e0129 docs: thermal: convert cpu-idle-cooling.rst to ReST
24cfbec99647 drm/dp: DRM DP helper for reading Ignore MSA from DPCD
d5ddc6d98d48 docs: fs: proc.rst: fix a warning due to a merge conflict
b29bb87cbb0a selftests/seccomp: Test SECCOMP_IOCTL_NOTIF_ADDFD
af35c3c6a9a5 seccomp: Introduce addfd ioctl to seccomp user notifier
50ca89d3a4fb fs: Expand __fd_install_received() to accept fd
f533d1758f02 pidfd: Replace open-coded partial fd_install_received()
4ab6bcc3ad3b fs: Add fd_install_received() wrapper for __fd_install_received()
d3868eea5cbc fs: Move __scm_install_fd() to __fd_install_received()
83b4f2c51e82 net/scm: Regularize compat handling of scm_detach_fds()
7b075ad9f496 Merge branch '40GbE' of
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue
4b61d3e8d3da net: qos offload add flow status with dropped count
2253bd848017 Documentation: tee: Document TEE kernel interface
62c91ead977a Merge tag 'drm-fixes-2020-06-19' of
git://anongit.freedesktop.org/drm/drm
cf37fc4a0ce1 Replace HTTP links with HTTPS ones:
Documentation/translations/zh_CN
68e4cd17e218 docs: deprecated.rst: Add zero-length and one-element arrays
67ee6940ae24 docs/zh_CN: update sysfs.txt about show() usage
d8923e96410c doc:it_IT: add symbol-namespace translation
49e66bf74edf seccomp: Use -1 marker for end of mode 1 syscall list
00674c4f10e9 docs: mm/gup: Minor documentation update
672f9255a727 Merge tag 'ceph-for-5.8-rc2' of git://github.com/ceph/ceph-client
e996919b7292 Documentation: fix sysctl/kernel.rst heading format warnings
6cbef2adb730 Documentation: fix filesystems/locking.rst malformed table warnings
723452918eb5 Documentation: remove SH-5 index entries
84bc1993e28b Merge tag 'arm64-fixes' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
10857a01ab81 doc: x86/speculation: length of underlines
c03f739fd023 doc: add novamap to efi kernel command line parameters
7ca8e63c8ed3 mailmap: add entries for Alexander Lobakin
5a15550e56cc drm/i915/gt: Initialise rps timestamp
98b769942c69 Merge tag 'overflow-v5.8-rc2' of
git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
98d7e741a0a3 Merge tag 'perf-tools-fixes-2020-06-02' of
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
5d809cb28056 power: supply: max8998_charger: Correct ONLINE and add STATUS props
4e670f43081c dm rq: don't call blk_mq_queue_stopped() in dm_stop_queue()
1a37a0397116 power: supply: bq24190_charger: Fix runtime PM imbalance on error
59a5d883f2cc EXP sched: Alleged fix for v5.8 merge-window scheduler issue
7222bd603dd2 power: supply: sbs-battery: add PEC support
05e043097154 power: supply: sbs-battery: use i2c_smbus_read_block_data()
42137e42c3c7 dm mpath: use double checked locking in fast path
86ff55859d8d dm mpath: rename current_pgpath to pgpath in
multipath_prepare_ioctl
86982edf07f8 dm mpath: rework __map_bio()
de6dfede5fa5 dm mpath: factor out multipath_queue_bio
340d6a203cb9 dm mpath: push locking down to must_push_back_rq()
d04bf2dadcb0 dm mpath: take m->lock spinlock when testing QUEUE_IF_NO_PATH
8b3284e250bc dm mpath: changes from initial m->flags locking audit
d35bd764e689 dm writecache: add cond_resched to loop in
persistent_memory_claim()
f2cd9a5e85dc dm zoned: Fix reclaim zone selection
3ee39573e567 dm zoned: Fix random zone reclaim selection
415c79e13b17 dm: update original bio sector on Zone Append
b38c0ad57f8e dm zoned: Fix metadata zone size check
e0034433a7e4 docs: device-mapper: add dm-ebs.rst to an index file
1d85f6d1b0c1 power: supply: gpio-charger: Make gpios optional
dad980f13243 dt-bindings: power: supply: gpio-charger: convert to yaml
8a99e5013454 Drivers: hv: vmbus: Remove unnecessary channel->lock
critical sections (sc_list updaters)
3eb0ac869c66 Drivers: hv: vmbus: Use channel_mutex in channel_vp_mapping_show()
12d0dd8e728e Drivers: hv: vmbus: Remove unnecessary channel->lock
critical sections (sc_list readers)
0a96820929f0 Drivers: hv: vmbus: Replace cpumask_test_cpu(,
cpu_online_mask) with cpu_online()
458d090fbad5 Drivers: hv: vmbus: Remove the numa_node field from the
vmbus_channel struct
5bf74682118b Drivers: hv: vmbus: Remove the target_vp field from the
vmbus_channel struct
596f4785f498 power: supply: axp20x_usb_power: fix spelling mistake
224941c9424f power: supply: use kobj_to_dev
dbc87e74d022 vfs, fsinfo: Add an RCU safe per-ns mount list
a8dfdba8de7e erofs: fix partially uninitialized misuse in
z_erofs_onlinepage_fixup
0768e6e4934e dt-bindings: power: supply: bq25890: Document required interrupt
307b0d631d13 dt-bindings: power: supply: bq25890: Indent example with tabs
1293806368bc fsinfo: Add an attribute that lists all the visible
mounts in a namespace
8fd52e0d56fc fsinfo: Add support to ext4
66da00c992e2 fsinfo: Add support for AFS
776130e51fa1 fsinfo: Add API documentation
f00f837e704c fsinfo: sample: Mount listing program
a76120c7f361 fsinfo: Provide notification overrun handling support
53eb0052aa9a fsinfo: Allow mount topology and propagation info to be retrieved
1a6b879c8582 Merge remote-tracking branch 'spi/for-5.9' into spi-next
0c5e6b29f27a Merge remote-tracking branch 'spi/for-5.8' into spi-linus
d194a22f504f Merge series "mtd: spi-nor: Move cadence-qaudspi to
spi-mem framework" from Vignesh Raghavendra <vigneshr@ti.com>:
31fb632b5d43 spi: Move cadence-quadspi driver to drivers/spi/
a314f6367787 mtd: spi-nor: Convert cadence-quadspi to use spi-mem framework
41b5ed6e677c mtd: spi-nor: cadence-quadspi: Drop redundant WREN in erase path
935da5e5100f mtd: spi-nor: cadence-quadspi: Handle probe deferral
while requesting DMA channel
c61088d1f993 mtd: spi-nor: cadence-quadspi: Fix error path on failure
to acquire reset lines
48aae57f0f9f mtd: spi-nor: cadence-quadspi: Don't initialize
rx_dma_complete on failure
a99705079a91 mtd: spi-nor: cadence-quadspi: Provide a way to disable DAC mode
834b4e8d3441 mtd: spi-nor: cadence-quadspi: Make driver independent of
flash geometry
28f9f8fb4f40 MAINTAINERS: Add robert and myself as qcom i2c cci maintainers
89835eda8600 fsinfo: Allow mount information to be queried
a7c3f6a618e0 fsinfo: Add a uniquifier ID to struct mount
2421474bbbc8 fsinfo: Allow fsinfo() to look up a mount object by ID
7b5dd70acb6d fsinfo: Allow retrieval of superblock devname, options and stats
e5ba640ad868 fsinfo: Provide a bitmap of supported features
f5e8733f5811 fsinfo: Add fsinfo() syscall to query filesystem information
f2e02f2c84b3 Merge remote-tracking branch 'asoc/for-5.9' into asoc-next
f66aada04ccf Merge remote-tracking branch 'asoc/for-5.8' into asoc-linus
a3944c88a744 Merge series "add regmap & indirect access support" from
Xu Yilun <yilun.xu@intel.com>:
d5fcc710a1dd Merge series "spi: spi-geni-qcom: Fixes / perf
improvements" from Douglas Anderson <dianders@chromium.org>:
0ec544ceb1c1 spi: npcm-fiu: Reuse BITS_PER_BYTE definition
5f368ddea6fe drm/arm: fix unintentional integer overflow on left shift
79ce058032c3 drm: drm_fourcc: Add uncompressed AFBC modifier
94b292b27734 drm: drm_fourcc: add NV15, Q410, Q401 YUV formats
7ba9bdcb91f6 spi: spi-geni-qcom: Don't keep a local state variable
902481a78ee4 spi: spi-geni-qcom: Actually use our FIFO
e191a082d764 spi: spi-geni-qcom: Check for error IRQs
2ee471a1e28e spi: spi-geni-qcom: Mo' betta locking
d9dd0fb0e197 spi: altera: fix size mismatch on 64 bit processors
3820061d3815 spi: altera: support indirect access to the registers
3c6519736eef spi: altera: use regmap-mmio instead of direct mmio register access
3bd057c8219d ASoC: qcom: Kconfig: Tweak dependencies on SND_SOC_SDM845
9cb2b3796e08 ASoC: fsl_spdif: Add pm runtime function
c7440acc8597 Merge branch 'topic/hda-micmute-led' into for-next
f34a4c9dd4ca ALSA: hda: Enable sync-write operation as default for all
controllers
114427b8927a drm/panfrost: Use kvfree() to free bo->sgts
64092598c456 drm/panfrost: Fix runtime PM imbalance on error
b99773ef258e drm/panfrost: Fix inbalance of devfreq record_busy/idle()
54e552c96d30 watch_queue: Add superblock notifications
bf3c50837506 drm/i915/query: Use struct_size() helper
b950460b2486 Merge branch 'for-5.9/selftests-cleanup' into for-next
3fd9bd8b7e41 selftests/livepatch: add test delimiter to dmesg
c401088f0f18 selftests/livepatch: refine dmesg 'taints' in dmesg comparison
2eeb0d457d13 selftests/livepatch: Don't clear dmesg when running tests
a23ff37b32c7 i2c: smbus: Fix spelling mistake in the comments
a5765124e697 Documentation/i2c: SMBus start signal is S not A
390fd0475af5 i2c: remove deprecated i2c_new_device API
bc5a3e44af7e Documentation: media: convert to use i2c_new_client_device()
9e1b93b9f624 video: backlight: tosa_lcd: convert to use i2c_new_client_device()
f04a5ba17525 x86/platform/intel-mid: convert to use i2c_new_client_device()
bb7d93fff62f drm: encoder_slave: use new I2C API
f78d4032de60 drm: encoder_slave: fix refcouting error for modules
f8f02d5c671f USB: OTG: rename product list of devices
19246d273e58 USB: storage: scsi: fix up comment to be more specific
c83a74ed5f22 USB: storage: fix wording in error message
66f092ed3b94 USB: serial: sierra: unify quirk handling logic
4a7375edf29c USB: serial: qcserial: fix up wording in a comment
8adbe334a150 USB: OHCI: remove obsolete FIXME comment
9af54301b643 USB: rename USB OTG hub configuration option
91c7eaa686c3 USB: rename USB quirk to USB_QUIRK_ENDPOINT_IGNORE
ba9e8a1a2c3e dma-mapping: DMA_COHERENT_POOL should select GENERIC_ALLOCATOR
3995ecbabc6f i40e: fix crash when Rx descriptor count is changed
b1d95cc2391f ice: protect ring accesses with WRITE_ONCE
d59e267912cd i40e: protect ring accesses with READ- and WRITE_ONCE
f140ad9fe2ae ixgbe: protect ring accesses with READ- and WRITE_ONCE
7cc373db7ec5 Merge branch 'cxgb4-add-support-to-read-write-flash'
17b332f48074 cxgb4: add support to read serial flash
d5002c9a3d5a cxgb4: add support to flash boot cfg image
550883558f17 cxgb4: add support to flash boot image
4ee339e1e92a cxgb4: add support to flash PHY image
3893c905b557 cxgb4: update set_flash to flash different images
0ad6f6e767ec net: increment xmit_recursion level in dev_direct_xmit()
0fb9fbab4053 Merge branch 'net-tso-expand-to-UDP-support'
3d5b459ba0e3 net: tso: add UDP segmentation support
761b331cb690 net: tso: cache transport header length
504b91215098 net: tso: constify tso_count_descs() and friends
185c3e586022 net: tso: shrink struct tso_t
9c77b803f263 net: tso: double TSO_HEADER_SIZE value
393415203f5c octeontx2-af: change (struct qmem)->entry_sz from u8 to u16
8dbe4c5d5e40 net: dsa: bcm_sf2: Fix node reference count
1b0554090061 Merge branch 'hns3-next'
c2a2e1270a57 net: hns3: streaming dma buffer sync between cpu and device
e99a308da3c1 net: hns3: replace disable_irq by IRQ_NOAUTOEN flag
4d2cad32127e net: hns3: rename buffer-related functions
cb0e3e611575 net: hns3: pointer type of buffer should be void
674a135746aa net: hns3: remove unnecessary devm_kfree
9f66a4557e93 mISDN: hfcsusb: Use struct_size() helper
c90834cd477a lan743x: allow mac address to come from dt
d8d8b23844d6 Merge branch 'r8169-smaller-improvements-again'
51f6291b040a r8169: allow setting irq coalescing if link is down
9f0b54cd1672 r8169: move switching optional clock on/off to pll power functions
a2ee847242b3 r8169: move updating counters to rtl8169_down
0c28a63a47bf r8169: move napi_disable call and rename rtl8169_hw_reset
7190aeece918 r8169: replace synchronize_rcu with synchronize_net
e9882208ae98 r8169: improve setting WoL on runtime-resume
27248d57c88a r8169: remove unused constant RsvdMask
a38b7fbfeaeb r8169: add info for DASH being enabled
eddbf5d0204e net: ethtool: add missing NETIF_F_GSO_FRAGLIST feature string
1260e772dd18 enetc: Use struct_size() helper in kzalloc()
aa56127d9ac5 rcu/trace: Use gp_seq_req in acceleration's
rcu_grace_period tracepoint
63222f379b92 rcu/trace: Print negative GP numbers correctly
3a2656a211ca tg3: driver sleeps indefinitely when EEH errors exceed
eeh_max_freezes
4c98045c9b74 bareudp: Fixed multiproto mode configuration
427d5838e996 net: napi: remove useless stack trace
e807fa3f602e Merge branch 's390-qeth-fixes'
8cebedb64383 s390/qeth: let isolation mode override HW offload restrictions
e2dfcfba00ba s390/qeth: fix error handling for isolation mode cmds
f3c7a6e0e515 Merge branch 'mptcp-cope-with-syncookie-on-MP_JOINs'
9e365ff576b7 mptcp: drop MP_JOIN request sock on syn cookies
8fd4de127558 mptcp: cache msk on MP_JOIN init_req
5eea3a63ff4a net: Fix the arp error in some cases
ad103e03bda7 Merge branch 'sja1105-fixes'
5182a6222dd0 net: dsa: sja1105: fix checks for VLAN state in gate action
c6ae970bcc8e net: dsa: sja1105: fix checks for VLAN state in redirect action
5b3b396c7767 net: dsa: sja1105: remove debugging code in sja1105_vl_gate
4e638025f256 net: stmmac: selftests: Use struct_size() helper in kzalloc()
b64ee4856c10 Merge branch 'act_gate-fixes'
c362a06e96ea net/sched: act_gate: fix configuration of the periodic timer
7024339a1cfa net/sched: act_gate: fix NULL dereference in tcf_gate_init()
ba61539c6ae5 ip_tunnel: fix use-after-free in ip_tunnel_lookup()
dafabb6590cb ip6_gre: fix use-after-free in ip6gre_tunnel_lookup()
fb7861d14c8d net: core: reduce recursion limit value
814152a89ed5 net: fix memleak in register_netdevice()
1a642ca7f389 net: ethernet: mvneta: Add 2500BaseX support for SoCs
without comphy
b4748553f53f net: ethernet: mvneta: Fix Serdes configuration for SoCs
without comphy
0e2c09011d4d RISC-V: Acquire mmap lock before invoking walk_page_range
d3fbd739fc8a fpga: Fix dead store in fpga-bridge.c
88aaab9218f8 fpga: Fix dead store fpga-mgr.c
e1d9ec3af346 fpga: dfl: Use struct_size() in kzalloc()
23f872b6ece6 fpga manager: xilinx-spi: remove unneeded, mistyped variables
d1ddca78f9f6 fpga manager: xilinx-spi: valid for the 7 Series too
9d08b9ecbb2c dt-bindings: fpga: xilinx-slave-serial: valid for the 7 Series too
55dc9b87e4a8 fpga: dfl: afu: convert get_user_pages() --> pin_user_pages()
e0d17c842c0f RISC-V: Don't allow write+exec only page mapping request in mmap
8a7a3d1d0dcf Merge tag 'amd-drm-fixes-5.8-2020-06-17' of
git://people.freedesktop.org/~agd5f/linux into drm-fixes
7ac98ff024db Merge tag 'drm-intel-fixes-2020-06-18' of
git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
4b409eb53473 rcutorture: Output number of elapsed grace periods
ec037e1f4380 rcu/segcblist: Prevent useless GP start if no CBs to accelerate
bac61e37848b riscv: Select ARCH_SUPPORTS_ATOMIC_RMW by default
7c7982cbadbb bpf: sk_storage: Prefer to get a free cache_idx
10011f7d95de ARCv2: support loop buffer (LPB) disabling
5e857ce6eae7 Merge branch 'hch' (maccess patches from Christoph Hellwig)
0c389d89abc2 maccess: make get_kernel_nofault() check for minimal type
compatibility
8c31055758bc doc: devicetree: bindings: fix spelling mistake
9e0dc7b9e1cb RDMA/mlx5: Fix integrity enabled QP creation
25f12ae45fc1 maccess: rename probe_kernel_address to get_kernel_nofault
2c0f5292d535 RDMA/mlx5: Remove ECE limitation from the RAW_PACKET QPs
d44335572f76 RDMA/mlx5: Fix remote gid value in query QP
6c41965d647a RDMA/mlx5: Don't access ib_qp fields in internal destroy QP path
d0793c3c6134 docs: dt: minor adjustments at writing-schema.rst
6cb69ea53479 dt: fix reference to olpc,xo1.75-ec.txt
9ac2a6615812 dt: Fix broken references to renamed docs
670d0a4b1070 sparse: use identifiers to define address spaces
5cd2182fdb70 Merge branch 'async-buffered.8' into for-next
ba3ea882d6f1 Merge branch 'for-5.9/block' into for-next
167babb0d405 nvme: use blk_mq_complete_request_remote to avoid an
indirect function call
421147be863b nvme-rdma: factor out a nvme_rdma_end_request helper
d0ee1358bbd2 blk-mq: add a new blk_mq_complete_request_remote API
c520d30b0903 blk-mq: factor out a blk_mq_complete_need_ipi helper
01abef68e38f blk-mq: remove the get_cpu/put_cpu pair in blk_mq_complete_request
616de37fe856 blk-mq: move failure injection out of blk_mq_complete_request
22fe8dc224df blk-mq: merge the softirq vs non-softirq IPI logic
18a445a209e3 blk-mq: short cut the IPI path in blk_mq_force_complete_rq for !SMP
ff356efeca41 blk-mq: complete polled requests directly
6f92ad84da8b rcu: Initialize at declaration time in rcu_exp_handler()
06096cc6c5a8 spi: spidev: fix a potential use-after-free in spidev_release()
abd42781c3d2 spi: spidev: fix a race between spidev_release and spidev_remove
d985becff25f dt: fix broken links due to txt->yaml renames
f2d94b86cdba dt: update a reference for reneases pcar file renamed to yaml
f141a422159a ASoC: rockchip: Fix a reference count leak.
3ad1d68c04bf io_uring: support true async buffered reads, if file provides it
ccfa58ab8ded mm: add kiocb_wait_page_queue_init() helper
ff6840fa8e80 ext4: flag as supporting buffered async reads
eb560f659552 btrfs: flag files as supporting buffered async reads
47939aa0d8d6 xfs: flag files as supporting buffered async reads
d6069ed47e19 block: flag block devices as supporting IOCB_WAITQ
18e3cae049f7 fs: add FMODE_BUF_RASYNC
c931a2087273 mm: support async buffered reads in generic_file_buffered_read()
2b884797ba86 mm: add support for async page locking
6ea69ad6b8ce mm: abstract out wake_page_match() from wake_page_function()
69484d4506bc mm: allow read-ahead with IOCB_NOWAIT set
0f4035179fdb io_uring: re-issue block requests that failed because of resources
3248c49f25a3 io_uring: catch -EIO from buffered issue request failure
5ff6c315bcc0 io_uring: always plug for any number of IOs
88682dd8b250 block: provide plug based way of signaling forced no-wait semantics
932257899d1f Merge branch 'for-5.9/io_uring' into async-buffered.7
664a8989ecfc Merge branch 'io_uring-5.8' into async-buffered.7
9debf3b0c3ac blk-mq: remove raise_blk_irq
3373a3461aa1 block: make function 'kill_bdev' static
f4bd34b139a3 loop: replace kill_bdev with invalidate_bdev
b5292111de9b libata: Use per port sync for detach
bc163c2046c5 partitions/ldm: Replace uuid_copy() with import_uuid()
where it makes sense
33504401a33c watch_queue: Introduce a non-repeating system-unique superblock ID
5341a8c5b745 watch_queue: sample: Display mount tree change notifications
adc241ad364a watch_queue: Implement mount topology and attribute
change notifications
5d7ba045107b blk-mq: factor out a helper to reise the block softirq
e5abe01f8381 blk-mq: merge blk-softirq.c into blk-mq.c
3d0c88d3776b Merge branch 'imx/dt64' into for-next
d8cde9772886 Merge branch 'imx/dt' into for-next
e353b325948d arm64: dts: imx8mm-beacon: Fix voltages on LDO1 and LDO2
3269c178b7a1 arm64: dts: ls1028a: add one more thermal zone support
6f2cc1664db2 io_uring: fix possible race condition against REQ_F_NEED_CLEANUP
6581adb275b9 watch_queue: Add security hooks to rule on setting mount
and sb watches
81c7462883b0 USB: replace hardcode maximum usb string length by definition
8c8cee0fea9d mtd: parsers: bcm63xx: simplify CFE detection
a68b9b567799 mtd: rawnand: brcmnand: ECC error handling on EDU transfers
88252ab21365 mtd: rawnand: brcmnand: Don't default to edu transfer
49ea06fa402a mtd: rawnand: qcom: set BAM mode only if not set already
d9bf62965ad5 mtd: rawnand: qcom: avoid write to unavailable register
d71d825ff912 mtd: rawnand: trivial spelling
7ca351a59494 mtd: rawnand: gpio: Get rid of the legacy interface implementation
3a86601defe2 mtd: rawnand: gpio: Implement exec_op()
18bebb2b1351 mtd: rawnand: gpio: Inherit from nand_controller
335e6e6d60e9 mtd: rawnand: fsl_upm: Get rid of the legacy interface
implementation
6fd201938f16 mtd: rawnand: fsl_upm: Implement exec_op()
f742d10d30fa mtd: rawnand: fsl_upm: Inherit from nand_controller
66dcdfe335e5 mtd: rawnand: fsl_upm: Use gpio descriptors
b86427e0aeff mtd: rawnand: fsl_upm: Use platform_get_resource() +
devm_ioremap_resource()
a3a8d85db90f mtd: rawnand: fsl_upm: Use devm_kasprintf() to allocate
the MTD name
ac886f186d9d mtd: rawnand: fsl_upm: Allocate the fsl_upm_nand object
using devm_kzalloc()
bb1ff912c42f mtd: rawnand: fsl_upm: Get rid of the unused
fsl_upm_nand.parts field
eb75d28b6b49 mtd: rawnand: fsl_upm: Remove unused mtd var
f9c4e50f27e5 mtd: rawnand: Allocate the interface configurations dynamically
cda37dbbf17a usb: xhci: fix spelling mistake in Kconfig "firwmare" -> "firmware"
4121fb0db68e RDMA/core: Check that type_attrs is not NULL prior access
3ec5f54f7a0f RDMA/hns: Fix an cmd queue issue when resetting
98a6151907cb RDMA/hns: Fix a calltrace when registering MR from userspace
6a1515c962b1 perf build: Fix error message when asking for
-fsanitize=address without required libraries
1b20d9491cf9 tools lib traceevent: Add handler for __builtin_expect()
74621d929d94 tools lib traceevent: Handle __attribute__((user)) in field names
27d4d336f287 tools lib traceevent: Add append() function helper for
appending strings
187dc605d288 Merge remote-tracking branch 'regulator/for-5.9' into
regulator-next
539afdf969d6 spi: spi-geni-qcom: No need for irqsave variant of spinlock calls
ab183d460daa RDMA/mlx5: Add missed RST2INIT and INIT2INIT steps during
ECE handshake
730c89124841 RDMA/cma: Protect bind_list and listen_list while finding
matching cm id
9ed84d24de48 regulator: max8997: Constify struct regulator_ops
b08af72d6e53 regulator: max8907: Constify static structs
b37f076d4bfd regulator: ltc3676: Constify ltc3676_regulators
bcf39c1eb1e0 regulator: cpcap: Constify cpcap_regulator_ops
cae62a937912 regulator: anatop: Constify anatop_core_rops
0dfbd5ecf28c RDMA/qedr: Fix KASAN: use-after-free in ucma_event_handler+0x532
0133654d8eb8 RDMA/efa: Set maximum pkeys device attribute
90a239ee25fa RDMA/rvt: Fix potential memory leak caused by rvt_alloc_rq
1ea7c546b8b3 RDMA/core: Annotate CMA unlock helper routine
59f7d71f35c1 m68k: mcfmmu: remove stale part of comment about steal_context
6a5ef3b224c6 drm/etnaviv: Simplify clock enable/disable
a59052d2749b drm/etnaviv: Make the "core" clock mandatory
f76fc5ff9a65 drm/etnaviv: Don't ignore errors on getting clocks
f8794feaf65c drm/etnaviv: Fix error path on failure to enable bus clk
ae9ff0c40457 m68knommu: fix overwriting of bits in ColdFire V3 cache control
64d8a534aa90 m68k: fix ColdFire mmu init compile warning
86824e60b0b1 drm/etnaviv: convert get_user_pages() --> pin_user_pages()
3499f9ad5d78 ASoC: amd: Removing unnecessary instance initialization
9f7041b71a2f ASoC: amd: closing specific instance.
c9e272f9e03d ALSA: hda: Let LED cdev handling suspend/resume
766538ac4af8 ALSA: hda/realtek: Unify LED helper code
d1d37c572cf0 ALSA: hda/sigmatel: Use the new vmaster mute LED helper
929f718cb390 ALSA: hda/conexant: Use the new vmaster mute LED helper
8d3d1ece3118 ALSA: hda/realtek: Use the new vmaster mute LED helper
15509b634472 ALSA: hda: generic: Add vmaster mute LED helper
fe1a162191a5 ALSA: hda: generic: Drop the old mic-mute LED hook
5fc0f6930035 ALSA: hda: generic: Drop unused snd_hda_gen_fixup_micmute_led()
23a2b46966bd ALSA: hda/sigmatel: Convert to cdev-variant of mic-mute
LED controls
e65a2caf3b05 ALSA: hda/conexant: Convert to cdev-variant of mic-mute
LED controls
8a503555be46 ALSA: hda/realtek: Convert to cdev-variant of mic-mute LED controls
7cdf8c49b1df ALSA: hda: generic: Add a helper for mic-mute LED with LED classdev
bf61c42a446f ALSA: hda: generic: Always call led-trigger for mic mute LED
46605a271114 Bluetooth: mgmt: Use command complete on success for set
system config
76b139965575 Bluetooth: Terminate the link if pairing is cancelled
8208f5a9d435 Bluetooth: Update background scan and report device based
on advertisement monitors
cdde92e23071 Bluetooth: Notify adv monitor removed event
b52729f27b1e Bluetooth: Notify adv monitor added event
bd2fbc6cb815 Bluetooth: Add handler of MGMT_OP_REMOVE_ADV_MONITOR
b139553db5cd Bluetooth: Add handler of MGMT_OP_ADD_ADV_PATTERNS_MONITOR
e5e1e7fd470c Bluetooth: Add handler of MGMT_OP_READ_ADV_MONITOR_FEATURES
7fceb17c6b48 Bluetooth: Add definitions for advertisement monitor features
4c54bf2b093b Bluetooth: Add get/set device flags mgmt op
a1fc7535ec34 Bluetooth: Replace wakeable in hci_conn_params
7a92906f841d Bluetooth: Replace wakeable list with flag
8baaa4038edb Bluetooth: Add bdaddr_list_with_flags for classic whitelist
aececa645dc7 Bluetooth: mgmt: Add commands for runtime configuration
24ebec25fb27 arm64: hw_breakpoint: Don't invoke overflow handler on
uaccess watchpoints
bf508ec95ca3 arm64: kexec_file: Use struct_size() in kmalloc()
c8fa5b7c7a7e drm/bridge: ti-sn65dsi86: Check the regmap return value
when setting a GPIO
c42fb724cdf6 drm/bridge: ti-sn65dsi86: Fix kernel-doc typo ln_polr => ln_polrs
f4946b0a3715 drm/bridge: ti-sn65dsi86: Don't use kernel-doc comment
for local array
9e4f35831392 drm/bridge: ti-sn65dsi86: Don't compile GPIO bits if not
CONFIG_OF_GPIO
618e07865b74 arm64: mm: reserve hugetlb CMA after numa_init
e63adeccc0bb drm/panfrost: Reduce the amount of logs on deferred probe
302c570bf36e usb: typec: tcpci_rt1711h: avoid screaming irq causing boot hangs
07c112fb09c8 USB: ohci-sm501: Add missed iounmap() in remove
03894573f291 cdc-acm: Add DISABLE_ECHO quirk for Microchip/SMSC chip
1ddcb71a3edf USB: ehci: reopen solution for Synopsys HC bug
28ebeb8db770 usb: usbtest: fix missing kfree(dev->buf) in usbtest_disconnect
207324a321a8 usb: dwc2: Postponed gadget registration to the udc class driver
5d8021923e8a usb: add USB_QUIRK_DELAY_INIT for Logitech C922
44ed240d6273 usb: host: ehci-exynos: Fix error check in exynos_ehci_probe()
130206a88683 usb: typec: mux: intel_pmc_mux: Fix DP alternate mode entry
3d19946b509c Documentation: ABI: usb: chipidea: Update Li Jun's e-mail
e9ec6cc74e0a USB: sisusbvga: change char to u8 for sisusb_copy_memory
810b7ee3008a drm/i915/gt: Always report the sample time for busy-stats
1b90e4a43b74 drm/i915/selftests: Enable selftesting of busy-stats
41ecdcfce177 usb: xhci: tegra: Remove PLL power supplies
153de2d66e53 usb: sisusb_con: Use array_size() helper in memcpy()
9ffcc3053f3b usb: gadget: u_serial.h: increase MAX_U_SERIAL_PORTS to 8
07d9878fa18f usb: dwc2: use well defined macros for power_down
9f3aedbe98fe drivers: usb: Fix trivial spelling
03cc8353c224 USB: core: additional Device Classes to debug/usb/devices
d50313a5a0d8 ALSA: hda: Intel: add missing PCI IDs for ICL-H, TGL-H and EKL
9bea6eb3f59c staging:rtl8712: avoid skb_clone after skb allocation fail
9e43eed45a48 staging: rts5208: Use array_size() helper in vmalloc() and memset()
21b1f2b3fb2e staging:r8723bs: remove wrappers around skb_clone() and
remove unnecessary in_interrupt() call
aeb4ac7916ce staging: vc04_services: Convert get_user_pages*() -->
pin_user_pages*()
c5a3b1db6af2 staging: qlge: qlge_main.c: fixed spaces coding style issues
6655a352aca1 staging: comedi: fix up missing whitespace in comment
76cd0c7cc20f Staging: comedi: Added blank lines to fix coding style issue
5631feed3932 staging: gasket: Convert get_user_pages*() --> pin_user_pages*()
774911290c58 KVM: s390: reduce number of IO pins to 1
a05b1c150f5b crypto: octeontx - Fix sparse warnings
cfb12c8952f6 arm64: dts: imx8mn-ddr4-evk: correct ldo1/ldo2 voltage range
4fd6b5735c03 arm64: dts: imx8mm-evk: correct ldo1/ldo2 voltage range
6570a35c903a ARM: dts: ls1021a: output PPS signal on FIPER2
864c2d57d691 crypto: caam - Fix argument type in handle_imx6_err005766
a79d471c6510 crypto: qat - update timeout logic in put admin msg
e4e245ad031f crypto: qat - send admin messages to set of AEs
624e62ccb20b crypto: qat - update fw init admin msg
c31b4adee161 crypto: caam/qi2 - remove redundant assignment to ret
29195232fa2f crc-t10dif: clean up some more things
be924e0aaa31 crc-t10dif: use fallback in initial state
57b1aac1b426 crypto: hisilicon - update SEC driver module parameter
3906f640224d crc-t10dif: Fix potential crypto notify dead-lock
07b048f41ac1 crypto: qat - remove packed attribute in etr structs
59c14e5e0174 crypto: qat - replace user types with kernel ABI __u types
2bfd22766d00 crypto: qat - replace user types with kernel u types
060ce5037d5f crypto: caam/qi2 - add support for dpseci_reset()
7f94adf218d8 crypto: hisilicon - allow smaller reads in debugfs
58e5b0157e58 crypto: caam - add clock info for VFxxx SoCs
0289e9be5dc2 hwrng: ba431 - add support for BA431 hwrng
50f362b2d9c4 dt-bindings: rng: document Silex Insight BA431 hwrng
f3c802a1f300 crypto: algif_aead - Only wake up when ctx->more is zero
1532e31f5098 crypto: qat - convert to SPDX License Identifiers
e04ec0de61c1 padata: upgrade smp_mb__after_atomic to smp_mb in padata_do_serial
34c86f4c4a7b crypto: af_alg - fix use-after-free in af_alg_accept()
due to bh_lock_sock()
8cbe23e1c79f dma-direct: add missing set_memory_decrypted() for coherent mapping
73bea31ca345 ARM: dts: imx: Make tempmon node as child of anatop node
ac4af2b12bbe arm64: dts: imx8mp: add i2c aliases
83ae2848520a arm64: dts: imx8mm: sort the aliases
614d88460f28 arm64: dts: imx8mq: Add ethernet alias
e9a8d99639c9 arm64: dts: imx8mq: Add mmc aliases
fe35ec58f0d3 block: update hctx map when use multiple maps
078e8f8ce8ad drm/msm: Fix setup of a6xx create_address_space.
f167989c6730 drm/msm: Fix address space size after refactor.
2cb3e01520e4 lib/test_vmalloc.c: Add test cases for kvfree_rcu()
b2a2c3f78b55 rcu: Introduce single argument kvfree_rcu() interface
a394911f0fa4 rcu: Support reclaim for head-less object
eb9561f9a367 rcu: Introduce 2 arg kvfree_rcu() interface
8ee5ce3426c9 mm/list_lru.c: Rename kvfree_rcu() to local variant
a7f3c5cbe4df rcu: Rename *_kfree_callback/*_kfree_rcu_offset/kfree_call_*
3755bf77c2a9 rcu/tiny: support vmalloc in tiny-RCU
51884dd51f97 rcu/tree: Maintain separate array for vmalloc ptrs
9f48bd767285 rcu/tree: cache specified number of objects
04e5111a0192 rcu/tree: Use static initializer for krc.lock
f62263565dce rcu/tree: Move kfree_rcu_cpu locking/unlocking to
separate functions
0454c261e73a rcu/tree: Simplify KFREE_BULK_MAX_ENTR macro
2818bcaef7a4 rcu/tree: Make debug_objects logic independent of rcu_head
f8e588e456eb rcu/tree: Repeat the monitor if any free channel is busy
b58846d8eae3 rcu/tree: Skip entry into the page allocator for PREEMPT_RT
a6307c6dbb98 rcu/tree: Keep kfree_rcu() awake during lock contention
327eccdcae99 Merge branch 'lkmm-dev.2020.06.17a' into HEAD
9927fdba2116 Merge branch 'kcsan.2020.06.17a' into HEAD
e3be8c671913 Merge branches 'doc.2020.06.17a', 'fixes.2020.06.17a',
'rcu-tasks.2020.06.17a', 'scale.2020.06.17a', 'srcu.2020.06.17a' and
'torture.2020.06.17a' into HEAD
bb278b149df9 of: property: Improve cycle detection when one of the
devices is never added
7d34ca385484 driver core: Add device_is_dependent() to linux/device.h
41dc09d5d550 tools/memory-model: Use "-unroll 0" to keep --hw runs finite
a60a604d7688 tools/memory-model: Make judgelitmus.sh handle scripted Result: tag
bc022201a9f2 tools/memory-model: Add data-race capabilities to judgelitmus.sh
7640c77493b6 tools/memory-model: Add checktheselitmus.sh to run
specified litmus tests
64c209d9bab6 tools/memory-model: Repair parseargs.sh header comment
51b9091ee96c tools/memory-model:  Add "--" to parseargs.sh for
additional arguments
a65ae0799a79 tools/memory-model: Make history-check scripts use mselect7
22418f4f3d10 tools/memory-model: Make checkghlitmus.sh use mselect7
c1b0315a8ca4 tools/memory-model: Fix scripting --jobs argument
c8b997dd1eb3 tools/memory-model: Implement --hw support for checkghlitmus.sh
62f443f56e49 tools/memory-model: Add -v flag to jingle7 runs
49616ee4dc6a tools/memory-model: Make runlitmus.sh check for jingle errors
78809348c99a tools/memory-model: Allow herd to deduce CPU type
d7c6a911fe83 tools/memory-model: Keep assembly-language litmus tests
3676e1741c34 tools/memory-model: Move from .AArch64.litmus.out to
.litmus.AArch.out
2adb517530a3 tools/memory-model: Make runlitmus.sh generate .litmus.out for --hw
00c0ec6b7a0f tools/memory-model: Split runlitmus.sh out of checklitmus.sh
ef8f4106a8b5 tools/memory-model: Make judgelitmus.sh ransack .litmus.out files
b52578d28093 tools/memory-model: Hardware checking for check{,all}litmus.sh
916c593db5ae tools/memory-model: Fix checkalllitmus.sh comment
555fe0e6e998 tools/memory-model: Add simpletest.sh to check locking,
RCU, and SRCU
09525708ec82 tools/memory-model: Make judgelitmus.sh handle hardware
verifications
acbdc02c044f tools/memory-model: Update parseargs.sh for hardware verification
dc1d97a946cb tools/memory-model: Fix paulmck email address on
pre-existing scripts
2542b6bcbd79 tools/memory-model: Make judgelitmus.sh detect hard deadlocks
d829b6b14e78 tools/memory-model: Make judgelitmus.sh identify bad macros
de77fd85c357 tools/memory-model: Make cmplitmushist.sh note timeouts
a6970096437e tools/memory-model: Make judgelitmus.sh note timeouts
3ce5d6935aa2 docs: fix references for DMA*.txt files
843285eb827a tools/memory-model/README: Expand dependency of klitmus7
550b7d13af3e rcutorture: Remove KCSAN stubs
93e04a507eec torture: Remove obsolete "cd $KVM"
94f92c4a0097 torture: Avoid duplicate specification of qemu command
64c791abe2b9 torture: Dump ftrace at shutdown only if requested
6d3f9f3256a7 torture: Add kvm-tranform.sh script for qemu-cmd files
bc79ea1b5694 torture: Add more tracing crib notes to kvm.sh
8be5dd6af55a torture: Improve diagnostic for KCSAN-incapable compilers
02b117daf475 torture: Correctly summarize build-only runs
8ff933eaa217 torture: Pass --kmake-arg to all make invocations
1ca9d04259e8 rcutorture: Check for unwatched readers
f4e87d572574 torture: Abstract out console-log error detection
fa2a01ff473a torture: Add a stop-run capability
9c862fafccd3 torture: Create qemu-cmd in --buildonly runs
0765aaf29ce7 rcu/rcutorture: Replace 0 with false
4f7a65305a42 torture: Add --allcpus argument to the kvm.sh script
09fb5034d5fb torture: Remove whitespace from identify_qemu_vcpus output
4a5ff638eb41 rcutorture: NULL rcu_torture_current earlier in cleanup code
eaf27166c7e5 rcutorture: Handle non-statistic bang-string error messages
92d02fc40433 torture: Set configfile variable to current scenario
33abf0d3f43d rcutorture: Add races with task-exit processing
e9d42e68bf02 locktorture: Use true and false to assign to bool variables
3dd1499666f6 ethtool: ioctl: Use array_size() in copy_to_user()
4a0cd2e323d8 srcu: Remove KCSAN stubs
a6964752eb2b srcu: Avoid local_irq_save() before acquiring spinlock_t
2b6a37db3bcb srcu: Fix a typo in comment "amoritized"->"amortized"
682591f7a6fa liquidio: Replace vmalloc_node + memset with vzalloc_node
and use array_size
6d719a4864fc refscale: Change --torture type from refperf to refscale
b8b61eb95e3f refperf: Rename refperf.c to refscale.c and change internal names
d4b1ec7956f0 refperf: Rename RCU_REF_PERF_TEST to RCU_REF_SCALE_TEST
bbf1e8d66d2f rcu-tasks: Fix synchronize_rcu_tasks_trace() header comment
a7f7a049ff6f refperf: Add test for RCU Tasks readers
15d40055d342 refperf: Add test for RCU Tasks Trace readers.
e97f71b32709 refperf: Change readdelay module parameter to nanoseconds
638d69e56cdf refperf: Work around 64-bit division
7ab8cfca06f3 doc: Document rcuperf's module parameters
04ba56b6e63c refperf: Adjust refperf.loop default value
3ad14b97ade0 refperf: Add read-side delay module parameter
f6c26de97947 refperf: Simplify initialization-time wakeup protocol
8bfaef2c77ba refperf: Output per-experiment data points
1492646840af refperf: Label experiment-number column "Runs"
c1c4d8be6942 refperf: Add warmup and cooldown processing phases
7b8dad0dddb3 refperf: More closely synchronize reader start times
cc4d488e5fca refperf: Convert reader_task structure's "start" field to int
9bb101ac9c9b refperf: Tune reader measurement interval
72f959e674bc refperf: Make functions static
ead9fc73a226 refperf: Dynamically allocate thread-summary output buffer
56fb0732ce45 refperf: Dynamically allocate experiment-summary output buffer
3f0891201f2a refperf: Provide module parameter to specify number of experiments
6c662985be1b refperf: Convert nreaders to a module parameter
7d20b627596f refperf: Allow decimal nanoseconds
72579919359d refperf: Hoist function-pointer calls out of the loop
5a54ea3f7d92 refperf: Add holdoff parameter to allow CPUs to come online
4510145fb878 torture: Add refperf to the rcutorture scripting
1614db175873 rcuperf: Add comments explaining the high reader overhead
fab9fb9f4d8d refperf: Add a test to measure performance of read-side
synchronization
70efb934a76e rcuperf: Remove useless while loops around wait_event
e41382bd5107 rcu-tasks: Fix code-style issues
4ecebd3ea773 rcu-tasks: Conditionally compile show_rcu_tasks_gp_kthreads()
2004c180105d rcu-tasks: Add #include of rcupdate_trace.h to update.c
7f479bbe63f8 rcu-tasks: Make rcu_tasks_postscan() be static
83e10b910201 rcu-tasks: Convert sleeps to idle priority
de496e26415d kcsan: Add jiffies test to test suite
80f5560ccc05 kcsan: Remove existing special atomic rules
83002756de46 kcsan: Rename test.c to selftest.c
9b8ba3fb6f8c kcsan: Silence -Wmissing-prototypes warning with W=1
f6cba5a8e965 kcsan: Prefer '__no_kcsan inline' in test
c73794e6e48f locking/osq_lock: Annotate a data race in osq_lock
0b0f96c05dfb kcsan: Add test suite
6bd7285f0c03 rculist: Add ASSERT_EXCLUSIVE_ACCESS() to __list_splice_init_rcu()
02c28dffb13a rxrpc: Fix afs large storage transmission performance drop
d6d3cb7231bc x86/mm/pat: Mark an intentional data race
31856ae7a0e1 fork: Annotate a data race in vm_area_dup()
a2ad7c21ad8c rxrpc: Fix handling of rwind from an ACK packet
9e08b68a5d1e rcu: Remove KCSAN stubs from update.c
3012ff1b1773 rcu: Remove KCSAN stubs
4390df0a794c rcu: fix some kernel-doc warnings
9b51f41ca0b5 kernel/rcu/tree.c: Fix kernel-doc warnings
088e85fc00cf rcu: grpnum just records group number
a4640dd513c5 rcu: grplo/grphi just records CPU number
51c8555ad7e6 rcu: gp_max is protected by root rcu_node's lock
f11b8485a3dc rcu: Stop shrinker loop
af40ece9bbc6 rcu: Replace 1 with true
4b579d04ab49 lockdep: Complain only once about RCU in extended quiescent state
549131f773f4 rcu: Mark rcu_nmi_enter() call to rcu_cleanup_after_idle() noinstr
70f3526e133b rcu: Remove initialized but unused rnp from check_slow_task()
7e6ff5858e84 rcu: fix some kernel-doc warnings
d0a53566a27e tick/nohz: Narrow down noise while setting current task's
tick dependency
465b9b1eba54 rcu: Update comment from rsp->rcu_gp_seq to rsp->gp_seq
c227b81f5f20 fs/btrfs: Add cond_resched() for
try_release_extent_mapping() stalls
8ee246bb7b87 rcu: Expedited grace-period sleeps to idle priority
fbc7ea1d91b5 rcu: No-CBs-related sleeps to idle priority
c2c8583c0e46 rcu: Priority-boost-related sleeps to idle priority
e11c6510c5c1 rcu: Grace-period-kthread related sleeps to idle priority
9f6487aaf591 trace: events: rcu: Change description of rcu_dyntick trace event
aadf9dcef9d4 rxrpc: Fix trace string
da9cebe16930 drm/amdgpu: fix documentation around busy_percentage
7386f5c9c808 drm/amdgpu/pm: update comment to clarify Overdrive interfaces
99c7b3094727 drm/amdkfd: Use correct major in devcgroup check
915b86431c64 seccomp: Fix ioctl number for SECCOMP_IOCTL_NOTIF_ID_VALID
09ba8837fc28 selftests/seccomp: Rename user_trap_syscall() to
user_notif_syscall()
b0b8f817ec53 selftests/seccomp: Make kcmp() less required
0c82b71446da seccomp: Use pr_fmt
c0bdf5128016 selftests/seccomp: Improve calibration loop
0efde377f003 selftests/seccomp: use 90s as timeout
0e3e72d68112 selftests/seccomp: Expand benchmark to per-filter measurements
e46ac071ac5d selftests/seccomp: Check for EPOLLHUP for user_notif
5371becee3ad seccomp: notify about unused filter
31cf8f693241 seccomp: Lift wait_queue into struct seccomp_filter
7bc54c47e53c seccomp: release filter after task is fully dead
2b7c624061f4 seccomp: rename "usage" to "refs" and document
9a681a3bb4b2 seccomp: Add find_notification helper
026bb845b0ff ftrace: Fix maybe-uninitialized compiler warning
a0cd0eba4d2d rcu: Add comment documenting rcu_callback_map's purpose
eb7b7ae6650b rcu: Add callbacks-invoked counters
6a4c210e134b rcu: Simplify the calculation of rcu_state.ncpus
c0f9239b9b14 mm/mmap.c: Add cond_resched() for exit_mmap() CPU stalls
5f210a50c8f8 rcu: Initialize and destroy rcu_synchronize only when necessary
501bae2df020 doc: Tasks RCU must protect instructions before trampoline
cc0dfc3719fa doc: Timer problems can cause RCU CPU stall warnings
52f7a1f294c1 docs: RCU: Don't duplicate chapter names in rculist_nulls.rst
6c3a3cbb8266 docs: RCU: Convert stallwarn.txt to ReST
a936e47dcb6e docs: RCU: Convert rcuref.txt to ReST
2365cc9d3a3f docs: RCU: Convert torture.txt to ReST
69da1f0d776a docs: RCU: Convert rculist_nulls.txt to ReST
85dd56aa8e4d docs: RCU: Convert lockdep.txt to ReST
c483ddc8bbe8 docs: RCU: Convert lockdep-splat.txt to ReST
256c0302cc4d docs: RCU: Convert checklist.txt to ReST
a5f610c0fa7e ASoC: Intel: broadwell: simplify card names for SOF uses
7bfbddfc9841 ASoC: Intel: cht*: simplify card names for SOF uses
b4ecd58b01fb ASoC: Intel: byt*: simplify card names for SOF uses
c0ee37e85e0e maccess: rename probe_user_{read,write} to
copy_{from,to}_user_nofault
fe557319aa06 maccess: rename probe_kernel_{read,write} to
copy_{from,to}_kernel_nofault
0e093c77c5b0 tools headers UAPI: Sync linux/fs.h with the kernel sources
f64925c1ebac tools include UAPI: Sync linux/vhost.h with the kernel sources
25ca7e5c0b03 tools arch x86: Sync the msr-index.h copy with the kernel sources
08a7c7772b4d Merge remote-tracking branch 'torvalds/master' into perf/urgent
b13b04d93821 perf script: Initialize zstd_data
cad2929dc432 tipc: update a binding service via broadcast
c3dbe541ef77 blktrace: Avoid sparse warnings when assigning q->blk_trace
1b0b28364816 blktrace: break out of blktrace setup on concurrent calls
0ff0fc97d307 drm/i915/selftests: fix spelling mistake "submited" -> "submitted"
5414251aa2e2 tools/bootconfig: Add testcase for show-command and quotes test
f91cb5b7476a tools/bootconfig: Fix to return 0 if succeeded to show
the bootconfig
272da3279df1 tools/bootconfig: Fix to use correct quotes for value
4e264ffd9534 proc/bootconfig: Fix to use correct quotes for value
69243720c093 tracing: Remove unused event variable in tracing_iter_reset
3aa8fdc37d16 tracing/probe: Fix memleak in fetch_op_data operations
48a42f5d1384 trace: Fix typo in allocate_ftrace_ops()'s comment
4649079b9de1 tracing: Make ftrace packed events have align of 1
9fbc01cdba66 sample-trace-array: Remove trace_array 'sample-instance'
e9b7b1c0c103 sample-trace-array: Fix sleeping function called from
invalid context
9b38cc704e84 kretprobe: Prevent triggering kretprobe from within
kprobe_flush_task
75ddf64dd276 kprobes: Remove redundant arch_disarm_kprobe() call
1a0aa991a627 kprobes: Fix to protect kick_kprobe_optimizer() by kprobe_mutex
7e6a71d8e601 kprobes: Use non RCU traversal APIs on kprobe_tables if possible
6743ad432ec9 kprobes: Suppress the suspicious RCU warning on kprobes
4ef57b21d6fb recordmcount: support >64k sections
2d3a8e2dedde block: Fix use-after-free in blkdev_get()
36cebead9f47 arm64: dts: imx8mq: enable Hantro G1/G2 VPU
65461e26b1fe interconnect: Allow inter-provider pairs to be configured
0259a41da323 interconnect: Relax requirement in of_icc_get_from_provider()
8a307d3601bc interconnect: Export of_icc_get_from_provider()
f46fe79ff1b6 pinctrl-single: fix pcs_parse_pinconf() return value
5bcc066c0590 trace/events/block.h: drop kernel-doc for dropped
function parameter
9192ec55e1c8 f2fs: Eliminate usage of uninitialized_var() macro
6348b895be85 media: sur40: Remove uninitialized_var() usage
e3a830641614 KVM: PPC: Book3S PR: Remove uninitialized_var() usage
e79607b93990 clk: spear: Remove uninitialized_var() usage
f7ec2e10aea2 spi: davinci: Remove uninitialized_var() usage
75896ee8d499 clk: st: Remove uninitialized_var() usage
a7635810c7bc ide: Remove uninitialized_var() usage
d465e49a0ffe rtlwifi: rtl8192cu: Remove uninitialized_var() usage
47f7d94c84c7 b43: Remove uninitialized_var() usage
63c3f24440a1 drbd: Remove uninitialized_var() usage
f9e4da0b87fb x86/mm/numa: Remove uninitialized_var() usage
032e6f262cea docs: deprecated.rst: Add uninitialized_var()
6769b275a313 RDMA/siw: Fix pointer-to-int-cast warning in siw_rx_pbl()
0dc63bbee0fa RDMA/hfi1: Fix trivial mis-spelling of 'descriptor'
4f5747cf8e59 RDMA/mlx5: Fix -Wformat warning in check_ucmd_data()
a8a5e383cf41 blk-mq: Remove redundant 'return' statement
2ef5612391f0 RDMA/mlx5: Remove duplicated assignment to resp.response_length
9909bc43a2e2 dt-bindings: MIPS: Document Ingenic SoCs binding.
92314d84b67f torture: Add script to smoke-test commits in a branch
d838f25ee7b6 torture:  Remove qemu dependency on EFI firmware
a08ae995e32f Documentation/litmus-tests: Cite an RCU litmus test
ffd32d4b7ee9 Documentation/litmus-tests: Merge atomic's README into
top-level one
116f054e2939 tools/memory-model: Fix reference to litmus test in recipes.txt
7eecf763778e Documentation/litmus-tests/atomic: Add a test for
smp_mb__after_atomic()
d059e5059004 Documentation/litmus-tests/atomic: Add a test for atomic_set()
dc762571b9eb Documentation/litmus-tests: Introduce atomic directory
05bee9a04c89 tools/memory-model: Add an exception for limitations on
_unless() family
bb2c9387b73c MAINTAINERS: Update maintainers for new Documentation/litmus-tests
47ec95b12107 Documentation: LKMM: Add litmus test for RCU GP guarantee
where reader stores
24dca63e6145 Documentation: LKMM: Add litmus test for RCU GP guarantee
where updater frees object
be1ce3e46670 tools/memory-model: Fix "conflict" definition
ac1a749d92dc tools/memory-model: Add recent references
4b25bbf52a55 bcache: pr_info() format clean up in bcache_device_init()
ee4a36f41461 bcache: use delayed kworker fo asynchronous devices registration
dcacbc1242c7 bcache: check and adjust logical block size for backing devices
be23e837333a bcache: fix potential deadlock problem in btree_gc_coalesce
9ec051bf4470 drm/amd/display: Rework dsc to isolate FPU operations
790243d3bf78 drm/amdgpu: Replace invalid device ID with a valid device ID
43a562774fce drm/amd/display: Use kfree() to free rgb_user in
calculate_user_regamma_ramp()
81921a828b94 drm/amd/display: Use kvfree() to free coeff in build_regamma()
85d0f9ad8212 perf pmu: Remove unused declaration
ffaecd7d1f88 perf parse-events: Fix an old style declaration
c2412fae3f01 perf parse-events: Fix an incompatible pointer
d38c692f160e perf bpf: Fix bpf prologue generation
9256c3031eb9 perf probe: Fix user attribute access in kprobes
c0c652fc705d perf stat: Fix NULL pointer dereference
11b6e5482e17 perf report: Fix NULL pointer dereference in
hists__fprintf_nr_sample_events()
dd76c302955d tools headers UAPI: Sync kvm.h headers with the kernel sources
377cb673cf35 tools headers UAPI: Sync drm/i915_drm.h with the kernel sources
d8e1ef67722b tools headers UAPI: Sync linux/fscrypt.h with the kernel sources
5d33cbfedb51 perf beauty: Add support to STATX_MNT_ID in the 'statx'
syscall 'mask' argument
93dc627f4801 tools headers uapi: Sync linux/stat.h with the kernel sources
7e579f3a074c tools arch x86 uapi: Synch asm/unistd.h with the kernel sources
6c3c184fc420 tools headers API: Update faccessat2 affected files
f650ef61e040 ata/libata: Fix usage of page address by page_address in
ata_scsi_mode_select_xlat function
eea123886720 sata_rcar: handle pm_runtime_get_sync failure cases


- Naresh


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: BUG: Bad page state in process - page dumped because: page still charged to cgroup
  2020-07-01  8:29 ` Michal Hocko
  2020-07-01 12:31     ` Naresh Kamboju
@ 2020-07-01 18:45   ` Roman Gushchin
  2020-07-02  6:19     ` Michal Hocko
                       ` (3 more replies)
  1 sibling, 4 replies; 22+ messages in thread
From: Roman Gushchin @ 2020-07-01 18:45 UTC (permalink / raw)
  To: Michal Hocko
  Cc: Naresh Kamboju, Shakeel Butt, Johannes Weiner, Andrew Morton,
	linux-mm, open list, lkft-triage, Chris Down

On Wed, Jul 01, 2020 at 10:29:04AM +0200, Michal Hocko wrote:
> Smells like a different observable problem with the same/similar culprit
> as http://lkml.kernel.org/r/CA+G9fYtrgF_EZHi0vi+HyWiXT5LGggDhVXtNspc=OzzFhL=xRQ@mail.gmail.com
> 
> On Wed 01-07-20 13:48:57, Naresh Kamboju wrote:
> > While running LTP mm test suite on x86_64 device the BUG: Bad page
> > state in process
> > noticed on linux-next 20200630 tag.
> > 
> > Steps to reproduce:
> > - boot linux-next 20200630 kernel on x86_64 device
> > - cd /opt/ltp
> > - ./runltp -f mm
> > 
> > metadata:
> >   git branch: master
> >   git repo: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> >   git commit: f2b92b14533e646e434523abdbafddb727c23898
> >   git describe: next-20200630
> >   kernel-config:
> > https://urldefense.proofpoint.com/v2/url?u=https-3A__builds.tuxbuild.com_j60yrp7CUpq3LCmqMB8Wdg_kernel.config&d=DwIBAg&c=5VD0RTtNlTh3ycd41b3MUw&r=jJYgtDM7QT-W-Fz_d29HYQ&m=h_KJ0e7abuh0BK2eDlDmWnAxqHPccpqchPgBS-oJcVE&s=qofg2XRToTeHvi8vSdOvDPtKpJsUqf3IWfqwieZqITg&e= 
> > 
> > Test crash dump:
> > [  803.905169] Node 0 Normal: 2608*4kB (UMEH) 1380*8kB (UMEH) 64*16kB
> > (MEH) 28*32kB (MEH) 13*64kB (UMEH) 164*128kB (UMEH) 39*256kB (UE)
> > 1*512kB (M) 1*1024kB (M) 1*2048kB (M) 1*4096kB (M) = 62880kB
> > [  803.922375] Node 0 hugepages_total=0 hugepages_free=0
> > hugepages_surp=0 hugepages_size=2048kB
> > [  803.930806] 2418 total pagecache pages
> > [  803.934559] 0 pages in swap cache
> > [  803.937878] Swap cache stats: add 0, delete 0, find 0/0
> > [  803.943108] Free swap  = 0kB
> > [  803.945997] Total swap = 0kB
> > [  803.948885] 4181245 pages RAM
> > [  803.951857] 0 pages HighMem/MovableOnly
> > [  803.955695] 626062 pages reserved
> > [  803.959016] Tasks state (memory values in pages):
> > [  803.963722] [  pid  ]   uid  tgid total_vm      rss pgtables_bytes
> > swapents oom_score_adj name
> > [  803.972336] [    332]     0   332     8529      507   106496
> > 0             0 systemd-journal
> > [  803.981387] [    349]     0   349    10730      508   118784
> > 0         -1000 systemd-udevd
> > [  803.990262] [    371]   993   371     8666      108   118784
> > 0             0 systemd-network
> > [  803.999306] [    379]   992   379     9529       99   110592
> > 0             0 systemd-resolve
> > [  804.008347] [    388]     0   388     2112       19    61440
> > 0             0 syslogd
> > [  804.016709] [    389]   995   389     9308      108   122880
> > 0             0 avahi-daemon
> > [  804.025517] [    391]     0   391     1075       21    57344
> > 0             0 acpid
> > [  804.033695] [    394]   995   394     9277       68   114688
> > 0             0 avahi-daemon
> > [  804.042476] [    396]   996   396     7241      154   102400
> > 0          -900 dbus-daemon
> > [  804.051170] [    397]     0   397     2313       72    65536
> > 0             0 crond
> > [  804.059349] [    399]     0   399    34025      161   167936
> > 0             0 thermald
> > [  804.067783] [    400]     0   400     8615      115   110592
> > 0             0 systemd-logind
> > [  804.076734] [    401]     0   401     2112       32    57344
> > 0             0 klogd
> > [  804.084907] [    449] 65534   449     3245       39    69632
> > 0             0 dnsmasq
> > [  804.093254] [    450]     0   450     3187       33    73728
> > 0             0 agetty
> > [  804.101541] [    452]     0   452     3187       33    73728
> > 0             0 agetty
> > [  804.109826] [    453]     0   453    14707      107   159744
> > 0             0 login
> > [  804.118007] [    463]     0   463     9532      163   122880
> > 0             0 systemd
> > [  804.126362] [    464]     0   464    16132      424   172032
> > 0             0 (sd-pam)
> > [  804.134803] [    468]     0   468     4538      105    81920
> > 0             0 sh
> > [  804.142741] [    472]     0   472    11102       83   131072
> > 0             0 su
> > [  804.150680] [    473]     0   473     4538       99    81920
> > 0             0 sh
> > [  804.158637] [    519]     0   519     2396       57    61440
> > 0             0 lava-test-runne
> > [  804.167700] [   1220]     0  1220     2396       52    61440
> > 0             0 lava-test-shell
> > [  804.176738] [   1221]     0  1221     2396       55    61440
> > 0             0 sh
> > [  804.184680] [   1223]     0  1223     2462      135    61440
> > 0             0 ltp.sh
> > [  804.192946] [   1242]     0  1242     2462      134    61440
> > 0             0 ltp.sh
> > [  804.201207] [   1243]     0  1243     2462      134    61440
> > 0             0 ltp.sh
> > [  804.209475] [   1244]     0  1244     2462      134    61440
> > 0             0 ltp.sh
> > [  804.217742] [   1245]     0  1245     2561      229    65536
> > 0             0 runltp
> > [  804.226010] [   1246]     0  1246     1072       15    53248
> > 0             0 tee
> > [  804.234012] [   1313]     0  1313     1070       29    53248
> > 0             0 ltp-pan
> > [  804.242374] [   3216]     0  3216     1613       20    53248
> > 0             0 oom01
> > [  804.250554] [   3217]     0  3217     1646       31    57344
> > 0             0 oom01
> > [  804.258728] [   3245]     0  3245    81271      469   266240
> > 0             0 NetworkManager
> > [  804.267688] [   3249]     0  3249     6422       54    98304
> > 0             0 systemd-hostnam
> > [  804.276734] [   3250]     0  3250    52976      178   172032
> > 0             0 nm-dispatcher
> > [  804.285603] [   3254]   998  3254   131113      828   245760
> > 0             0 polkitd
> > [  804.293956] [   3261]     0  3261  4726385  3349389 26939392
> > 0             0 oom01
> > [  804.302129] [   3265]     0  3265     3187       33    73728
> > 0             0 agetty
> > [  804.310397] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/,task=oom01,pid=3261,uid=0
> > [  804.322751] Out of memory: Killed process 3261 (oom01)
> > total-vm:18905540kB, anon-rss:13397556kB, file-rss:0kB, shmem-rss:0kB,
> > UID:0 pgtables:26308kB oom_score_adj:0
> > [  806.652952] oom_reaper: reaped process 3261 (oom01), now
> > anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
> > [  807.579373] BUG: Bad page state in process kworker/u8:12  pfn:374308
> > [  807.579521] BUG: Bad page state in process kworker/u8:13  pfn:4182a4
> > [  807.585734] page:ffffea000dd0c200 refcount:0 mapcount:0
> > mapping:0000000000000000 index:0xffff88837430e000
> > head:ffffea000dd0c200 order:3 compound_mapcount:0 compound_pincount:0
> > [  807.585736] flags: 0x200000000010000(head)
> > [  807.585740] raw: 0200000000010000 ffffea000dce6e00 0000000200000002
> > 0000000000000000
> > [  807.592099] page:ffffea001060a900 refcount:0 mapcount:0
> > mapping:0000000000000000 index:0xffff8884182a5e00
> > head:ffffea001060a900 order:1 compound_mapcount:0
> > [  807.607719] raw: ffff88837430e000 0000000000040000 00000000ffffffff
> > ffff8883bda6cac1
> > [  807.607720] page dumped because: page still charged to cgroup
> > [  807.607720] page->mem_cgroup:ffff8883bda6cac1
> > [  807.607721] Modules linked in: x86_pkg_temp_thermal
> > [  807.607725] CPU: 0 PID: 3242 Comm: kworker/u8:12 Not tainted
> > 5.8.0-rc3-next-20200630 #1
> > [  807.607727] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
> > 2.0b 07/27/2017
> > [  807.607731] Workqueue: rpciod rpc_async_schedule
> > [  807.611836] flags: 0x200000000010000(head)
> > [  807.619563] Call Trace:
> > [  807.619567]  dump_stack+0x84/0xba
> > [  807.619569]  bad_page.cold+0x7b/0xac
> > [  807.619573]  __free_pages_ok+0x95b/0xab0
> > [  807.633461] raw: 0200000000010000 dead000000000100 dead000000000122
> > 0000000000000000
> > [  807.641189]  __free_pages+0x42/0x50
> > [  807.641191]  __free_slab+0xcd/0x1f0

Hm, interesting, it means that page->obj_cgroups is still set.
But before __free_pages() __free_slab() always calls uncharge_slab_page(),
which sets page->obj_cgroups to NULL except when !memcg_kmem_enabled().

So it makes me think that somehow memcg_kmem_enabled() became false
after being true, which can cause refcounting problems as well.

Naresh, can you, please, check if the following patch solves problems?
And thank you for reporting the problem!

--

From c97afecd32c0db5e024be9ba72f43d22974f5bcd Mon Sep 17 00:00:00 2001
From: Roman Gushchin <guro@fb.com>
Date: Wed, 1 Jul 2020 11:05:32 -0700
Subject: [PATCH] mm: kmem: make memcg_kmem_enabled() irreversible

Historically the kernel memory accounting was an opt-in feature, which
could be enabled for individual cgroups. But now it's not true, and
it's on by default both on cgroup v1 and cgroup v2.  And as long as a
user has at least one non-root memory cgroup, the kernel memory
accounting is on. So in most setups it's either always on (if memory
cgroups are in use and kmem accounting is not disabled), either always
off (otherwise).

memcg_kmem_enabled() is used in many places to guard the kernel memory
accounting code. If memcg_kmem_enabled() can reverse from returning
true to returning false (as now), we can't rely on it on release paths
and have to check if it was on before.

If we'll make memcg_kmem_enabled() irreversible (always returning true
after returning it for the first time), it'll make the general logic
more simple and robust. It also will allow to guard some checks which
otherwise would stay unguarded.

Signed-off-by: Roman Gushchin <guro@fb.com>
---
 mm/memcontrol.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 50ae77f3985e..2d018a51c941 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -3582,7 +3582,8 @@ static int memcg_online_kmem(struct mem_cgroup *memcg)
 	objcg->memcg = memcg;
 	rcu_assign_pointer(memcg->objcg, objcg);
 
-	static_branch_inc(&memcg_kmem_enabled_key);
+	if (!memcg_kmem_enabled())
+		static_branch_inc(&memcg_kmem_enabled_key);
 	/*
 	 * A memory cgroup is considered kmem-online as soon as it gets
 	 * kmemcg_id. Setting the id after enabling static branching will
@@ -3643,9 +3644,6 @@ static void memcg_free_kmem(struct mem_cgroup *memcg)
 	/* css_alloc() failed, offlining didn't happen */
 	if (unlikely(memcg->kmem_state == KMEM_ONLINE))
 		memcg_offline_kmem(memcg);
-
-	if (memcg->kmem_state == KMEM_ALLOCATED)
-		static_branch_dec(&memcg_kmem_enabled_key);
 }
 #else
 static int memcg_online_kmem(struct mem_cgroup *memcg)
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: BUG: Bad page state in process - page dumped because: page still charged to cgroup
  2020-07-01 18:45   ` Roman Gushchin
@ 2020-07-02  6:19     ` Michal Hocko
  2020-07-02  6:52       ` Naresh Kamboju
                       ` (2 subsequent siblings)
  3 siblings, 0 replies; 22+ messages in thread
From: Michal Hocko @ 2020-07-02  6:19 UTC (permalink / raw)
  To: Roman Gushchin
  Cc: Naresh Kamboju, Shakeel Butt, Johannes Weiner, Andrew Morton,
	linux-mm, open list, lkft-triage, Chris Down

On Wed 01-07-20 11:45:52, Roman Gushchin wrote:
[...]
> So it makes me think that somehow memcg_kmem_enabled() became false
> after being true, which can cause refcounting problems as well.

Isn't this a similar class of problem as
http://lkml.kernel.org/r/1593641660-13254-2-git-send-email-bhsharma@redhat.com?
-- 
Michal Hocko
SUSE Labs

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: BUG: Bad page state in process - page dumped because: page still charged to cgroup
  2020-07-01 18:45   ` Roman Gushchin
@ 2020-07-02  6:52       ` Naresh Kamboju
  2020-07-02  6:52       ` Naresh Kamboju
                         ` (2 subsequent siblings)
  3 siblings, 0 replies; 22+ messages in thread
From: Naresh Kamboju @ 2020-07-02  6:52 UTC (permalink / raw)
  To: Roman Gushchin
  Cc: Michal Hocko, Shakeel Butt, Johannes Weiner, Andrew Morton,
	linux-mm, open list, lkft-triage, Chris Down

On Thu, 2 Jul 2020 at 00:16, Roman Gushchin <guro@fb.com> wrote:
>
> On Wed, Jul 01, 2020 at 10:29:04AM +0200, Michal Hocko wrote:
> > Smells like a different observable problem with the same/similar culprit
> > as http://lkml.kernel.org/r/CA+G9fYtrgF_EZHi0vi+HyWiXT5LGggDhVXtNspc=OzzFhL=xRQ@mail.gmail.com
> >
> > On Wed 01-07-20 13:48:57, Naresh Kamboju wrote:
> > > While running LTP mm test suite on x86_64 device the BUG: Bad page
> > > state in process
> > > noticed on linux-next 20200630 tag.
> > >
> > > Steps to reproduce:
> > > - boot linux-next 20200630 kernel on x86_64 device
> > > - cd /opt/ltp
> > > - ./runltp -f mm
> > >
> > > metadata:
> > >   git branch: master
> > >   git repo: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> > >   git commit: f2b92b14533e646e434523abdbafddb727c23898
> > >   git describe: next-20200630
> > >   kernel-config:
> > > https://urldefense.proofpoint.com/v2/url?u=https-3A__builds.tuxbuild.com_j60yrp7CUpq3LCmqMB8Wdg_kernel.config&d=DwIBAg&c=5VD0RTtNlTh3ycd41b3MUw&r=jJYgtDM7QT-W-Fz_d29HYQ&m=h_KJ0e7abuh0BK2eDlDmWnAxqHPccpqchPgBS-oJcVE&s=qofg2XRToTeHvi8vSdOvDPtKpJsUqf3IWfqwieZqITg&e=
> > >
> > > Test crash dump:
> > > [  803.905169] Node 0 Normal: 2608*4kB (UMEH) 1380*8kB (UMEH) 64*16kB
> > > (MEH) 28*32kB (MEH) 13*64kB (UMEH) 164*128kB (UMEH) 39*256kB (UE)
> > > 1*512kB (M) 1*1024kB (M) 1*2048kB (M) 1*4096kB (M) = 62880kB
> > > [  803.922375] Node 0 hugepages_total=0 hugepages_free=0
> > > hugepages_surp=0 hugepages_size=2048kB
> > > [  803.930806] 2418 total pagecache pages
> > > [  803.934559] 0 pages in swap cache
> > > [  803.937878] Swap cache stats: add 0, delete 0, find 0/0
> > > [  803.943108] Free swap  = 0kB
> > > [  803.945997] Total swap = 0kB
> > > [  803.948885] 4181245 pages RAM
> > > [  803.951857] 0 pages HighMem/MovableOnly
> > > [  803.955695] 626062 pages reserved
> > > [  803.959016] Tasks state (memory values in pages):
> > > [  803.963722] [  pid  ]   uid  tgid total_vm      rss pgtables_bytes
> > > swapents oom_score_adj name
> > > [  803.972336] [    332]     0   332     8529      507   106496
> > > 0             0 systemd-journal
> > > [  803.981387] [    349]     0   349    10730      508   118784
> > > 0         -1000 systemd-udevd
> > > [  803.990262] [    371]   993   371     8666      108   118784
> > > 0             0 systemd-network
> > > [  803.999306] [    379]   992   379     9529       99   110592
> > > 0             0 systemd-resolve
> > > [  804.008347] [    388]     0   388     2112       19    61440
> > > 0             0 syslogd
> > > [  804.016709] [    389]   995   389     9308      108   122880
> > > 0             0 avahi-daemon
> > > [  804.025517] [    391]     0   391     1075       21    57344
> > > 0             0 acpid
> > > [  804.033695] [    394]   995   394     9277       68   114688
> > > 0             0 avahi-daemon
> > > [  804.042476] [    396]   996   396     7241      154   102400
> > > 0          -900 dbus-daemon
> > > [  804.051170] [    397]     0   397     2313       72    65536
> > > 0             0 crond
> > > [  804.059349] [    399]     0   399    34025      161   167936
> > > 0             0 thermald
> > > [  804.067783] [    400]     0   400     8615      115   110592
> > > 0             0 systemd-logind
> > > [  804.076734] [    401]     0   401     2112       32    57344
> > > 0             0 klogd
> > > [  804.084907] [    449] 65534   449     3245       39    69632
> > > 0             0 dnsmasq
> > > [  804.093254] [    450]     0   450     3187       33    73728
> > > 0             0 agetty
> > > [  804.101541] [    452]     0   452     3187       33    73728
> > > 0             0 agetty
> > > [  804.109826] [    453]     0   453    14707      107   159744
> > > 0             0 login
> > > [  804.118007] [    463]     0   463     9532      163   122880
> > > 0             0 systemd
> > > [  804.126362] [    464]     0   464    16132      424   172032
> > > 0             0 (sd-pam)
> > > [  804.134803] [    468]     0   468     4538      105    81920
> > > 0             0 sh
> > > [  804.142741] [    472]     0   472    11102       83   131072
> > > 0             0 su
> > > [  804.150680] [    473]     0   473     4538       99    81920
> > > 0             0 sh
> > > [  804.158637] [    519]     0   519     2396       57    61440
> > > 0             0 lava-test-runne
> > > [  804.167700] [   1220]     0  1220     2396       52    61440
> > > 0             0 lava-test-shell
> > > [  804.176738] [   1221]     0  1221     2396       55    61440
> > > 0             0 sh
> > > [  804.184680] [   1223]     0  1223     2462      135    61440
> > > 0             0 ltp.sh
> > > [  804.192946] [   1242]     0  1242     2462      134    61440
> > > 0             0 ltp.sh
> > > [  804.201207] [   1243]     0  1243     2462      134    61440
> > > 0             0 ltp.sh
> > > [  804.209475] [   1244]     0  1244     2462      134    61440
> > > 0             0 ltp.sh
> > > [  804.217742] [   1245]     0  1245     2561      229    65536
> > > 0             0 runltp
> > > [  804.226010] [   1246]     0  1246     1072       15    53248
> > > 0             0 tee
> > > [  804.234012] [   1313]     0  1313     1070       29    53248
> > > 0             0 ltp-pan
> > > [  804.242374] [   3216]     0  3216     1613       20    53248
> > > 0             0 oom01
> > > [  804.250554] [   3217]     0  3217     1646       31    57344
> > > 0             0 oom01
> > > [  804.258728] [   3245]     0  3245    81271      469   266240
> > > 0             0 NetworkManager
> > > [  804.267688] [   3249]     0  3249     6422       54    98304
> > > 0             0 systemd-hostnam
> > > [  804.276734] [   3250]     0  3250    52976      178   172032
> > > 0             0 nm-dispatcher
> > > [  804.285603] [   3254]   998  3254   131113      828   245760
> > > 0             0 polkitd
> > > [  804.293956] [   3261]     0  3261  4726385  3349389 26939392
> > > 0             0 oom01
> > > [  804.302129] [   3265]     0  3265     3187       33    73728
> > > 0             0 agetty
> > > [  804.310397] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/,task=oom01,pid=3261,uid=0
> > > [  804.322751] Out of memory: Killed process 3261 (oom01)
> > > total-vm:18905540kB, anon-rss:13397556kB, file-rss:0kB, shmem-rss:0kB,
> > > UID:0 pgtables:26308kB oom_score_adj:0
> > > [  806.652952] oom_reaper: reaped process 3261 (oom01), now
> > > anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
> > > [  807.579373] BUG: Bad page state in process kworker/u8:12  pfn:374308
> > > [  807.579521] BUG: Bad page state in process kworker/u8:13  pfn:4182a4
> > > [  807.585734] page:ffffea000dd0c200 refcount:0 mapcount:0
> > > mapping:0000000000000000 index:0xffff88837430e000
> > > head:ffffea000dd0c200 order:3 compound_mapcount:0 compound_pincount:0
> > > [  807.585736] flags: 0x200000000010000(head)
> > > [  807.585740] raw: 0200000000010000 ffffea000dce6e00 0000000200000002
> > > 0000000000000000
> > > [  807.592099] page:ffffea001060a900 refcount:0 mapcount:0
> > > mapping:0000000000000000 index:0xffff8884182a5e00
> > > head:ffffea001060a900 order:1 compound_mapcount:0
> > > [  807.607719] raw: ffff88837430e000 0000000000040000 00000000ffffffff
> > > ffff8883bda6cac1
> > > [  807.607720] page dumped because: page still charged to cgroup
> > > [  807.607720] page->mem_cgroup:ffff8883bda6cac1
> > > [  807.607721] Modules linked in: x86_pkg_temp_thermal
> > > [  807.607725] CPU: 0 PID: 3242 Comm: kworker/u8:12 Not tainted
> > > 5.8.0-rc3-next-20200630 #1
> > > [  807.607727] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
> > > 2.0b 07/27/2017
> > > [  807.607731] Workqueue: rpciod rpc_async_schedule
> > > [  807.611836] flags: 0x200000000010000(head)
> > > [  807.619563] Call Trace:
> > > [  807.619567]  dump_stack+0x84/0xba
> > > [  807.619569]  bad_page.cold+0x7b/0xac
> > > [  807.619573]  __free_pages_ok+0x95b/0xab0
> > > [  807.633461] raw: 0200000000010000 dead000000000100 dead000000000122
> > > 0000000000000000
> > > [  807.641189]  __free_pages+0x42/0x50
> > > [  807.641191]  __free_slab+0xcd/0x1f0
>
> Hm, interesting, it means that page->obj_cgroups is still set.
> But before __free_pages() __free_slab() always calls uncharge_slab_page(),
> which sets page->obj_cgroups to NULL except when !memcg_kmem_enabled().
>
> So it makes me think that somehow memcg_kmem_enabled() became false
> after being true, which can cause refcounting problems as well.
>
> Naresh, can you, please, check if the following patch solves problems?
> And thank you for reporting the problem!
>

Thanks for providing a quick fix patch.

>
> From c97afecd32c0db5e024be9ba72f43d22974f5bcd Mon Sep 17 00:00:00 2001
> From: Roman Gushchin <guro@fb.com>
> Date: Wed, 1 Jul 2020 11:05:32 -0700
> Subject: [PATCH] mm: kmem: make memcg_kmem_enabled() irreversible
>
> Historically the kernel memory accounting was an opt-in feature, which
> could be enabled for individual cgroups. But now it's not true, and
> it's on by default both on cgroup v1 and cgroup v2.  And as long as a
> user has at least one non-root memory cgroup, the kernel memory
> accounting is on. So in most setups it's either always on (if memory
> cgroups are in use and kmem accounting is not disabled), either always
> off (otherwise).
>
> memcg_kmem_enabled() is used in many places to guard the kernel memory
> accounting code. If memcg_kmem_enabled() can reverse from returning
> true to returning false (as now), we can't rely on it on release paths
> and have to check if it was on before.
>
> If we'll make memcg_kmem_enabled() irreversible (always returning true
> after returning it for the first time), it'll make the general logic
> more simple and robust. It also will allow to guard some checks which
> otherwise would stay unguarded.
>
> Signed-off-by: Roman Gushchin <guro@fb.com>
Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Tested-by: Naresh Kamboju <naresh.kamboju@linaro.org>

The below patch applied on top of linux-next 20200701and tested and
the reported bug got fixed on arm64, arm, x86_64 and i386.

> ---
>  mm/memcontrol.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index 50ae77f3985e..2d018a51c941 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -3582,7 +3582,8 @@ static int memcg_online_kmem(struct mem_cgroup *memcg)
>         objcg->memcg = memcg;
>         rcu_assign_pointer(memcg->objcg, objcg);
>
> -       static_branch_inc(&memcg_kmem_enabled_key);
> +       if (!memcg_kmem_enabled())
> +               static_branch_inc(&memcg_kmem_enabled_key);
>         /*
>          * A memory cgroup is considered kmem-online as soon as it gets
>          * kmemcg_id. Setting the id after enabling static branching will
> @@ -3643,9 +3644,6 @@ static void memcg_free_kmem(struct mem_cgroup *memcg)
>         /* css_alloc() failed, offlining didn't happen */
>         if (unlikely(memcg->kmem_state == KMEM_ONLINE))
>                 memcg_offline_kmem(memcg);
> -
> -       if (memcg->kmem_state == KMEM_ALLOCATED)
> -               static_branch_dec(&memcg_kmem_enabled_key);
>  }
>  #else
>  static int memcg_online_kmem(struct mem_cgroup *memcg)

- Naresh

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: BUG: Bad page state in process - page dumped because: page still charged to cgroup
@ 2020-07-02  6:52       ` Naresh Kamboju
  0 siblings, 0 replies; 22+ messages in thread
From: Naresh Kamboju @ 2020-07-02  6:52 UTC (permalink / raw)
  To: Roman Gushchin
  Cc: Michal Hocko, Shakeel Butt, Johannes Weiner, Andrew Morton,
	linux-mm, open list, lkft-triage, Chris Down

On Thu, 2 Jul 2020 at 00:16, Roman Gushchin <guro@fb.com> wrote:
>
> On Wed, Jul 01, 2020 at 10:29:04AM +0200, Michal Hocko wrote:
> > Smells like a different observable problem with the same/similar culprit
> > as http://lkml.kernel.org/r/CA+G9fYtrgF_EZHi0vi+HyWiXT5LGggDhVXtNspc=OzzFhL=xRQ@mail.gmail.com
> >
> > On Wed 01-07-20 13:48:57, Naresh Kamboju wrote:
> > > While running LTP mm test suite on x86_64 device the BUG: Bad page
> > > state in process
> > > noticed on linux-next 20200630 tag.
> > >
> > > Steps to reproduce:
> > > - boot linux-next 20200630 kernel on x86_64 device
> > > - cd /opt/ltp
> > > - ./runltp -f mm
> > >
> > > metadata:
> > >   git branch: master
> > >   git repo: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> > >   git commit: f2b92b14533e646e434523abdbafddb727c23898
> > >   git describe: next-20200630
> > >   kernel-config:
> > > https://urldefense.proofpoint.com/v2/url?u=https-3A__builds.tuxbuild.com_j60yrp7CUpq3LCmqMB8Wdg_kernel.config&d=DwIBAg&c=5VD0RTtNlTh3ycd41b3MUw&r=jJYgtDM7QT-W-Fz_d29HYQ&m=h_KJ0e7abuh0BK2eDlDmWnAxqHPccpqchPgBS-oJcVE&s=qofg2XRToTeHvi8vSdOvDPtKpJsUqf3IWfqwieZqITg&e=
> > >
> > > Test crash dump:
> > > [  803.905169] Node 0 Normal: 2608*4kB (UMEH) 1380*8kB (UMEH) 64*16kB
> > > (MEH) 28*32kB (MEH) 13*64kB (UMEH) 164*128kB (UMEH) 39*256kB (UE)
> > > 1*512kB (M) 1*1024kB (M) 1*2048kB (M) 1*4096kB (M) = 62880kB
> > > [  803.922375] Node 0 hugepages_total=0 hugepages_free=0
> > > hugepages_surp=0 hugepages_size=2048kB
> > > [  803.930806] 2418 total pagecache pages
> > > [  803.934559] 0 pages in swap cache
> > > [  803.937878] Swap cache stats: add 0, delete 0, find 0/0
> > > [  803.943108] Free swap  = 0kB
> > > [  803.945997] Total swap = 0kB
> > > [  803.948885] 4181245 pages RAM
> > > [  803.951857] 0 pages HighMem/MovableOnly
> > > [  803.955695] 626062 pages reserved
> > > [  803.959016] Tasks state (memory values in pages):
> > > [  803.963722] [  pid  ]   uid  tgid total_vm      rss pgtables_bytes
> > > swapents oom_score_adj name
> > > [  803.972336] [    332]     0   332     8529      507   106496
> > > 0             0 systemd-journal
> > > [  803.981387] [    349]     0   349    10730      508   118784
> > > 0         -1000 systemd-udevd
> > > [  803.990262] [    371]   993   371     8666      108   118784
> > > 0             0 systemd-network
> > > [  803.999306] [    379]   992   379     9529       99   110592
> > > 0             0 systemd-resolve
> > > [  804.008347] [    388]     0   388     2112       19    61440
> > > 0             0 syslogd
> > > [  804.016709] [    389]   995   389     9308      108   122880
> > > 0             0 avahi-daemon
> > > [  804.025517] [    391]     0   391     1075       21    57344
> > > 0             0 acpid
> > > [  804.033695] [    394]   995   394     9277       68   114688
> > > 0             0 avahi-daemon
> > > [  804.042476] [    396]   996   396     7241      154   102400
> > > 0          -900 dbus-daemon
> > > [  804.051170] [    397]     0   397     2313       72    65536
> > > 0             0 crond
> > > [  804.059349] [    399]     0   399    34025      161   167936
> > > 0             0 thermald
> > > [  804.067783] [    400]     0   400     8615      115   110592
> > > 0             0 systemd-logind
> > > [  804.076734] [    401]     0   401     2112       32    57344
> > > 0             0 klogd
> > > [  804.084907] [    449] 65534   449     3245       39    69632
> > > 0             0 dnsmasq
> > > [  804.093254] [    450]     0   450     3187       33    73728
> > > 0             0 agetty
> > > [  804.101541] [    452]     0   452     3187       33    73728
> > > 0             0 agetty
> > > [  804.109826] [    453]     0   453    14707      107   159744
> > > 0             0 login
> > > [  804.118007] [    463]     0   463     9532      163   122880
> > > 0             0 systemd
> > > [  804.126362] [    464]     0   464    16132      424   172032
> > > 0             0 (sd-pam)
> > > [  804.134803] [    468]     0   468     4538      105    81920
> > > 0             0 sh
> > > [  804.142741] [    472]     0   472    11102       83   131072
> > > 0             0 su
> > > [  804.150680] [    473]     0   473     4538       99    81920
> > > 0             0 sh
> > > [  804.158637] [    519]     0   519     2396       57    61440
> > > 0             0 lava-test-runne
> > > [  804.167700] [   1220]     0  1220     2396       52    61440
> > > 0             0 lava-test-shell
> > > [  804.176738] [   1221]     0  1221     2396       55    61440
> > > 0             0 sh
> > > [  804.184680] [   1223]     0  1223     2462      135    61440
> > > 0             0 ltp.sh
> > > [  804.192946] [   1242]     0  1242     2462      134    61440
> > > 0             0 ltp.sh
> > > [  804.201207] [   1243]     0  1243     2462      134    61440
> > > 0             0 ltp.sh
> > > [  804.209475] [   1244]     0  1244     2462      134    61440
> > > 0             0 ltp.sh
> > > [  804.217742] [   1245]     0  1245     2561      229    65536
> > > 0             0 runltp
> > > [  804.226010] [   1246]     0  1246     1072       15    53248
> > > 0             0 tee
> > > [  804.234012] [   1313]     0  1313     1070       29    53248
> > > 0             0 ltp-pan
> > > [  804.242374] [   3216]     0  3216     1613       20    53248
> > > 0             0 oom01
> > > [  804.250554] [   3217]     0  3217     1646       31    57344
> > > 0             0 oom01
> > > [  804.258728] [   3245]     0  3245    81271      469   266240
> > > 0             0 NetworkManager
> > > [  804.267688] [   3249]     0  3249     6422       54    98304
> > > 0             0 systemd-hostnam
> > > [  804.276734] [   3250]     0  3250    52976      178   172032
> > > 0             0 nm-dispatcher
> > > [  804.285603] [   3254]   998  3254   131113      828   245760
> > > 0             0 polkitd
> > > [  804.293956] [   3261]     0  3261  4726385  3349389 26939392
> > > 0             0 oom01
> > > [  804.302129] [   3265]     0  3265     3187       33    73728
> > > 0             0 agetty
> > > [  804.310397] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/,task=oom01,pid=3261,uid=0
> > > [  804.322751] Out of memory: Killed process 3261 (oom01)
> > > total-vm:18905540kB, anon-rss:13397556kB, file-rss:0kB, shmem-rss:0kB,
> > > UID:0 pgtables:26308kB oom_score_adj:0
> > > [  806.652952] oom_reaper: reaped process 3261 (oom01), now
> > > anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
> > > [  807.579373] BUG: Bad page state in process kworker/u8:12  pfn:374308
> > > [  807.579521] BUG: Bad page state in process kworker/u8:13  pfn:4182a4
> > > [  807.585734] page:ffffea000dd0c200 refcount:0 mapcount:0
> > > mapping:0000000000000000 index:0xffff88837430e000
> > > head:ffffea000dd0c200 order:3 compound_mapcount:0 compound_pincount:0
> > > [  807.585736] flags: 0x200000000010000(head)
> > > [  807.585740] raw: 0200000000010000 ffffea000dce6e00 0000000200000002
> > > 0000000000000000
> > > [  807.592099] page:ffffea001060a900 refcount:0 mapcount:0
> > > mapping:0000000000000000 index:0xffff8884182a5e00
> > > head:ffffea001060a900 order:1 compound_mapcount:0
> > > [  807.607719] raw: ffff88837430e000 0000000000040000 00000000ffffffff
> > > ffff8883bda6cac1
> > > [  807.607720] page dumped because: page still charged to cgroup
> > > [  807.607720] page->mem_cgroup:ffff8883bda6cac1
> > > [  807.607721] Modules linked in: x86_pkg_temp_thermal
> > > [  807.607725] CPU: 0 PID: 3242 Comm: kworker/u8:12 Not tainted
> > > 5.8.0-rc3-next-20200630 #1
> > > [  807.607727] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
> > > 2.0b 07/27/2017
> > > [  807.607731] Workqueue: rpciod rpc_async_schedule
> > > [  807.611836] flags: 0x200000000010000(head)
> > > [  807.619563] Call Trace:
> > > [  807.619567]  dump_stack+0x84/0xba
> > > [  807.619569]  bad_page.cold+0x7b/0xac
> > > [  807.619573]  __free_pages_ok+0x95b/0xab0
> > > [  807.633461] raw: 0200000000010000 dead000000000100 dead000000000122
> > > 0000000000000000
> > > [  807.641189]  __free_pages+0x42/0x50
> > > [  807.641191]  __free_slab+0xcd/0x1f0
>
> Hm, interesting, it means that page->obj_cgroups is still set.
> But before __free_pages() __free_slab() always calls uncharge_slab_page(),
> which sets page->obj_cgroups to NULL except when !memcg_kmem_enabled().
>
> So it makes me think that somehow memcg_kmem_enabled() became false
> after being true, which can cause refcounting problems as well.
>
> Naresh, can you, please, check if the following patch solves problems?
> And thank you for reporting the problem!
>

Thanks for providing a quick fix patch.

>
> From c97afecd32c0db5e024be9ba72f43d22974f5bcd Mon Sep 17 00:00:00 2001
> From: Roman Gushchin <guro@fb.com>
> Date: Wed, 1 Jul 2020 11:05:32 -0700
> Subject: [PATCH] mm: kmem: make memcg_kmem_enabled() irreversible
>
> Historically the kernel memory accounting was an opt-in feature, which
> could be enabled for individual cgroups. But now it's not true, and
> it's on by default both on cgroup v1 and cgroup v2.  And as long as a
> user has at least one non-root memory cgroup, the kernel memory
> accounting is on. So in most setups it's either always on (if memory
> cgroups are in use and kmem accounting is not disabled), either always
> off (otherwise).
>
> memcg_kmem_enabled() is used in many places to guard the kernel memory
> accounting code. If memcg_kmem_enabled() can reverse from returning
> true to returning false (as now), we can't rely on it on release paths
> and have to check if it was on before.
>
> If we'll make memcg_kmem_enabled() irreversible (always returning true
> after returning it for the first time), it'll make the general logic
> more simple and robust. It also will allow to guard some checks which
> otherwise would stay unguarded.
>
> Signed-off-by: Roman Gushchin <guro@fb.com>
Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Tested-by: Naresh Kamboju <naresh.kamboju@linaro.org>

The below patch applied on top of linux-next 20200701and tested and
the reported bug got fixed on arm64, arm, x86_64 and i386.

> ---
>  mm/memcontrol.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index 50ae77f3985e..2d018a51c941 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -3582,7 +3582,8 @@ static int memcg_online_kmem(struct mem_cgroup *memcg)
>         objcg->memcg = memcg;
>         rcu_assign_pointer(memcg->objcg, objcg);
>
> -       static_branch_inc(&memcg_kmem_enabled_key);
> +       if (!memcg_kmem_enabled())
> +               static_branch_inc(&memcg_kmem_enabled_key);
>         /*
>          * A memory cgroup is considered kmem-online as soon as it gets
>          * kmemcg_id. Setting the id after enabling static branching will
> @@ -3643,9 +3644,6 @@ static void memcg_free_kmem(struct mem_cgroup *memcg)
>         /* css_alloc() failed, offlining didn't happen */
>         if (unlikely(memcg->kmem_state == KMEM_ONLINE))
>                 memcg_offline_kmem(memcg);
> -
> -       if (memcg->kmem_state == KMEM_ALLOCATED)
> -               static_branch_dec(&memcg_kmem_enabled_key);
>  }
>  #else
>  static int memcg_online_kmem(struct mem_cgroup *memcg)

- Naresh


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: BUG: Bad page state in process - page dumped because: page still charged to cgroup
  2020-07-02  6:52       ` Naresh Kamboju
  (?)
@ 2020-07-02 15:49       ` Roman Gushchin
  2020-07-02 15:55           ` Naresh Kamboju
  -1 siblings, 1 reply; 22+ messages in thread
From: Roman Gushchin @ 2020-07-02 15:49 UTC (permalink / raw)
  To: Naresh Kamboju
  Cc: Michal Hocko, Shakeel Butt, Johannes Weiner, Andrew Morton,
	linux-mm, open list, lkft-triage, Chris Down

On Thu, Jul 02, 2020 at 12:22:03PM +0530, Naresh Kamboju wrote:
> On Thu, 2 Jul 2020 at 00:16, Roman Gushchin <guro@fb.com> wrote:
> >
> > On Wed, Jul 01, 2020 at 10:29:04AM +0200, Michal Hocko wrote:
> > > Smells like a different observable problem with the same/similar culprit
> > > as http://lkml.kernel.org/r/CA+G9fYtrgF_EZHi0vi+HyWiXT5LGggDhVXtNspc=OzzFhL=xRQ@mail.gmail.com
> > >
> > > On Wed 01-07-20 13:48:57, Naresh Kamboju wrote:
> > > > While running LTP mm test suite on x86_64 device the BUG: Bad page
> > > > state in process
> > > > noticed on linux-next 20200630 tag.
> > > >
> > > > Steps to reproduce:
> > > > - boot linux-next 20200630 kernel on x86_64 device
> > > > - cd /opt/ltp
> > > > - ./runltp -f mm
> > > >
> > > > metadata:
> > > >   git branch: master
> > > >   git repo: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> > > >   git commit: f2b92b14533e646e434523abdbafddb727c23898
> > > >   git describe: next-20200630
> > > >   kernel-config:
> > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__builds.tuxbuild.com_j60yrp7CUpq3LCmqMB8Wdg_kernel.config&d=DwIBAg&c=5VD0RTtNlTh3ycd41b3MUw&r=jJYgtDM7QT-W-Fz_d29HYQ&m=h_KJ0e7abuh0BK2eDlDmWnAxqHPccpqchPgBS-oJcVE&s=qofg2XRToTeHvi8vSdOvDPtKpJsUqf3IWfqwieZqITg&e=
> > > >
> > > > Test crash dump:
> > > > [  803.905169] Node 0 Normal: 2608*4kB (UMEH) 1380*8kB (UMEH) 64*16kB
> > > > (MEH) 28*32kB (MEH) 13*64kB (UMEH) 164*128kB (UMEH) 39*256kB (UE)
> > > > 1*512kB (M) 1*1024kB (M) 1*2048kB (M) 1*4096kB (M) = 62880kB
> > > > [  803.922375] Node 0 hugepages_total=0 hugepages_free=0
> > > > hugepages_surp=0 hugepages_size=2048kB
> > > > [  803.930806] 2418 total pagecache pages
> > > > [  803.934559] 0 pages in swap cache
> > > > [  803.937878] Swap cache stats: add 0, delete 0, find 0/0
> > > > [  803.943108] Free swap  = 0kB
> > > > [  803.945997] Total swap = 0kB
> > > > [  803.948885] 4181245 pages RAM
> > > > [  803.951857] 0 pages HighMem/MovableOnly
> > > > [  803.955695] 626062 pages reserved
> > > > [  803.959016] Tasks state (memory values in pages):
> > > > [  803.963722] [  pid  ]   uid  tgid total_vm      rss pgtables_bytes
> > > > swapents oom_score_adj name
> > > > [  803.972336] [    332]     0   332     8529      507   106496
> > > > 0             0 systemd-journal
> > > > [  803.981387] [    349]     0   349    10730      508   118784
> > > > 0         -1000 systemd-udevd
> > > > [  803.990262] [    371]   993   371     8666      108   118784
> > > > 0             0 systemd-network
> > > > [  803.999306] [    379]   992   379     9529       99   110592
> > > > 0             0 systemd-resolve
> > > > [  804.008347] [    388]     0   388     2112       19    61440
> > > > 0             0 syslogd
> > > > [  804.016709] [    389]   995   389     9308      108   122880
> > > > 0             0 avahi-daemon
> > > > [  804.025517] [    391]     0   391     1075       21    57344
> > > > 0             0 acpid
> > > > [  804.033695] [    394]   995   394     9277       68   114688
> > > > 0             0 avahi-daemon
> > > > [  804.042476] [    396]   996   396     7241      154   102400
> > > > 0          -900 dbus-daemon
> > > > [  804.051170] [    397]     0   397     2313       72    65536
> > > > 0             0 crond
> > > > [  804.059349] [    399]     0   399    34025      161   167936
> > > > 0             0 thermald
> > > > [  804.067783] [    400]     0   400     8615      115   110592
> > > > 0             0 systemd-logind
> > > > [  804.076734] [    401]     0   401     2112       32    57344
> > > > 0             0 klogd
> > > > [  804.084907] [    449] 65534   449     3245       39    69632
> > > > 0             0 dnsmasq
> > > > [  804.093254] [    450]     0   450     3187       33    73728
> > > > 0             0 agetty
> > > > [  804.101541] [    452]     0   452     3187       33    73728
> > > > 0             0 agetty
> > > > [  804.109826] [    453]     0   453    14707      107   159744
> > > > 0             0 login
> > > > [  804.118007] [    463]     0   463     9532      163   122880
> > > > 0             0 systemd
> > > > [  804.126362] [    464]     0   464    16132      424   172032
> > > > 0             0 (sd-pam)
> > > > [  804.134803] [    468]     0   468     4538      105    81920
> > > > 0             0 sh
> > > > [  804.142741] [    472]     0   472    11102       83   131072
> > > > 0             0 su
> > > > [  804.150680] [    473]     0   473     4538       99    81920
> > > > 0             0 sh
> > > > [  804.158637] [    519]     0   519     2396       57    61440
> > > > 0             0 lava-test-runne
> > > > [  804.167700] [   1220]     0  1220     2396       52    61440
> > > > 0             0 lava-test-shell
> > > > [  804.176738] [   1221]     0  1221     2396       55    61440
> > > > 0             0 sh
> > > > [  804.184680] [   1223]     0  1223     2462      135    61440
> > > > 0             0 ltp.sh
> > > > [  804.192946] [   1242]     0  1242     2462      134    61440
> > > > 0             0 ltp.sh
> > > > [  804.201207] [   1243]     0  1243     2462      134    61440
> > > > 0             0 ltp.sh
> > > > [  804.209475] [   1244]     0  1244     2462      134    61440
> > > > 0             0 ltp.sh
> > > > [  804.217742] [   1245]     0  1245     2561      229    65536
> > > > 0             0 runltp
> > > > [  804.226010] [   1246]     0  1246     1072       15    53248
> > > > 0             0 tee
> > > > [  804.234012] [   1313]     0  1313     1070       29    53248
> > > > 0             0 ltp-pan
> > > > [  804.242374] [   3216]     0  3216     1613       20    53248
> > > > 0             0 oom01
> > > > [  804.250554] [   3217]     0  3217     1646       31    57344
> > > > 0             0 oom01
> > > > [  804.258728] [   3245]     0  3245    81271      469   266240
> > > > 0             0 NetworkManager
> > > > [  804.267688] [   3249]     0  3249     6422       54    98304
> > > > 0             0 systemd-hostnam
> > > > [  804.276734] [   3250]     0  3250    52976      178   172032
> > > > 0             0 nm-dispatcher
> > > > [  804.285603] [   3254]   998  3254   131113      828   245760
> > > > 0             0 polkitd
> > > > [  804.293956] [   3261]     0  3261  4726385  3349389 26939392
> > > > 0             0 oom01
> > > > [  804.302129] [   3265]     0  3265     3187       33    73728
> > > > 0             0 agetty
> > > > [  804.310397] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/,task=oom01,pid=3261,uid=0
> > > > [  804.322751] Out of memory: Killed process 3261 (oom01)
> > > > total-vm:18905540kB, anon-rss:13397556kB, file-rss:0kB, shmem-rss:0kB,
> > > > UID:0 pgtables:26308kB oom_score_adj:0
> > > > [  806.652952] oom_reaper: reaped process 3261 (oom01), now
> > > > anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
> > > > [  807.579373] BUG: Bad page state in process kworker/u8:12  pfn:374308
> > > > [  807.579521] BUG: Bad page state in process kworker/u8:13  pfn:4182a4
> > > > [  807.585734] page:ffffea000dd0c200 refcount:0 mapcount:0
> > > > mapping:0000000000000000 index:0xffff88837430e000
> > > > head:ffffea000dd0c200 order:3 compound_mapcount:0 compound_pincount:0
> > > > [  807.585736] flags: 0x200000000010000(head)
> > > > [  807.585740] raw: 0200000000010000 ffffea000dce6e00 0000000200000002
> > > > 0000000000000000
> > > > [  807.592099] page:ffffea001060a900 refcount:0 mapcount:0
> > > > mapping:0000000000000000 index:0xffff8884182a5e00
> > > > head:ffffea001060a900 order:1 compound_mapcount:0
> > > > [  807.607719] raw: ffff88837430e000 0000000000040000 00000000ffffffff
> > > > ffff8883bda6cac1
> > > > [  807.607720] page dumped because: page still charged to cgroup
> > > > [  807.607720] page->mem_cgroup:ffff8883bda6cac1
> > > > [  807.607721] Modules linked in: x86_pkg_temp_thermal
> > > > [  807.607725] CPU: 0 PID: 3242 Comm: kworker/u8:12 Not tainted
> > > > 5.8.0-rc3-next-20200630 #1
> > > > [  807.607727] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
> > > > 2.0b 07/27/2017
> > > > [  807.607731] Workqueue: rpciod rpc_async_schedule
> > > > [  807.611836] flags: 0x200000000010000(head)
> > > > [  807.619563] Call Trace:
> > > > [  807.619567]  dump_stack+0x84/0xba
> > > > [  807.619569]  bad_page.cold+0x7b/0xac
> > > > [  807.619573]  __free_pages_ok+0x95b/0xab0
> > > > [  807.633461] raw: 0200000000010000 dead000000000100 dead000000000122
> > > > 0000000000000000
> > > > [  807.641189]  __free_pages+0x42/0x50
> > > > [  807.641191]  __free_slab+0xcd/0x1f0
> >
> > Hm, interesting, it means that page->obj_cgroups is still set.
> > But before __free_pages() __free_slab() always calls uncharge_slab_page(),
> > which sets page->obj_cgroups to NULL except when !memcg_kmem_enabled().
> >
> > So it makes me think that somehow memcg_kmem_enabled() became false
> > after being true, which can cause refcounting problems as well.
> >
> > Naresh, can you, please, check if the following patch solves problems?
> > And thank you for reporting the problem!
> >
> 
> Thanks for providing a quick fix patch.
> 
> >
> > From c97afecd32c0db5e024be9ba72f43d22974f5bcd Mon Sep 17 00:00:00 2001
> > From: Roman Gushchin <guro@fb.com>
> > Date: Wed, 1 Jul 2020 11:05:32 -0700
> > Subject: [PATCH] mm: kmem: make memcg_kmem_enabled() irreversible
> >
> > Historically the kernel memory accounting was an opt-in feature, which
> > could be enabled for individual cgroups. But now it's not true, and
> > it's on by default both on cgroup v1 and cgroup v2.  And as long as a
> > user has at least one non-root memory cgroup, the kernel memory
> > accounting is on. So in most setups it's either always on (if memory
> > cgroups are in use and kmem accounting is not disabled), either always
> > off (otherwise).
> >
> > memcg_kmem_enabled() is used in many places to guard the kernel memory
> > accounting code. If memcg_kmem_enabled() can reverse from returning
> > true to returning false (as now), we can't rely on it on release paths
> > and have to check if it was on before.
> >
> > If we'll make memcg_kmem_enabled() irreversible (always returning true
> > after returning it for the first time), it'll make the general logic
> > more simple and robust. It also will allow to guard some checks which
> > otherwise would stay unguarded.
> >
> > Signed-off-by: Roman Gushchin <guro@fb.com>
> Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
> Tested-by: Naresh Kamboju <naresh.kamboju@linaro.org>
> 
> The below patch applied on top of linux-next 20200701and tested and
> the reported bug got fixed on arm64, arm, x86_64 and i386.

Hello, Naresh!

Thank you very much for testing the patch!

Btw, did it also fix the problem reported here: 
https://lore.kernel.org/linux-mm/20200701081951.GL2369@dhcp22.suse.cz/T/#t ?

Thanks!

Roman

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: BUG: Bad page state in process - page dumped because: page still charged to cgroup
  2020-07-02 15:49       ` Roman Gushchin
@ 2020-07-02 15:55           ` Naresh Kamboju
  0 siblings, 0 replies; 22+ messages in thread
From: Naresh Kamboju @ 2020-07-02 15:55 UTC (permalink / raw)
  To: Roman Gushchin
  Cc: Michal Hocko, Shakeel Butt, Johannes Weiner, Andrew Morton,
	linux-mm, open list, lkft-triage, Chris Down

On Thu, 2 Jul 2020 at 21:19, Roman Gushchin <guro@fb.com> wrote:
>
> On Thu, Jul 02, 2020 at 12:22:03PM +0530, Naresh Kamboju wrote:
> > On Thu, 2 Jul 2020 at 00:16, Roman Gushchin <guro@fb.com> wrote:
> > >
> > > On Wed, Jul 01, 2020 at 10:29:04AM +0200, Michal Hocko wrote:
> > > > Smells like a different observable problem with the same/similar culprit
> > > > as http://lkml.kernel.org/r/CA+G9fYtrgF_EZHi0vi+HyWiXT5LGggDhVXtNspc=OzzFhL=xRQ@mail.gmail.com
> > > >
> > > > On Wed 01-07-20 13:48:57, Naresh Kamboju wrote:
> > > > > While running LTP mm test suite on x86_64 device the BUG: Bad page
> > > > > state in process
> > > > > noticed on linux-next 20200630 tag.
> > > > >
> > > > > Steps to reproduce:
> > > > > - boot linux-next 20200630 kernel on x86_64 device
> > > > > - cd /opt/ltp
> > > > > - ./runltp -f mm
> > > > >
> > > > > metadata:
> > > > >   git branch: master
> > > > >   git repo: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> > > > >   git commit: f2b92b14533e646e434523abdbafddb727c23898
> > > > >   git describe: next-20200630
> > > > >   kernel-config:
> > > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__builds.tuxbuild.com_j60yrp7CUpq3LCmqMB8Wdg_kernel.config&d=DwIBAg&c=5VD0RTtNlTh3ycd41b3MUw&r=jJYgtDM7QT-W-Fz_d29HYQ&m=h_KJ0e7abuh0BK2eDlDmWnAxqHPccpqchPgBS-oJcVE&s=qofg2XRToTeHvi8vSdOvDPtKpJsUqf3IWfqwieZqITg&e=
> > > > >
> > > > > Test crash dump:
> > > > > [  803.905169] Node 0 Normal: 2608*4kB (UMEH) 1380*8kB (UMEH) 64*16kB
> > > > > (MEH) 28*32kB (MEH) 13*64kB (UMEH) 164*128kB (UMEH) 39*256kB (UE)
> > > > > 1*512kB (M) 1*1024kB (M) 1*2048kB (M) 1*4096kB (M) = 62880kB
> > > > > [  803.922375] Node 0 hugepages_total=0 hugepages_free=0
> > > > > hugepages_surp=0 hugepages_size=2048kB
> > > > > [  803.930806] 2418 total pagecache pages
> > > > > [  803.934559] 0 pages in swap cache
> > > > > [  803.937878] Swap cache stats: add 0, delete 0, find 0/0
> > > > > [  803.943108] Free swap  = 0kB
> > > > > [  803.945997] Total swap = 0kB
> > > > > [  803.948885] 4181245 pages RAM
> > > > > [  803.951857] 0 pages HighMem/MovableOnly
> > > > > [  803.955695] 626062 pages reserved
> > > > > [  803.959016] Tasks state (memory values in pages):
> > > > > [  803.963722] [  pid  ]   uid  tgid total_vm      rss pgtables_bytes
> > > > > swapents oom_score_adj name
> > > > > [  803.972336] [    332]     0   332     8529      507   106496
> > > > > 0             0 systemd-journal
> > > > > [  803.981387] [    349]     0   349    10730      508   118784
> > > > > 0         -1000 systemd-udevd
> > > > > [  803.990262] [    371]   993   371     8666      108   118784
> > > > > 0             0 systemd-network
> > > > > [  803.999306] [    379]   992   379     9529       99   110592
> > > > > 0             0 systemd-resolve
> > > > > [  804.008347] [    388]     0   388     2112       19    61440
> > > > > 0             0 syslogd
> > > > > [  804.016709] [    389]   995   389     9308      108   122880
> > > > > 0             0 avahi-daemon
> > > > > [  804.025517] [    391]     0   391     1075       21    57344
> > > > > 0             0 acpid
> > > > > [  804.033695] [    394]   995   394     9277       68   114688
> > > > > 0             0 avahi-daemon
> > > > > [  804.042476] [    396]   996   396     7241      154   102400
> > > > > 0          -900 dbus-daemon
> > > > > [  804.051170] [    397]     0   397     2313       72    65536
> > > > > 0             0 crond
> > > > > [  804.059349] [    399]     0   399    34025      161   167936
> > > > > 0             0 thermald
> > > > > [  804.067783] [    400]     0   400     8615      115   110592
> > > > > 0             0 systemd-logind
> > > > > [  804.076734] [    401]     0   401     2112       32    57344
> > > > > 0             0 klogd
> > > > > [  804.084907] [    449] 65534   449     3245       39    69632
> > > > > 0             0 dnsmasq
> > > > > [  804.093254] [    450]     0   450     3187       33    73728
> > > > > 0             0 agetty
> > > > > [  804.101541] [    452]     0   452     3187       33    73728
> > > > > 0             0 agetty
> > > > > [  804.109826] [    453]     0   453    14707      107   159744
> > > > > 0             0 login
> > > > > [  804.118007] [    463]     0   463     9532      163   122880
> > > > > 0             0 systemd
> > > > > [  804.126362] [    464]     0   464    16132      424   172032
> > > > > 0             0 (sd-pam)
> > > > > [  804.134803] [    468]     0   468     4538      105    81920
> > > > > 0             0 sh
> > > > > [  804.142741] [    472]     0   472    11102       83   131072
> > > > > 0             0 su
> > > > > [  804.150680] [    473]     0   473     4538       99    81920
> > > > > 0             0 sh
> > > > > [  804.158637] [    519]     0   519     2396       57    61440
> > > > > 0             0 lava-test-runne
> > > > > [  804.167700] [   1220]     0  1220     2396       52    61440
> > > > > 0             0 lava-test-shell
> > > > > [  804.176738] [   1221]     0  1221     2396       55    61440
> > > > > 0             0 sh
> > > > > [  804.184680] [   1223]     0  1223     2462      135    61440
> > > > > 0             0 ltp.sh
> > > > > [  804.192946] [   1242]     0  1242     2462      134    61440
> > > > > 0             0 ltp.sh
> > > > > [  804.201207] [   1243]     0  1243     2462      134    61440
> > > > > 0             0 ltp.sh
> > > > > [  804.209475] [   1244]     0  1244     2462      134    61440
> > > > > 0             0 ltp.sh
> > > > > [  804.217742] [   1245]     0  1245     2561      229    65536
> > > > > 0             0 runltp
> > > > > [  804.226010] [   1246]     0  1246     1072       15    53248
> > > > > 0             0 tee
> > > > > [  804.234012] [   1313]     0  1313     1070       29    53248
> > > > > 0             0 ltp-pan
> > > > > [  804.242374] [   3216]     0  3216     1613       20    53248
> > > > > 0             0 oom01
> > > > > [  804.250554] [   3217]     0  3217     1646       31    57344
> > > > > 0             0 oom01
> > > > > [  804.258728] [   3245]     0  3245    81271      469   266240
> > > > > 0             0 NetworkManager
> > > > > [  804.267688] [   3249]     0  3249     6422       54    98304
> > > > > 0             0 systemd-hostnam
> > > > > [  804.276734] [   3250]     0  3250    52976      178   172032
> > > > > 0             0 nm-dispatcher
> > > > > [  804.285603] [   3254]   998  3254   131113      828   245760
> > > > > 0             0 polkitd
> > > > > [  804.293956] [   3261]     0  3261  4726385  3349389 26939392
> > > > > 0             0 oom01
> > > > > [  804.302129] [   3265]     0  3265     3187       33    73728
> > > > > 0             0 agetty
> > > > > [  804.310397] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/,task=oom01,pid=3261,uid=0
> > > > > [  804.322751] Out of memory: Killed process 3261 (oom01)
> > > > > total-vm:18905540kB, anon-rss:13397556kB, file-rss:0kB, shmem-rss:0kB,
> > > > > UID:0 pgtables:26308kB oom_score_adj:0
> > > > > [  806.652952] oom_reaper: reaped process 3261 (oom01), now
> > > > > anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
> > > > > [  807.579373] BUG: Bad page state in process kworker/u8:12  pfn:374308
> > > > > [  807.579521] BUG: Bad page state in process kworker/u8:13  pfn:4182a4
> > > > > [  807.585734] page:ffffea000dd0c200 refcount:0 mapcount:0
> > > > > mapping:0000000000000000 index:0xffff88837430e000
> > > > > head:ffffea000dd0c200 order:3 compound_mapcount:0 compound_pincount:0
> > > > > [  807.585736] flags: 0x200000000010000(head)
> > > > > [  807.585740] raw: 0200000000010000 ffffea000dce6e00 0000000200000002
> > > > > 0000000000000000
> > > > > [  807.592099] page:ffffea001060a900 refcount:0 mapcount:0
> > > > > mapping:0000000000000000 index:0xffff8884182a5e00
> > > > > head:ffffea001060a900 order:1 compound_mapcount:0
> > > > > [  807.607719] raw: ffff88837430e000 0000000000040000 00000000ffffffff
> > > > > ffff8883bda6cac1
> > > > > [  807.607720] page dumped because: page still charged to cgroup
> > > > > [  807.607720] page->mem_cgroup:ffff8883bda6cac1
> > > > > [  807.607721] Modules linked in: x86_pkg_temp_thermal
> > > > > [  807.607725] CPU: 0 PID: 3242 Comm: kworker/u8:12 Not tainted
> > > > > 5.8.0-rc3-next-20200630 #1
> > > > > [  807.607727] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
> > > > > 2.0b 07/27/2017
> > > > > [  807.607731] Workqueue: rpciod rpc_async_schedule
> > > > > [  807.611836] flags: 0x200000000010000(head)
> > > > > [  807.619563] Call Trace:
> > > > > [  807.619567]  dump_stack+0x84/0xba
> > > > > [  807.619569]  bad_page.cold+0x7b/0xac
> > > > > [  807.619573]  __free_pages_ok+0x95b/0xab0
> > > > > [  807.633461] raw: 0200000000010000 dead000000000100 dead000000000122
> > > > > 0000000000000000
> > > > > [  807.641189]  __free_pages+0x42/0x50
> > > > > [  807.641191]  __free_slab+0xcd/0x1f0
> > >
> > > Hm, interesting, it means that page->obj_cgroups is still set.
> > > But before __free_pages() __free_slab() always calls uncharge_slab_page(),
> > > which sets page->obj_cgroups to NULL except when !memcg_kmem_enabled().
> > >
> > > So it makes me think that somehow memcg_kmem_enabled() became false
> > > after being true, which can cause refcounting problems as well.
> > >
> > > Naresh, can you, please, check if the following patch solves problems?
> > > And thank you for reporting the problem!
> > >
> >
> > Thanks for providing a quick fix patch.
> >
> > >
> > > From c97afecd32c0db5e024be9ba72f43d22974f5bcd Mon Sep 17 00:00:00 2001
> > > From: Roman Gushchin <guro@fb.com>
> > > Date: Wed, 1 Jul 2020 11:05:32 -0700
> > > Subject: [PATCH] mm: kmem: make memcg_kmem_enabled() irreversible
> > >
> > > Historically the kernel memory accounting was an opt-in feature, which
> > > could be enabled for individual cgroups. But now it's not true, and
> > > it's on by default both on cgroup v1 and cgroup v2.  And as long as a
> > > user has at least one non-root memory cgroup, the kernel memory
> > > accounting is on. So in most setups it's either always on (if memory
> > > cgroups are in use and kmem accounting is not disabled), either always
> > > off (otherwise).
> > >
> > > memcg_kmem_enabled() is used in many places to guard the kernel memory
> > > accounting code. If memcg_kmem_enabled() can reverse from returning
> > > true to returning false (as now), we can't rely on it on release paths
> > > and have to check if it was on before.
> > >
> > > If we'll make memcg_kmem_enabled() irreversible (always returning true
> > > after returning it for the first time), it'll make the general logic
> > > more simple and robust. It also will allow to guard some checks which
> > > otherwise would stay unguarded.
> > >
> > > Signed-off-by: Roman Gushchin <guro@fb.com>
> > Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
> > Tested-by: Naresh Kamboju <naresh.kamboju@linaro.org>
> >
> > The below patch applied on top of linux-next 20200701and tested and
> > the reported bug got fixed on arm64, arm, x86_64 and i386.
>
> Hello, Naresh!
>
> Thank you very much for testing the patch!
>
> Btw, did it also fix the problem reported here:
> https://lore.kernel.org/linux-mm/20200701081951.GL2369@dhcp22.suse.cz/T/#t ?

Yes it got fixed the reported problem on the above e-mail thread.

- Naresh

>
> Thanks!
>
> Roman

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: BUG: Bad page state in process - page dumped because: page still charged to cgroup
@ 2020-07-02 15:55           ` Naresh Kamboju
  0 siblings, 0 replies; 22+ messages in thread
From: Naresh Kamboju @ 2020-07-02 15:55 UTC (permalink / raw)
  To: Roman Gushchin
  Cc: Michal Hocko, Shakeel Butt, Johannes Weiner, Andrew Morton,
	linux-mm, open list, lkft-triage, Chris Down

On Thu, 2 Jul 2020 at 21:19, Roman Gushchin <guro@fb.com> wrote:
>
> On Thu, Jul 02, 2020 at 12:22:03PM +0530, Naresh Kamboju wrote:
> > On Thu, 2 Jul 2020 at 00:16, Roman Gushchin <guro@fb.com> wrote:
> > >
> > > On Wed, Jul 01, 2020 at 10:29:04AM +0200, Michal Hocko wrote:
> > > > Smells like a different observable problem with the same/similar culprit
> > > > as http://lkml.kernel.org/r/CA+G9fYtrgF_EZHi0vi+HyWiXT5LGggDhVXtNspc=OzzFhL=xRQ@mail.gmail.com
> > > >
> > > > On Wed 01-07-20 13:48:57, Naresh Kamboju wrote:
> > > > > While running LTP mm test suite on x86_64 device the BUG: Bad page
> > > > > state in process
> > > > > noticed on linux-next 20200630 tag.
> > > > >
> > > > > Steps to reproduce:
> > > > > - boot linux-next 20200630 kernel on x86_64 device
> > > > > - cd /opt/ltp
> > > > > - ./runltp -f mm
> > > > >
> > > > > metadata:
> > > > >   git branch: master
> > > > >   git repo: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> > > > >   git commit: f2b92b14533e646e434523abdbafddb727c23898
> > > > >   git describe: next-20200630
> > > > >   kernel-config:
> > > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__builds.tuxbuild.com_j60yrp7CUpq3LCmqMB8Wdg_kernel.config&d=DwIBAg&c=5VD0RTtNlTh3ycd41b3MUw&r=jJYgtDM7QT-W-Fz_d29HYQ&m=h_KJ0e7abuh0BK2eDlDmWnAxqHPccpqchPgBS-oJcVE&s=qofg2XRToTeHvi8vSdOvDPtKpJsUqf3IWfqwieZqITg&e=
> > > > >
> > > > > Test crash dump:
> > > > > [  803.905169] Node 0 Normal: 2608*4kB (UMEH) 1380*8kB (UMEH) 64*16kB
> > > > > (MEH) 28*32kB (MEH) 13*64kB (UMEH) 164*128kB (UMEH) 39*256kB (UE)
> > > > > 1*512kB (M) 1*1024kB (M) 1*2048kB (M) 1*4096kB (M) = 62880kB
> > > > > [  803.922375] Node 0 hugepages_total=0 hugepages_free=0
> > > > > hugepages_surp=0 hugepages_size=2048kB
> > > > > [  803.930806] 2418 total pagecache pages
> > > > > [  803.934559] 0 pages in swap cache
> > > > > [  803.937878] Swap cache stats: add 0, delete 0, find 0/0
> > > > > [  803.943108] Free swap  = 0kB
> > > > > [  803.945997] Total swap = 0kB
> > > > > [  803.948885] 4181245 pages RAM
> > > > > [  803.951857] 0 pages HighMem/MovableOnly
> > > > > [  803.955695] 626062 pages reserved
> > > > > [  803.959016] Tasks state (memory values in pages):
> > > > > [  803.963722] [  pid  ]   uid  tgid total_vm      rss pgtables_bytes
> > > > > swapents oom_score_adj name
> > > > > [  803.972336] [    332]     0   332     8529      507   106496
> > > > > 0             0 systemd-journal
> > > > > [  803.981387] [    349]     0   349    10730      508   118784
> > > > > 0         -1000 systemd-udevd
> > > > > [  803.990262] [    371]   993   371     8666      108   118784
> > > > > 0             0 systemd-network
> > > > > [  803.999306] [    379]   992   379     9529       99   110592
> > > > > 0             0 systemd-resolve
> > > > > [  804.008347] [    388]     0   388     2112       19    61440
> > > > > 0             0 syslogd
> > > > > [  804.016709] [    389]   995   389     9308      108   122880
> > > > > 0             0 avahi-daemon
> > > > > [  804.025517] [    391]     0   391     1075       21    57344
> > > > > 0             0 acpid
> > > > > [  804.033695] [    394]   995   394     9277       68   114688
> > > > > 0             0 avahi-daemon
> > > > > [  804.042476] [    396]   996   396     7241      154   102400
> > > > > 0          -900 dbus-daemon
> > > > > [  804.051170] [    397]     0   397     2313       72    65536
> > > > > 0             0 crond
> > > > > [  804.059349] [    399]     0   399    34025      161   167936
> > > > > 0             0 thermald
> > > > > [  804.067783] [    400]     0   400     8615      115   110592
> > > > > 0             0 systemd-logind
> > > > > [  804.076734] [    401]     0   401     2112       32    57344
> > > > > 0             0 klogd
> > > > > [  804.084907] [    449] 65534   449     3245       39    69632
> > > > > 0             0 dnsmasq
> > > > > [  804.093254] [    450]     0   450     3187       33    73728
> > > > > 0             0 agetty
> > > > > [  804.101541] [    452]     0   452     3187       33    73728
> > > > > 0             0 agetty
> > > > > [  804.109826] [    453]     0   453    14707      107   159744
> > > > > 0             0 login
> > > > > [  804.118007] [    463]     0   463     9532      163   122880
> > > > > 0             0 systemd
> > > > > [  804.126362] [    464]     0   464    16132      424   172032
> > > > > 0             0 (sd-pam)
> > > > > [  804.134803] [    468]     0   468     4538      105    81920
> > > > > 0             0 sh
> > > > > [  804.142741] [    472]     0   472    11102       83   131072
> > > > > 0             0 su
> > > > > [  804.150680] [    473]     0   473     4538       99    81920
> > > > > 0             0 sh
> > > > > [  804.158637] [    519]     0   519     2396       57    61440
> > > > > 0             0 lava-test-runne
> > > > > [  804.167700] [   1220]     0  1220     2396       52    61440
> > > > > 0             0 lava-test-shell
> > > > > [  804.176738] [   1221]     0  1221     2396       55    61440
> > > > > 0             0 sh
> > > > > [  804.184680] [   1223]     0  1223     2462      135    61440
> > > > > 0             0 ltp.sh
> > > > > [  804.192946] [   1242]     0  1242     2462      134    61440
> > > > > 0             0 ltp.sh
> > > > > [  804.201207] [   1243]     0  1243     2462      134    61440
> > > > > 0             0 ltp.sh
> > > > > [  804.209475] [   1244]     0  1244     2462      134    61440
> > > > > 0             0 ltp.sh
> > > > > [  804.217742] [   1245]     0  1245     2561      229    65536
> > > > > 0             0 runltp
> > > > > [  804.226010] [   1246]     0  1246     1072       15    53248
> > > > > 0             0 tee
> > > > > [  804.234012] [   1313]     0  1313     1070       29    53248
> > > > > 0             0 ltp-pan
> > > > > [  804.242374] [   3216]     0  3216     1613       20    53248
> > > > > 0             0 oom01
> > > > > [  804.250554] [   3217]     0  3217     1646       31    57344
> > > > > 0             0 oom01
> > > > > [  804.258728] [   3245]     0  3245    81271      469   266240
> > > > > 0             0 NetworkManager
> > > > > [  804.267688] [   3249]     0  3249     6422       54    98304
> > > > > 0             0 systemd-hostnam
> > > > > [  804.276734] [   3250]     0  3250    52976      178   172032
> > > > > 0             0 nm-dispatcher
> > > > > [  804.285603] [   3254]   998  3254   131113      828   245760
> > > > > 0             0 polkitd
> > > > > [  804.293956] [   3261]     0  3261  4726385  3349389 26939392
> > > > > 0             0 oom01
> > > > > [  804.302129] [   3265]     0  3265     3187       33    73728
> > > > > 0             0 agetty
> > > > > [  804.310397] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/,task=oom01,pid=3261,uid=0
> > > > > [  804.322751] Out of memory: Killed process 3261 (oom01)
> > > > > total-vm:18905540kB, anon-rss:13397556kB, file-rss:0kB, shmem-rss:0kB,
> > > > > UID:0 pgtables:26308kB oom_score_adj:0
> > > > > [  806.652952] oom_reaper: reaped process 3261 (oom01), now
> > > > > anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
> > > > > [  807.579373] BUG: Bad page state in process kworker/u8:12  pfn:374308
> > > > > [  807.579521] BUG: Bad page state in process kworker/u8:13  pfn:4182a4
> > > > > [  807.585734] page:ffffea000dd0c200 refcount:0 mapcount:0
> > > > > mapping:0000000000000000 index:0xffff88837430e000
> > > > > head:ffffea000dd0c200 order:3 compound_mapcount:0 compound_pincount:0
> > > > > [  807.585736] flags: 0x200000000010000(head)
> > > > > [  807.585740] raw: 0200000000010000 ffffea000dce6e00 0000000200000002
> > > > > 0000000000000000
> > > > > [  807.592099] page:ffffea001060a900 refcount:0 mapcount:0
> > > > > mapping:0000000000000000 index:0xffff8884182a5e00
> > > > > head:ffffea001060a900 order:1 compound_mapcount:0
> > > > > [  807.607719] raw: ffff88837430e000 0000000000040000 00000000ffffffff
> > > > > ffff8883bda6cac1
> > > > > [  807.607720] page dumped because: page still charged to cgroup
> > > > > [  807.607720] page->mem_cgroup:ffff8883bda6cac1
> > > > > [  807.607721] Modules linked in: x86_pkg_temp_thermal
> > > > > [  807.607725] CPU: 0 PID: 3242 Comm: kworker/u8:12 Not tainted
> > > > > 5.8.0-rc3-next-20200630 #1
> > > > > [  807.607727] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
> > > > > 2.0b 07/27/2017
> > > > > [  807.607731] Workqueue: rpciod rpc_async_schedule
> > > > > [  807.611836] flags: 0x200000000010000(head)
> > > > > [  807.619563] Call Trace:
> > > > > [  807.619567]  dump_stack+0x84/0xba
> > > > > [  807.619569]  bad_page.cold+0x7b/0xac
> > > > > [  807.619573]  __free_pages_ok+0x95b/0xab0
> > > > > [  807.633461] raw: 0200000000010000 dead000000000100 dead000000000122
> > > > > 0000000000000000
> > > > > [  807.641189]  __free_pages+0x42/0x50
> > > > > [  807.641191]  __free_slab+0xcd/0x1f0
> > >
> > > Hm, interesting, it means that page->obj_cgroups is still set.
> > > But before __free_pages() __free_slab() always calls uncharge_slab_page(),
> > > which sets page->obj_cgroups to NULL except when !memcg_kmem_enabled().
> > >
> > > So it makes me think that somehow memcg_kmem_enabled() became false
> > > after being true, which can cause refcounting problems as well.
> > >
> > > Naresh, can you, please, check if the following patch solves problems?
> > > And thank you for reporting the problem!
> > >
> >
> > Thanks for providing a quick fix patch.
> >
> > >
> > > From c97afecd32c0db5e024be9ba72f43d22974f5bcd Mon Sep 17 00:00:00 2001
> > > From: Roman Gushchin <guro@fb.com>
> > > Date: Wed, 1 Jul 2020 11:05:32 -0700
> > > Subject: [PATCH] mm: kmem: make memcg_kmem_enabled() irreversible
> > >
> > > Historically the kernel memory accounting was an opt-in feature, which
> > > could be enabled for individual cgroups. But now it's not true, and
> > > it's on by default both on cgroup v1 and cgroup v2.  And as long as a
> > > user has at least one non-root memory cgroup, the kernel memory
> > > accounting is on. So in most setups it's either always on (if memory
> > > cgroups are in use and kmem accounting is not disabled), either always
> > > off (otherwise).
> > >
> > > memcg_kmem_enabled() is used in many places to guard the kernel memory
> > > accounting code. If memcg_kmem_enabled() can reverse from returning
> > > true to returning false (as now), we can't rely on it on release paths
> > > and have to check if it was on before.
> > >
> > > If we'll make memcg_kmem_enabled() irreversible (always returning true
> > > after returning it for the first time), it'll make the general logic
> > > more simple and robust. It also will allow to guard some checks which
> > > otherwise would stay unguarded.
> > >
> > > Signed-off-by: Roman Gushchin <guro@fb.com>
> > Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
> > Tested-by: Naresh Kamboju <naresh.kamboju@linaro.org>
> >
> > The below patch applied on top of linux-next 20200701and tested and
> > the reported bug got fixed on arm64, arm, x86_64 and i386.
>
> Hello, Naresh!
>
> Thank you very much for testing the patch!
>
> Btw, did it also fix the problem reported here:
> https://lore.kernel.org/linux-mm/20200701081951.GL2369@dhcp22.suse.cz/T/#t ?

Yes it got fixed the reported problem on the above e-mail thread.

- Naresh

>
> Thanks!
>
> Roman


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: BUG: Bad page state in process - page dumped because: page still charged to cgroup
  2020-07-02 15:55           ` Naresh Kamboju
  (?)
@ 2020-07-02 15:59           ` Roman Gushchin
  -1 siblings, 0 replies; 22+ messages in thread
From: Roman Gushchin @ 2020-07-02 15:59 UTC (permalink / raw)
  To: Naresh Kamboju
  Cc: Michal Hocko, Shakeel Butt, Johannes Weiner, Andrew Morton,
	linux-mm, open list, lkft-triage, Chris Down

On Thu, Jul 02, 2020 at 09:25:08PM +0530, Naresh Kamboju wrote:
> On Thu, 2 Jul 2020 at 21:19, Roman Gushchin <guro@fb.com> wrote:
> >
> > On Thu, Jul 02, 2020 at 12:22:03PM +0530, Naresh Kamboju wrote:
> > > On Thu, 2 Jul 2020 at 00:16, Roman Gushchin <guro@fb.com> wrote:
> > > >
> > > > On Wed, Jul 01, 2020 at 10:29:04AM +0200, Michal Hocko wrote:
> > > > > Smells like a different observable problem with the same/similar culprit
> > > > > as http://lkml.kernel.org/r/CA+G9fYtrgF_EZHi0vi+HyWiXT5LGggDhVXtNspc=OzzFhL=xRQ@mail.gmail.com
> > > > >
> > > > > On Wed 01-07-20 13:48:57, Naresh Kamboju wrote:
> > > > > > While running LTP mm test suite on x86_64 device the BUG: Bad page
> > > > > > state in process
> > > > > > noticed on linux-next 20200630 tag.
> > > > > >
> > > > > > Steps to reproduce:
> > > > > > - boot linux-next 20200630 kernel on x86_64 device
> > > > > > - cd /opt/ltp
> > > > > > - ./runltp -f mm
> > > > > >
> > > > > > metadata:
> > > > > >   git branch: master
> > > > > >   git repo: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> > > > > >   git commit: f2b92b14533e646e434523abdbafddb727c23898
> > > > > >   git describe: next-20200630
> > > > > >   kernel-config:
> > > > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__builds.tuxbuild.com_j60yrp7CUpq3LCmqMB8Wdg_kernel.config&d=DwIBAg&c=5VD0RTtNlTh3ycd41b3MUw&r=jJYgtDM7QT-W-Fz_d29HYQ&m=h_KJ0e7abuh0BK2eDlDmWnAxqHPccpqchPgBS-oJcVE&s=qofg2XRToTeHvi8vSdOvDPtKpJsUqf3IWfqwieZqITg&e=
> > > > > >
> > > > > > Test crash dump:
> > > > > > [  803.905169] Node 0 Normal: 2608*4kB (UMEH) 1380*8kB (UMEH) 64*16kB
> > > > > > (MEH) 28*32kB (MEH) 13*64kB (UMEH) 164*128kB (UMEH) 39*256kB (UE)
> > > > > > 1*512kB (M) 1*1024kB (M) 1*2048kB (M) 1*4096kB (M) = 62880kB
> > > > > > [  803.922375] Node 0 hugepages_total=0 hugepages_free=0
> > > > > > hugepages_surp=0 hugepages_size=2048kB
> > > > > > [  803.930806] 2418 total pagecache pages
> > > > > > [  803.934559] 0 pages in swap cache
> > > > > > [  803.937878] Swap cache stats: add 0, delete 0, find 0/0
> > > > > > [  803.943108] Free swap  = 0kB
> > > > > > [  803.945997] Total swap = 0kB
> > > > > > [  803.948885] 4181245 pages RAM
> > > > > > [  803.951857] 0 pages HighMem/MovableOnly
> > > > > > [  803.955695] 626062 pages reserved
> > > > > > [  803.959016] Tasks state (memory values in pages):
> > > > > > [  803.963722] [  pid  ]   uid  tgid total_vm      rss pgtables_bytes
> > > > > > swapents oom_score_adj name
> > > > > > [  803.972336] [    332]     0   332     8529      507   106496
> > > > > > 0             0 systemd-journal
> > > > > > [  803.981387] [    349]     0   349    10730      508   118784
> > > > > > 0         -1000 systemd-udevd
> > > > > > [  803.990262] [    371]   993   371     8666      108   118784
> > > > > > 0             0 systemd-network
> > > > > > [  803.999306] [    379]   992   379     9529       99   110592
> > > > > > 0             0 systemd-resolve
> > > > > > [  804.008347] [    388]     0   388     2112       19    61440
> > > > > > 0             0 syslogd
> > > > > > [  804.016709] [    389]   995   389     9308      108   122880
> > > > > > 0             0 avahi-daemon
> > > > > > [  804.025517] [    391]     0   391     1075       21    57344
> > > > > > 0             0 acpid
> > > > > > [  804.033695] [    394]   995   394     9277       68   114688
> > > > > > 0             0 avahi-daemon
> > > > > > [  804.042476] [    396]   996   396     7241      154   102400
> > > > > > 0          -900 dbus-daemon
> > > > > > [  804.051170] [    397]     0   397     2313       72    65536
> > > > > > 0             0 crond
> > > > > > [  804.059349] [    399]     0   399    34025      161   167936
> > > > > > 0             0 thermald
> > > > > > [  804.067783] [    400]     0   400     8615      115   110592
> > > > > > 0             0 systemd-logind
> > > > > > [  804.076734] [    401]     0   401     2112       32    57344
> > > > > > 0             0 klogd
> > > > > > [  804.084907] [    449] 65534   449     3245       39    69632
> > > > > > 0             0 dnsmasq
> > > > > > [  804.093254] [    450]     0   450     3187       33    73728
> > > > > > 0             0 agetty
> > > > > > [  804.101541] [    452]     0   452     3187       33    73728
> > > > > > 0             0 agetty
> > > > > > [  804.109826] [    453]     0   453    14707      107   159744
> > > > > > 0             0 login
> > > > > > [  804.118007] [    463]     0   463     9532      163   122880
> > > > > > 0             0 systemd
> > > > > > [  804.126362] [    464]     0   464    16132      424   172032
> > > > > > 0             0 (sd-pam)
> > > > > > [  804.134803] [    468]     0   468     4538      105    81920
> > > > > > 0             0 sh
> > > > > > [  804.142741] [    472]     0   472    11102       83   131072
> > > > > > 0             0 su
> > > > > > [  804.150680] [    473]     0   473     4538       99    81920
> > > > > > 0             0 sh
> > > > > > [  804.158637] [    519]     0   519     2396       57    61440
> > > > > > 0             0 lava-test-runne
> > > > > > [  804.167700] [   1220]     0  1220     2396       52    61440
> > > > > > 0             0 lava-test-shell
> > > > > > [  804.176738] [   1221]     0  1221     2396       55    61440
> > > > > > 0             0 sh
> > > > > > [  804.184680] [   1223]     0  1223     2462      135    61440
> > > > > > 0             0 ltp.sh
> > > > > > [  804.192946] [   1242]     0  1242     2462      134    61440
> > > > > > 0             0 ltp.sh
> > > > > > [  804.201207] [   1243]     0  1243     2462      134    61440
> > > > > > 0             0 ltp.sh
> > > > > > [  804.209475] [   1244]     0  1244     2462      134    61440
> > > > > > 0             0 ltp.sh
> > > > > > [  804.217742] [   1245]     0  1245     2561      229    65536
> > > > > > 0             0 runltp
> > > > > > [  804.226010] [   1246]     0  1246     1072       15    53248
> > > > > > 0             0 tee
> > > > > > [  804.234012] [   1313]     0  1313     1070       29    53248
> > > > > > 0             0 ltp-pan
> > > > > > [  804.242374] [   3216]     0  3216     1613       20    53248
> > > > > > 0             0 oom01
> > > > > > [  804.250554] [   3217]     0  3217     1646       31    57344
> > > > > > 0             0 oom01
> > > > > > [  804.258728] [   3245]     0  3245    81271      469   266240
> > > > > > 0             0 NetworkManager
> > > > > > [  804.267688] [   3249]     0  3249     6422       54    98304
> > > > > > 0             0 systemd-hostnam
> > > > > > [  804.276734] [   3250]     0  3250    52976      178   172032
> > > > > > 0             0 nm-dispatcher
> > > > > > [  804.285603] [   3254]   998  3254   131113      828   245760
> > > > > > 0             0 polkitd
> > > > > > [  804.293956] [   3261]     0  3261  4726385  3349389 26939392
> > > > > > 0             0 oom01
> > > > > > [  804.302129] [   3265]     0  3265     3187       33    73728
> > > > > > 0             0 agetty
> > > > > > [  804.310397] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/,task=oom01,pid=3261,uid=0
> > > > > > [  804.322751] Out of memory: Killed process 3261 (oom01)
> > > > > > total-vm:18905540kB, anon-rss:13397556kB, file-rss:0kB, shmem-rss:0kB,
> > > > > > UID:0 pgtables:26308kB oom_score_adj:0
> > > > > > [  806.652952] oom_reaper: reaped process 3261 (oom01), now
> > > > > > anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
> > > > > > [  807.579373] BUG: Bad page state in process kworker/u8:12  pfn:374308
> > > > > > [  807.579521] BUG: Bad page state in process kworker/u8:13  pfn:4182a4
> > > > > > [  807.585734] page:ffffea000dd0c200 refcount:0 mapcount:0
> > > > > > mapping:0000000000000000 index:0xffff88837430e000
> > > > > > head:ffffea000dd0c200 order:3 compound_mapcount:0 compound_pincount:0
> > > > > > [  807.585736] flags: 0x200000000010000(head)
> > > > > > [  807.585740] raw: 0200000000010000 ffffea000dce6e00 0000000200000002
> > > > > > 0000000000000000
> > > > > > [  807.592099] page:ffffea001060a900 refcount:0 mapcount:0
> > > > > > mapping:0000000000000000 index:0xffff8884182a5e00
> > > > > > head:ffffea001060a900 order:1 compound_mapcount:0
> > > > > > [  807.607719] raw: ffff88837430e000 0000000000040000 00000000ffffffff
> > > > > > ffff8883bda6cac1
> > > > > > [  807.607720] page dumped because: page still charged to cgroup
> > > > > > [  807.607720] page->mem_cgroup:ffff8883bda6cac1
> > > > > > [  807.607721] Modules linked in: x86_pkg_temp_thermal
> > > > > > [  807.607725] CPU: 0 PID: 3242 Comm: kworker/u8:12 Not tainted
> > > > > > 5.8.0-rc3-next-20200630 #1
> > > > > > [  807.607727] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
> > > > > > 2.0b 07/27/2017
> > > > > > [  807.607731] Workqueue: rpciod rpc_async_schedule
> > > > > > [  807.611836] flags: 0x200000000010000(head)
> > > > > > [  807.619563] Call Trace:
> > > > > > [  807.619567]  dump_stack+0x84/0xba
> > > > > > [  807.619569]  bad_page.cold+0x7b/0xac
> > > > > > [  807.619573]  __free_pages_ok+0x95b/0xab0
> > > > > > [  807.633461] raw: 0200000000010000 dead000000000100 dead000000000122
> > > > > > 0000000000000000
> > > > > > [  807.641189]  __free_pages+0x42/0x50
> > > > > > [  807.641191]  __free_slab+0xcd/0x1f0
> > > >
> > > > Hm, interesting, it means that page->obj_cgroups is still set.
> > > > But before __free_pages() __free_slab() always calls uncharge_slab_page(),
> > > > which sets page->obj_cgroups to NULL except when !memcg_kmem_enabled().
> > > >
> > > > So it makes me think that somehow memcg_kmem_enabled() became false
> > > > after being true, which can cause refcounting problems as well.
> > > >
> > > > Naresh, can you, please, check if the following patch solves problems?
> > > > And thank you for reporting the problem!
> > > >
> > >
> > > Thanks for providing a quick fix patch.
> > >
> > > >
> > > > From c97afecd32c0db5e024be9ba72f43d22974f5bcd Mon Sep 17 00:00:00 2001
> > > > From: Roman Gushchin <guro@fb.com>
> > > > Date: Wed, 1 Jul 2020 11:05:32 -0700
> > > > Subject: [PATCH] mm: kmem: make memcg_kmem_enabled() irreversible
> > > >
> > > > Historically the kernel memory accounting was an opt-in feature, which
> > > > could be enabled for individual cgroups. But now it's not true, and
> > > > it's on by default both on cgroup v1 and cgroup v2.  And as long as a
> > > > user has at least one non-root memory cgroup, the kernel memory
> > > > accounting is on. So in most setups it's either always on (if memory
> > > > cgroups are in use and kmem accounting is not disabled), either always
> > > > off (otherwise).
> > > >
> > > > memcg_kmem_enabled() is used in many places to guard the kernel memory
> > > > accounting code. If memcg_kmem_enabled() can reverse from returning
> > > > true to returning false (as now), we can't rely on it on release paths
> > > > and have to check if it was on before.
> > > >
> > > > If we'll make memcg_kmem_enabled() irreversible (always returning true
> > > > after returning it for the first time), it'll make the general logic
> > > > more simple and robust. It also will allow to guard some checks which
> > > > otherwise would stay unguarded.
> > > >
> > > > Signed-off-by: Roman Gushchin <guro@fb.com>
> > > Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
> > > Tested-by: Naresh Kamboju <naresh.kamboju@linaro.org>
> > >
> > > The below patch applied on top of linux-next 20200701and tested and
> > > the reported bug got fixed on arm64, arm, x86_64 and i386.
> >
> > Hello, Naresh!
> >
> > Thank you very much for testing the patch!
> >
> > Btw, did it also fix the problem reported here:
> > https://lore.kernel.org/linux-mm/20200701081951.GL2369@dhcp22.suse.cz/T/#t ?
> 
> Yes it got fixed the reported problem on the above e-mail thread.

Thank you for the confirmation!

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: BUG: Bad page state in process - page dumped because: page still charged to cgroup
  2020-07-01 18:45   ` Roman Gushchin
@ 2020-07-02 16:02       ` Shakeel Butt
  2020-07-02  6:52       ` Naresh Kamboju
                         ` (2 subsequent siblings)
  3 siblings, 0 replies; 22+ messages in thread
From: Shakeel Butt @ 2020-07-02 16:02 UTC (permalink / raw)
  To: Roman Gushchin
  Cc: Michal Hocko, Naresh Kamboju, Johannes Weiner, Andrew Morton,
	linux-mm, open list, lkft-triage, Chris Down

On Wed, Jul 1, 2020 at 11:46 AM Roman Gushchin <guro@fb.com> wrote:
...
> --
>
> From c97afecd32c0db5e024be9ba72f43d22974f5bcd Mon Sep 17 00:00:00 2001
> From: Roman Gushchin <guro@fb.com>
> Date: Wed, 1 Jul 2020 11:05:32 -0700
> Subject: [PATCH] mm: kmem: make memcg_kmem_enabled() irreversible
>
> Historically the kernel memory accounting was an opt-in feature, which
> could be enabled for individual cgroups. But now it's not true, and
> it's on by default both on cgroup v1 and cgroup v2.  And as long as a
> user has at least one non-root memory cgroup, the kernel memory
> accounting is on. So in most setups it's either always on (if memory
> cgroups are in use and kmem accounting is not disabled), either always
> off (otherwise).
>
> memcg_kmem_enabled() is used in many places to guard the kernel memory
> accounting code. If memcg_kmem_enabled() can reverse from returning
> true to returning false (as now), we can't rely on it on release paths
> and have to check if it was on before.
>
> If we'll make memcg_kmem_enabled() irreversible (always returning true
> after returning it for the first time), it'll make the general logic
> more simple and robust. It also will allow to guard some checks which
> otherwise would stay unguarded.
>
> Signed-off-by: Roman Gushchin <guro@fb.com>

Reviewed-by: Shakeel Butt <shakeelb@google.com>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: BUG: Bad page state in process - page dumped because: page still charged to cgroup
@ 2020-07-02 16:02       ` Shakeel Butt
  0 siblings, 0 replies; 22+ messages in thread
From: Shakeel Butt @ 2020-07-02 16:02 UTC (permalink / raw)
  To: Roman Gushchin
  Cc: Michal Hocko, Naresh Kamboju, Johannes Weiner, Andrew Morton,
	linux-mm, open list, lkft-triage, Chris Down

On Wed, Jul 1, 2020 at 11:46 AM Roman Gushchin <guro@fb.com> wrote:
...
> --
>
> From c97afecd32c0db5e024be9ba72f43d22974f5bcd Mon Sep 17 00:00:00 2001
> From: Roman Gushchin <guro@fb.com>
> Date: Wed, 1 Jul 2020 11:05:32 -0700
> Subject: [PATCH] mm: kmem: make memcg_kmem_enabled() irreversible
>
> Historically the kernel memory accounting was an opt-in feature, which
> could be enabled for individual cgroups. But now it's not true, and
> it's on by default both on cgroup v1 and cgroup v2.  And as long as a
> user has at least one non-root memory cgroup, the kernel memory
> accounting is on. So in most setups it's either always on (if memory
> cgroups are in use and kmem accounting is not disabled), either always
> off (otherwise).
>
> memcg_kmem_enabled() is used in many places to guard the kernel memory
> accounting code. If memcg_kmem_enabled() can reverse from returning
> true to returning false (as now), we can't rely on it on release paths
> and have to check if it was on before.
>
> If we'll make memcg_kmem_enabled() irreversible (always returning true
> after returning it for the first time), it'll make the general logic
> more simple and robust. It also will allow to guard some checks which
> otherwise would stay unguarded.
>
> Signed-off-by: Roman Gushchin <guro@fb.com>

Reviewed-by: Shakeel Butt <shakeelb@google.com>


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: BUG: Bad page state in process - page dumped because: page still charged to cgroup
  2020-07-01 18:45   ` Roman Gushchin
                       ` (2 preceding siblings ...)
  2020-07-02 16:02       ` Shakeel Butt
@ 2020-07-02 16:22     ` Michal Hocko
  2020-07-02 16:35       ` Vlastimil Babka
  2020-07-02 16:37       ` Roman Gushchin
  3 siblings, 2 replies; 22+ messages in thread
From: Michal Hocko @ 2020-07-02 16:22 UTC (permalink / raw)
  To: Roman Gushchin
  Cc: Naresh Kamboju, Shakeel Butt, Johannes Weiner, Andrew Morton,
	linux-mm, open list, lkft-triage, Chris Down

On Wed 01-07-20 11:45:52, Roman Gushchin wrote:
[...]
> >From c97afecd32c0db5e024be9ba72f43d22974f5bcd Mon Sep 17 00:00:00 2001
> From: Roman Gushchin <guro@fb.com>
> Date: Wed, 1 Jul 2020 11:05:32 -0700
> Subject: [PATCH] mm: kmem: make memcg_kmem_enabled() irreversible
> 
> Historically the kernel memory accounting was an opt-in feature, which
> could be enabled for individual cgroups. But now it's not true, and
> it's on by default both on cgroup v1 and cgroup v2.  And as long as a
> user has at least one non-root memory cgroup, the kernel memory
> accounting is on. So in most setups it's either always on (if memory
> cgroups are in use and kmem accounting is not disabled), either always
> off (otherwise).
> 
> memcg_kmem_enabled() is used in many places to guard the kernel memory
> accounting code. If memcg_kmem_enabled() can reverse from returning
> true to returning false (as now), we can't rely on it on release paths
> and have to check if it was on before.
> 
> If we'll make memcg_kmem_enabled() irreversible (always returning true
> after returning it for the first time), it'll make the general logic
> more simple and robust. It also will allow to guard some checks which
> otherwise would stay unguarded.
> 
> Signed-off-by: Roman Gushchin <guro@fb.com>
> ---
>  mm/memcontrol.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index 50ae77f3985e..2d018a51c941 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -3582,7 +3582,8 @@ static int memcg_online_kmem(struct mem_cgroup *memcg)
>  	objcg->memcg = memcg;
>  	rcu_assign_pointer(memcg->objcg, objcg);
>  
> -	static_branch_inc(&memcg_kmem_enabled_key);
> +	if (!memcg_kmem_enabled())
> +		static_branch_inc(&memcg_kmem_enabled_key);

Wouldn't be static_branch_enable() more readable?

>  	/*
>  	 * A memory cgroup is considered kmem-online as soon as it gets
>  	 * kmemcg_id. Setting the id after enabling static branching will
> @@ -3643,9 +3644,6 @@ static void memcg_free_kmem(struct mem_cgroup *memcg)
>  	/* css_alloc() failed, offlining didn't happen */
>  	if (unlikely(memcg->kmem_state == KMEM_ONLINE))
>  		memcg_offline_kmem(memcg);
> -
> -	if (memcg->kmem_state == KMEM_ALLOCATED)
> -		static_branch_dec(&memcg_kmem_enabled_key);
>  }
>  #else
>  static int memcg_online_kmem(struct mem_cgroup *memcg)
> -- 
> 2.26.2

-- 
Michal Hocko
SUSE Labs

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: BUG: Bad page state in process - page dumped because: page still charged to cgroup
  2020-07-02 16:22     ` Michal Hocko
@ 2020-07-02 16:35       ` Vlastimil Babka
  2020-07-02 17:07         ` Roman Gushchin
  2020-07-02 17:10         ` Michal Hocko
  2020-07-02 16:37       ` Roman Gushchin
  1 sibling, 2 replies; 22+ messages in thread
From: Vlastimil Babka @ 2020-07-02 16:35 UTC (permalink / raw)
  To: Michal Hocko, Roman Gushchin
  Cc: Naresh Kamboju, Shakeel Butt, Johannes Weiner, Andrew Morton,
	linux-mm, open list, lkft-triage, Chris Down, Peter Zijlstra

On 7/2/20 6:22 PM, Michal Hocko wrote:
> On Wed 01-07-20 11:45:52, Roman Gushchin wrote:
> [...]
>> >From c97afecd32c0db5e024be9ba72f43d22974f5bcd Mon Sep 17 00:00:00 2001
>> From: Roman Gushchin <guro@fb.com>
>> Date: Wed, 1 Jul 2020 11:05:32 -0700
>> Subject: [PATCH] mm: kmem: make memcg_kmem_enabled() irreversible
>> 
>> Historically the kernel memory accounting was an opt-in feature, which
>> could be enabled for individual cgroups. But now it's not true, and
>> it's on by default both on cgroup v1 and cgroup v2.  And as long as a
>> user has at least one non-root memory cgroup, the kernel memory
>> accounting is on. So in most setups it's either always on (if memory
>> cgroups are in use and kmem accounting is not disabled), either always
>> off (otherwise).
>> 
>> memcg_kmem_enabled() is used in many places to guard the kernel memory
>> accounting code. If memcg_kmem_enabled() can reverse from returning
>> true to returning false (as now), we can't rely on it on release paths
>> and have to check if it was on before.
>> 
>> If we'll make memcg_kmem_enabled() irreversible (always returning true
>> after returning it for the first time), it'll make the general logic
>> more simple and robust. It also will allow to guard some checks which
>> otherwise would stay unguarded.
>> 
>> Signed-off-by: Roman Gushchin <guro@fb.com>

Fixes: ? or let Andrew squash it to some patch of your series (it's in mmotm I
think)?

Acked-by: Vlastimil Babka <vbabka@suse.cz>

But see below:

>> ---
>>  mm/memcontrol.c | 6 ++----
>>  1 file changed, 2 insertions(+), 4 deletions(-)
>> 
>> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
>> index 50ae77f3985e..2d018a51c941 100644
>> --- a/mm/memcontrol.c
>> +++ b/mm/memcontrol.c
>> @@ -3582,7 +3582,8 @@ static int memcg_online_kmem(struct mem_cgroup *memcg)
>>  	objcg->memcg = memcg;
>>  	rcu_assign_pointer(memcg->objcg, objcg);
>>  
>> -	static_branch_inc(&memcg_kmem_enabled_key);
>> +	if (!memcg_kmem_enabled())
>> +		static_branch_inc(&memcg_kmem_enabled_key);
> 
> Wouldn't be static_branch_enable() more readable?

Yes, and drop the if(). It will just do nothing and return if already enabled.
Maybe slightly less efficient, but this is not a fast path anyway, and it feels
weird to modify the static key in a branch controlled by the static key itself
(CC peterz in case he wants to add something).

>>  	/*
>>  	 * A memory cgroup is considered kmem-online as soon as it gets
>>  	 * kmemcg_id. Setting the id after enabling static branching will
>> @@ -3643,9 +3644,6 @@ static void memcg_free_kmem(struct mem_cgroup *memcg)
>>  	/* css_alloc() failed, offlining didn't happen */
>>  	if (unlikely(memcg->kmem_state == KMEM_ONLINE))
>>  		memcg_offline_kmem(memcg);
>> -
>> -	if (memcg->kmem_state == KMEM_ALLOCATED)
>> -		static_branch_dec(&memcg_kmem_enabled_key);
>>  }
>>  #else
>>  static int memcg_online_kmem(struct mem_cgroup *memcg)
>> -- 
>> 2.26.2
> 


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: BUG: Bad page state in process - page dumped because: page still charged to cgroup
  2020-07-02 16:22     ` Michal Hocko
  2020-07-02 16:35       ` Vlastimil Babka
@ 2020-07-02 16:37       ` Roman Gushchin
  2020-07-02 17:13         ` Michal Hocko
  1 sibling, 1 reply; 22+ messages in thread
From: Roman Gushchin @ 2020-07-02 16:37 UTC (permalink / raw)
  To: Michal Hocko
  Cc: Naresh Kamboju, Shakeel Butt, Johannes Weiner, Andrew Morton,
	linux-mm, open list, lkft-triage, Chris Down

On Thu, Jul 02, 2020 at 06:22:02PM +0200, Michal Hocko wrote:
> On Wed 01-07-20 11:45:52, Roman Gushchin wrote:
> [...]
> > >From c97afecd32c0db5e024be9ba72f43d22974f5bcd Mon Sep 17 00:00:00 2001
> > From: Roman Gushchin <guro@fb.com>
> > Date: Wed, 1 Jul 2020 11:05:32 -0700
> > Subject: [PATCH] mm: kmem: make memcg_kmem_enabled() irreversible
> > 
> > Historically the kernel memory accounting was an opt-in feature, which
> > could be enabled for individual cgroups. But now it's not true, and
> > it's on by default both on cgroup v1 and cgroup v2.  And as long as a
> > user has at least one non-root memory cgroup, the kernel memory
> > accounting is on. So in most setups it's either always on (if memory
> > cgroups are in use and kmem accounting is not disabled), either always
> > off (otherwise).
> > 
> > memcg_kmem_enabled() is used in many places to guard the kernel memory
> > accounting code. If memcg_kmem_enabled() can reverse from returning
> > true to returning false (as now), we can't rely on it on release paths
> > and have to check if it was on before.
> > 
> > If we'll make memcg_kmem_enabled() irreversible (always returning true
> > after returning it for the first time), it'll make the general logic
> > more simple and robust. It also will allow to guard some checks which
> > otherwise would stay unguarded.
> > 
> > Signed-off-by: Roman Gushchin <guro@fb.com>
> > ---
> >  mm/memcontrol.c | 6 ++----
> >  1 file changed, 2 insertions(+), 4 deletions(-)
> > 
> > diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> > index 50ae77f3985e..2d018a51c941 100644
> > --- a/mm/memcontrol.c
> > +++ b/mm/memcontrol.c
> > @@ -3582,7 +3582,8 @@ static int memcg_online_kmem(struct mem_cgroup *memcg)
> >  	objcg->memcg = memcg;
> >  	rcu_assign_pointer(memcg->objcg, objcg);
> >  
> > -	static_branch_inc(&memcg_kmem_enabled_key);
> > +	if (!memcg_kmem_enabled())
> > +		static_branch_inc(&memcg_kmem_enabled_key);
> 
> Wouldn't be static_branch_enable() more readable?

Agree, will change, add reported-by and tested-by tags and resend.
Thanks!

Btw, don't we wanna to change memcg_kmem_enabled() definition
from static_branch_unlikely() to static_branch_likely()?

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: BUG: Bad page state in process - page dumped because: page still charged to cgroup
  2020-07-02 16:35       ` Vlastimil Babka
@ 2020-07-02 17:07         ` Roman Gushchin
  2020-07-02 17:10         ` Michal Hocko
  1 sibling, 0 replies; 22+ messages in thread
From: Roman Gushchin @ 2020-07-02 17:07 UTC (permalink / raw)
  To: Vlastimil Babka
  Cc: Michal Hocko, Naresh Kamboju, Shakeel Butt, Johannes Weiner,
	Andrew Morton, linux-mm, open list, lkft-triage, Chris Down,
	Peter Zijlstra

On Thu, Jul 02, 2020 at 06:35:31PM +0200, Vlastimil Babka wrote:
> On 7/2/20 6:22 PM, Michal Hocko wrote:
> > On Wed 01-07-20 11:45:52, Roman Gushchin wrote:
> > [...]
> >> >From c97afecd32c0db5e024be9ba72f43d22974f5bcd Mon Sep 17 00:00:00 2001
> >> From: Roman Gushchin <guro@fb.com>
> >> Date: Wed, 1 Jul 2020 11:05:32 -0700
> >> Subject: [PATCH] mm: kmem: make memcg_kmem_enabled() irreversible
> >> 
> >> Historically the kernel memory accounting was an opt-in feature, which
> >> could be enabled for individual cgroups. But now it's not true, and
> >> it's on by default both on cgroup v1 and cgroup v2.  And as long as a
> >> user has at least one non-root memory cgroup, the kernel memory
> >> accounting is on. So in most setups it's either always on (if memory
> >> cgroups are in use and kmem accounting is not disabled), either always
> >> off (otherwise).
> >> 
> >> memcg_kmem_enabled() is used in many places to guard the kernel memory
> >> accounting code. If memcg_kmem_enabled() can reverse from returning
> >> true to returning false (as now), we can't rely on it on release paths
> >> and have to check if it was on before.
> >> 
> >> If we'll make memcg_kmem_enabled() irreversible (always returning true
> >> after returning it for the first time), it'll make the general logic
> >> more simple and robust. It also will allow to guard some checks which
> >> otherwise would stay unguarded.
> >> 
> >> Signed-off-by: Roman Gushchin <guro@fb.com>
> 
> Fixes: ? or let Andrew squash it to some patch of your series (it's in mmotm I
> think)?

Hm, it's actually complicated. One obvious case was added by
"mm: memcg/slab: save obj_cgroup for non-root slab objects",
which is currently in the mm tree, so no stable hash.

But I suspect that there are more cases where we just silently leaking
a memcg reference. But because the whole setup (going back and forth
between 0 and 1+ memory cgroups) can not be easily found in the real life,
nobody cares. So I don't think we really need a stable backport.

So IMO the best option is to put it as a standalone patch _before_
my series. Does it sound good to you?

> 
> Acked-by: Vlastimil Babka <vbabka@suse.cz>

Thanks!

> 
> But see below:
> 
> >> ---
> >>  mm/memcontrol.c | 6 ++----
> >>  1 file changed, 2 insertions(+), 4 deletions(-)
> >> 
> >> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> >> index 50ae77f3985e..2d018a51c941 100644
> >> --- a/mm/memcontrol.c
> >> +++ b/mm/memcontrol.c
> >> @@ -3582,7 +3582,8 @@ static int memcg_online_kmem(struct mem_cgroup *memcg)
> >>  	objcg->memcg = memcg;
> >>  	rcu_assign_pointer(memcg->objcg, objcg);
> >>  
> >> -	static_branch_inc(&memcg_kmem_enabled_key);
> >> +	if (!memcg_kmem_enabled())
> >> +		static_branch_inc(&memcg_kmem_enabled_key);
> > 
> > Wouldn't be static_branch_enable() more readable?
> 
> Yes, and drop the if(). It will just do nothing and return if already enabled.
> Maybe slightly less efficient, but this is not a fast path anyway, and it feels
> weird to modify the static key in a branch controlled by the static key itself
> (CC peterz in case he wants to add something).

Ok, will do in v2.

Thanks!

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: BUG: Bad page state in process - page dumped because: page still charged to cgroup
  2020-07-02 16:35       ` Vlastimil Babka
  2020-07-02 17:07         ` Roman Gushchin
@ 2020-07-02 17:10         ` Michal Hocko
  1 sibling, 0 replies; 22+ messages in thread
From: Michal Hocko @ 2020-07-02 17:10 UTC (permalink / raw)
  To: Vlastimil Babka
  Cc: Roman Gushchin, Naresh Kamboju, Shakeel Butt, Johannes Weiner,
	Andrew Morton, linux-mm, open list, lkft-triage, Chris Down,
	Peter Zijlstra

On Thu 02-07-20 18:35:31, Vlastimil Babka wrote:
> On 7/2/20 6:22 PM, Michal Hocko wrote:
> > On Wed 01-07-20 11:45:52, Roman Gushchin wrote:
> > [...]
> >> >From c97afecd32c0db5e024be9ba72f43d22974f5bcd Mon Sep 17 00:00:00 2001
> >> From: Roman Gushchin <guro@fb.com>
> >> Date: Wed, 1 Jul 2020 11:05:32 -0700
> >> Subject: [PATCH] mm: kmem: make memcg_kmem_enabled() irreversible
> >> 
> >> Historically the kernel memory accounting was an opt-in feature, which
> >> could be enabled for individual cgroups. But now it's not true, and
> >> it's on by default both on cgroup v1 and cgroup v2.  And as long as a
> >> user has at least one non-root memory cgroup, the kernel memory
> >> accounting is on. So in most setups it's either always on (if memory
> >> cgroups are in use and kmem accounting is not disabled), either always
> >> off (otherwise).
> >> 
> >> memcg_kmem_enabled() is used in many places to guard the kernel memory
> >> accounting code. If memcg_kmem_enabled() can reverse from returning
> >> true to returning false (as now), we can't rely on it on release paths
> >> and have to check if it was on before.
> >> 
> >> If we'll make memcg_kmem_enabled() irreversible (always returning true
> >> after returning it for the first time), it'll make the general logic
> >> more simple and robust. It also will allow to guard some checks which
> >> otherwise would stay unguarded.
> >> 
> >> Signed-off-by: Roman Gushchin <guro@fb.com>
> 
> Fixes: ? or let Andrew squash it to some patch of your series (it's in mmotm I
> think)?

I would rather make it its own patch because this is really subtle.
-- 
Michal Hocko
SUSE Labs

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: BUG: Bad page state in process - page dumped because: page still charged to cgroup
  2020-07-02 16:37       ` Roman Gushchin
@ 2020-07-02 17:13         ` Michal Hocko
  2020-07-02 17:19           ` Roman Gushchin
  0 siblings, 1 reply; 22+ messages in thread
From: Michal Hocko @ 2020-07-02 17:13 UTC (permalink / raw)
  To: Roman Gushchin
  Cc: Naresh Kamboju, Shakeel Butt, Johannes Weiner, Andrew Morton,
	linux-mm, open list, lkft-triage, Chris Down

On Thu 02-07-20 09:37:38, Roman Gushchin wrote:
> On Thu, Jul 02, 2020 at 06:22:02PM +0200, Michal Hocko wrote:
> > On Wed 01-07-20 11:45:52, Roman Gushchin wrote:
> > [...]
> > > >From c97afecd32c0db5e024be9ba72f43d22974f5bcd Mon Sep 17 00:00:00 2001
> > > From: Roman Gushchin <guro@fb.com>
> > > Date: Wed, 1 Jul 2020 11:05:32 -0700
> > > Subject: [PATCH] mm: kmem: make memcg_kmem_enabled() irreversible
> > > 
> > > Historically the kernel memory accounting was an opt-in feature, which
> > > could be enabled for individual cgroups. But now it's not true, and
> > > it's on by default both on cgroup v1 and cgroup v2.  And as long as a
> > > user has at least one non-root memory cgroup, the kernel memory
> > > accounting is on. So in most setups it's either always on (if memory
> > > cgroups are in use and kmem accounting is not disabled), either always
> > > off (otherwise).
> > > 
> > > memcg_kmem_enabled() is used in many places to guard the kernel memory
> > > accounting code. If memcg_kmem_enabled() can reverse from returning
> > > true to returning false (as now), we can't rely on it on release paths
> > > and have to check if it was on before.
> > > 
> > > If we'll make memcg_kmem_enabled() irreversible (always returning true
> > > after returning it for the first time), it'll make the general logic
> > > more simple and robust. It also will allow to guard some checks which
> > > otherwise would stay unguarded.
> > > 
> > > Signed-off-by: Roman Gushchin <guro@fb.com>
> > > ---
> > >  mm/memcontrol.c | 6 ++----
> > >  1 file changed, 2 insertions(+), 4 deletions(-)
> > > 
> > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> > > index 50ae77f3985e..2d018a51c941 100644
> > > --- a/mm/memcontrol.c
> > > +++ b/mm/memcontrol.c
> > > @@ -3582,7 +3582,8 @@ static int memcg_online_kmem(struct mem_cgroup *memcg)
> > >  	objcg->memcg = memcg;
> > >  	rcu_assign_pointer(memcg->objcg, objcg);
> > >  
> > > -	static_branch_inc(&memcg_kmem_enabled_key);
> > > +	if (!memcg_kmem_enabled())
> > > +		static_branch_inc(&memcg_kmem_enabled_key);
> > 
> > Wouldn't be static_branch_enable() more readable?
> 
> Agree, will change, add reported-by and tested-by tags and resend.
> Thanks!

Feel free to add
Acked-by: Michal Hocko <mhocko@suse.com>

> Btw, don't we wanna to change memcg_kmem_enabled() definition
> from static_branch_unlikely() to static_branch_likely()?

Honestly, I do not know what would be the impact but considering kmem
is enabled unless explicitly disabled these days then likely sounds more
logical from reading POV. I do not think that early allocations until
the first memcg is created is the case to optimize for.
Worth a separate patch I guess.

-- 
Michal Hocko
SUSE Labs

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: BUG: Bad page state in process - page dumped because: page still charged to cgroup
  2020-07-02 17:13         ` Michal Hocko
@ 2020-07-02 17:19           ` Roman Gushchin
  0 siblings, 0 replies; 22+ messages in thread
From: Roman Gushchin @ 2020-07-02 17:19 UTC (permalink / raw)
  To: Michal Hocko
  Cc: Naresh Kamboju, Shakeel Butt, Johannes Weiner, Andrew Morton,
	linux-mm, open list, lkft-triage, Chris Down

On Thu, Jul 02, 2020 at 07:13:02PM +0200, Michal Hocko wrote:
> On Thu 02-07-20 09:37:38, Roman Gushchin wrote:
> > On Thu, Jul 02, 2020 at 06:22:02PM +0200, Michal Hocko wrote:
> > > On Wed 01-07-20 11:45:52, Roman Gushchin wrote:
> > > [...]
> > > > >From c97afecd32c0db5e024be9ba72f43d22974f5bcd Mon Sep 17 00:00:00 2001
> > > > From: Roman Gushchin <guro@fb.com>
> > > > Date: Wed, 1 Jul 2020 11:05:32 -0700
> > > > Subject: [PATCH] mm: kmem: make memcg_kmem_enabled() irreversible
> > > > 
> > > > Historically the kernel memory accounting was an opt-in feature, which
> > > > could be enabled for individual cgroups. But now it's not true, and
> > > > it's on by default both on cgroup v1 and cgroup v2.  And as long as a
> > > > user has at least one non-root memory cgroup, the kernel memory
> > > > accounting is on. So in most setups it's either always on (if memory
> > > > cgroups are in use and kmem accounting is not disabled), either always
> > > > off (otherwise).
> > > > 
> > > > memcg_kmem_enabled() is used in many places to guard the kernel memory
> > > > accounting code. If memcg_kmem_enabled() can reverse from returning
> > > > true to returning false (as now), we can't rely on it on release paths
> > > > and have to check if it was on before.
> > > > 
> > > > If we'll make memcg_kmem_enabled() irreversible (always returning true
> > > > after returning it for the first time), it'll make the general logic
> > > > more simple and robust. It also will allow to guard some checks which
> > > > otherwise would stay unguarded.
> > > > 
> > > > Signed-off-by: Roman Gushchin <guro@fb.com>
> > > > ---
> > > >  mm/memcontrol.c | 6 ++----
> > > >  1 file changed, 2 insertions(+), 4 deletions(-)
> > > > 
> > > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> > > > index 50ae77f3985e..2d018a51c941 100644
> > > > --- a/mm/memcontrol.c
> > > > +++ b/mm/memcontrol.c
> > > > @@ -3582,7 +3582,8 @@ static int memcg_online_kmem(struct mem_cgroup *memcg)
> > > >  	objcg->memcg = memcg;
> > > >  	rcu_assign_pointer(memcg->objcg, objcg);
> > > >  
> > > > -	static_branch_inc(&memcg_kmem_enabled_key);
> > > > +	if (!memcg_kmem_enabled())
> > > > +		static_branch_inc(&memcg_kmem_enabled_key);
> > > 
> > > Wouldn't be static_branch_enable() more readable?
> > 
> > Agree, will change, add reported-by and tested-by tags and resend.
> > Thanks!
> 
> Feel free to add
> Acked-by: Michal Hocko <mhocko@suse.com>

Thank you!

> 
> > Btw, don't we wanna to change memcg_kmem_enabled() definition
> > from static_branch_unlikely() to static_branch_likely()?
> 
> Honestly, I do not know what would be the impact but considering kmem
> is enabled unless explicitly disabled these days then likely sounds more
> logical from reading POV. I do not think that early allocations until
> the first memcg is created is the case to optimize for.
> Worth a separate patch I guess.

Yeah, I doubt there will be any measurable difference, it just strained my eyes.
I prepare a small set of cleanups/cosmetic fixes, will add it to them.

Thanks!

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2020-07-02 17:20 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-01  8:18 BUG: Bad page state in process - page dumped because: page still charged to cgroup Naresh Kamboju
2020-07-01  8:18 ` Naresh Kamboju
2020-07-01  8:29 ` Michal Hocko
2020-07-01 12:31   ` Naresh Kamboju
2020-07-01 12:31     ` Naresh Kamboju
2020-07-01 18:45   ` Roman Gushchin
2020-07-02  6:19     ` Michal Hocko
2020-07-02  6:52     ` Naresh Kamboju
2020-07-02  6:52       ` Naresh Kamboju
2020-07-02 15:49       ` Roman Gushchin
2020-07-02 15:55         ` Naresh Kamboju
2020-07-02 15:55           ` Naresh Kamboju
2020-07-02 15:59           ` Roman Gushchin
2020-07-02 16:02     ` Shakeel Butt
2020-07-02 16:02       ` Shakeel Butt
2020-07-02 16:22     ` Michal Hocko
2020-07-02 16:35       ` Vlastimil Babka
2020-07-02 17:07         ` Roman Gushchin
2020-07-02 17:10         ` Michal Hocko
2020-07-02 16:37       ` Roman Gushchin
2020-07-02 17:13         ` Michal Hocko
2020-07-02 17:19           ` Roman Gushchin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.