pagevec: Initialise folio_batch->percpu_pvec_drained
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Thu, 13 Jan 2022 21:44:19 +0000 (16:44 -0500)
committerMatthew Wilcox (Oracle) <willy@infradead.org>
Thu, 13 Jan 2022 21:50:50 +0000 (16:50 -0500)
commit6840f9094f2bd788a316d8cb0a4e42538d3e47dd
treefdf243f4cbabe294b4091af6c4696801a24e6e97
parent455e73a07f6e288b0061dfcf4fcf54fa9fe06458
pagevec: Initialise folio_batch->percpu_pvec_drained

When UBSAN is enabled, it reports an invalid value in __pagevec_release()
when accessing pvec->percpu_pvec_drained, which is simply whatever
garbage was on the stack.  Initialise it when initialising the rest of
the folio_batch.

Fixes: 10331795fb79 ("pagevec: Add folio_batch")
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
include/linux/pagevec.h