linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* Re: linux-next: Tree for Jan 13 (UBSAN: invalid-load in ../mm/swap.c:996:11)
       [not found] <20220113152247.3f7c6c49@canb.auug.org.au>
@ 2022-01-13 20:12 ` Randy Dunlap
  2022-01-13 20:47   ` Matthew Wilcox
  0 siblings, 1 reply; 4+ messages in thread
From: Randy Dunlap @ 2022-01-13 20:12 UTC (permalink / raw)
  To: Stephen Rothwell, Linux Next Mailing List
  Cc: Linux Kernel Mailing List, linux-mm, Andrew Morton

[-- Attachment #1: Type: text/plain, Size: 2394 bytes --]



On 1/12/22 20:22, Stephen Rothwell wrote:
> Hi all,
> 
> Please not add v5.18 related material to your linux-next included branches
> until after v5.17-rc1 has been released.
> 
> Changes since 20220112:
> 

on x86_64:

===============
[    1.561983] UBSAN: invalid-load in ../mm/swap.c:996:11
[    1.561986] load of value 221 is not a valid value for type '_Bool'
[    1.561988] CPU: 1 PID: 7 Comm: kworker/u16:0 Not tainted 5.16.0-next-20220113 #1
[    1.561992] Hardware name: TOSHIBA PORTEGE R835/Portable PC, BIOS Version 4.10   01/08/2013
[    1.561994] Workqueue: events_unbound async_run_entry_fn
[    1.562001] Call Trace:
[    1.562003]  <TASK>
[    1.562004]  dump_stack_lvl+0x38/0x49
[    1.562010]  dump_stack+0x10/0x12
[    1.562014]  ubsan_epilogue+0x9/0x45
[    1.562018]  __ubsan_handle_load_invalid_value+0x53/0x5c
[    1.562023]  __pagevec_release+0x24/0x47
[    1.562028]  pagevec_release+0xe/0x11
[    1.562031]  truncate_inode_pages_range+0x1d9/0x410
[    1.562036]  ? __filemap_fdatawait_range+0x77/0x108
[    1.562041]  ? __invalidate_bh_lrus+0x2b/0x2b
[    1.562045]  ? put_bh+0x5/0x5
[    1.562050]  truncate_inode_pages+0xd/0xf
[    1.562054]  kill_bdev.isra.0+0x21/0x25
[    1.562059]  blkdev_flush_mapping+0x3d/0xd3
[    1.562063]  ? filemap_fdatawait_range+0x17/0x19
[    1.562067]  blkdev_put_whole+0x16/0x36
[    1.562071]  blkdev_put+0x128/0x152
[    1.562075]  disk_scan_partitions+0x4c/0x64
[    1.562081]  device_add_disk+0x236/0x2d5
[    1.562085]  sd_probe+0x308/0x3c4
[    1.562088]  really_probe+0x17f/0x3c3
[    1.562092]  __driver_probe_device+0xcf/0x14d
[    1.562095]  driver_probe_device+0x1e/0x8f
[    1.562097]  __device_attach_driver+0xc7/0x104
[    1.562100]  ? driver_allows_async_probing+0x5d/0x5d
[    1.562103]  ? driver_allows_async_probing+0x5d/0x5d
[    1.562106]  bus_for_each_drv+0x8c/0xb3
[    1.562111]  __device_attach_async_helper+0x75/0xd4
[    1.562114]  async_run_entry_fn+0x58/0xe3
[    1.562118]  process_one_work+0x129/0x1cc
[    1.562121]  worker_thread+0x183/0x22a
[    1.562124]  kthread+0xe0/0xe8
[    1.562128]  ? rescuer_thread+0x24c/0x24c
[    1.562130]  ? kthread_complete_and_exit+0x1b/0x1b
[    1.562135]  ret_from_fork+0x22/0x30
[    1.562139]  </TASK>
[    1.562140] ================================================================================


Full boot log and kernel config file are attached.

-- 
~Randy

[-- Attachment #2: boot-22113-oftest.log.gz --]
[-- Type: application/gzip, Size: 38582 bytes --]

[-- Attachment #3: config-next22113of.gz --]
[-- Type: application/gzip, Size: 31363 bytes --]

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

* Re: linux-next: Tree for Jan 13 (UBSAN: invalid-load in ../mm/swap.c:996:11)
  2022-01-13 20:12 ` linux-next: Tree for Jan 13 (UBSAN: invalid-load in ../mm/swap.c:996:11) Randy Dunlap
@ 2022-01-13 20:47   ` Matthew Wilcox
  2022-01-13 21:26     ` Randy Dunlap
  0 siblings, 1 reply; 4+ messages in thread
From: Matthew Wilcox @ 2022-01-13 20:47 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, linux-mm, Andrew Morton

On Thu, Jan 13, 2022 at 12:12:52PM -0800, Randy Dunlap wrote:
> [    1.561983] UBSAN: invalid-load in ../mm/swap.c:996:11
> [    1.561986] load of value 221 is not a valid value for type '_Bool'

Ooh.  This one's mine.  Randy, does it repeat easily?  This should
fix it:

diff --git a/include/linux/pagevec.h b/include/linux/pagevec.h
index dda8d5868c81..67b1246f136b 100644
--- a/include/linux/pagevec.h
+++ b/include/linux/pagevec.h
@@ -111,6 +111,7 @@ static_assert(offsetof(struct pagevec, pages) ==
 static inline void folio_batch_init(struct folio_batch *fbatch)
 {
 	fbatch->nr = 0;
+	fbatch->percpu_pvec_drained = false;
 }
 
 static inline unsigned int folio_batch_count(struct folio_batch *fbatch)

> [    1.561988] CPU: 1 PID: 7 Comm: kworker/u16:0 Not tainted 5.16.0-next-20220113 #1
> [    1.561992] Hardware name: TOSHIBA PORTEGE R835/Portable PC, BIOS Version 4.10   01/08/2013
> [    1.561994] Workqueue: events_unbound async_run_entry_fn
> [    1.562001] Call Trace:
> [    1.562003]  <TASK>
> [    1.562004]  dump_stack_lvl+0x38/0x49
> [    1.562010]  dump_stack+0x10/0x12
> [    1.562014]  ubsan_epilogue+0x9/0x45
> [    1.562018]  __ubsan_handle_load_invalid_value+0x53/0x5c
> [    1.562023]  __pagevec_release+0x24/0x47
> [    1.562028]  pagevec_release+0xe/0x11
> [    1.562031]  truncate_inode_pages_range+0x1d9/0x410
> [    1.562036]  ? __filemap_fdatawait_range+0x77/0x108
> [    1.562041]  ? __invalidate_bh_lrus+0x2b/0x2b
> [    1.562045]  ? put_bh+0x5/0x5
> [    1.562050]  truncate_inode_pages+0xd/0xf
> [    1.562054]  kill_bdev.isra.0+0x21/0x25
> [    1.562059]  blkdev_flush_mapping+0x3d/0xd3
> [    1.562063]  ? filemap_fdatawait_range+0x17/0x19
> [    1.562067]  blkdev_put_whole+0x16/0x36
> [    1.562071]  blkdev_put+0x128/0x152
> [    1.562075]  disk_scan_partitions+0x4c/0x64
> [    1.562081]  device_add_disk+0x236/0x2d5
> [    1.562085]  sd_probe+0x308/0x3c4
> [    1.562088]  really_probe+0x17f/0x3c3
> [    1.562092]  __driver_probe_device+0xcf/0x14d
> [    1.562095]  driver_probe_device+0x1e/0x8f
> [    1.562097]  __device_attach_driver+0xc7/0x104
> [    1.562100]  ? driver_allows_async_probing+0x5d/0x5d
> [    1.562103]  ? driver_allows_async_probing+0x5d/0x5d
> [    1.562106]  bus_for_each_drv+0x8c/0xb3
> [    1.562111]  __device_attach_async_helper+0x75/0xd4
> [    1.562114]  async_run_entry_fn+0x58/0xe3
> [    1.562118]  process_one_work+0x129/0x1cc
> [    1.562121]  worker_thread+0x183/0x22a
> [    1.562124]  kthread+0xe0/0xe8
> [    1.562128]  ? rescuer_thread+0x24c/0x24c
> [    1.562130]  ? kthread_complete_and_exit+0x1b/0x1b
> [    1.562135]  ret_from_fork+0x22/0x30
> [    1.562139]  </TASK>
> [    1.562140] ================================================================================
> 
> 
> Full boot log and kernel config file are attached.
> 
> -- 
> ~Randy





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

* Re: linux-next: Tree for Jan 13 (UBSAN: invalid-load in ../mm/swap.c:996:11)
  2022-01-13 20:47   ` Matthew Wilcox
@ 2022-01-13 21:26     ` Randy Dunlap
  2022-01-14  0:30       ` Matthew Wilcox
  0 siblings, 1 reply; 4+ messages in thread
From: Randy Dunlap @ 2022-01-13 21:26 UTC (permalink / raw)
  To: Matthew Wilcox
  Cc: Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, linux-mm, Andrew Morton



On 1/13/22 12:47, Matthew Wilcox wrote:
> On Thu, Jan 13, 2022 at 12:12:52PM -0800, Randy Dunlap wrote:
>> [    1.561983] UBSAN: invalid-load in ../mm/swap.c:996:11
>> [    1.561986] load of value 221 is not a valid value for type '_Bool'
> 
> Ooh.  This one's mine.  Randy, does it repeat easily?  This should
> fix it:

Yes, 100% of the time (for N = 3).

Reported-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>

Fixed 100% of the time (for N = 3).

Thanks.

> diff --git a/include/linux/pagevec.h b/include/linux/pagevec.h
> index dda8d5868c81..67b1246f136b 100644
> --- a/include/linux/pagevec.h
> +++ b/include/linux/pagevec.h
> @@ -111,6 +111,7 @@ static_assert(offsetof(struct pagevec, pages) ==
>  static inline void folio_batch_init(struct folio_batch *fbatch)
>  {
>  	fbatch->nr = 0;
> +	fbatch->percpu_pvec_drained = false;
>  }
>  
>  static inline unsigned int folio_batch_count(struct folio_batch *fbatch)
> 


-- 
~Randy


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

* Re: linux-next: Tree for Jan 13 (UBSAN: invalid-load in ../mm/swap.c:996:11)
  2022-01-13 21:26     ` Randy Dunlap
@ 2022-01-14  0:30       ` Matthew Wilcox
  0 siblings, 0 replies; 4+ messages in thread
From: Matthew Wilcox @ 2022-01-14  0:30 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: Stephen Rothwell, Linux Next Mailing List,
	Linux Kernel Mailing List, linux-mm, Andrew Morton

On Thu, Jan 13, 2022 at 01:26:48PM -0800, Randy Dunlap wrote:
> 
> 
> On 1/13/22 12:47, Matthew Wilcox wrote:
> > On Thu, Jan 13, 2022 at 12:12:52PM -0800, Randy Dunlap wrote:
> >> [    1.561983] UBSAN: invalid-load in ../mm/swap.c:996:11
> >> [    1.561986] load of value 221 is not a valid value for type '_Bool'
> > 
> > Ooh.  This one's mine.  Randy, does it repeat easily?  This should
> > fix it:
> 
> Yes, 100% of the time (for N = 3).
> 
> Reported-by: Randy Dunlap <rdunlap@infradead.org>
> Tested-by: Randy Dunlap <rdunlap@infradead.org>
> 
> Fixed 100% of the time (for N = 3).

Thanks.  It's now at
https://git.infradead.org/users/willy/pagecache.git/shortlog/refs/heads/for-next
so it'll be part of the next linux-next.


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

end of thread, other threads:[~2022-01-14  0:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20220113152247.3f7c6c49@canb.auug.org.au>
2022-01-13 20:12 ` linux-next: Tree for Jan 13 (UBSAN: invalid-load in ../mm/swap.c:996:11) Randy Dunlap
2022-01-13 20:47   ` Matthew Wilcox
2022-01-13 21:26     ` Randy Dunlap
2022-01-14  0:30       ` Matthew Wilcox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox