XArray: Fix xas_create_range for ranges above 4 billion
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Tue, 13 Oct 2020 12:46:29 +0000 (08:46 -0400)
committerMatthew Wilcox (Oracle) <willy@infradead.org>
Tue, 13 Oct 2020 12:53:29 +0000 (08:53 -0400)
commit84c34df158cf215b0cd1475ab3b8e6f212f81f23
tree744410b0a8b2a36fa895e0e1033bb7ec93c1cbd8
parentf78b8250a076ac63ddd021c7ea9739bcc2f6f737
XArray: Fix xas_create_range for ranges above 4 billion

The 'sibs' variable would be shifted as a 32-bit integer, so if 'shift'
is more than 32, this is undefined behaviour.  In practice, this doesn't
happen because the page cache is the only user and nobody uses 16TB pages.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
lib/xarray.c