XArray: Fix xa_find_next for large multi-index entries
Coverity pointed out that xas_sibling() was shifting xa_offset without promoting it to an unsigned long first, so the shift could cause an overflow and we'd get the wrong answer. The fix is obvious, and the new test-case provokes UBSAN to report an error: runtime error: shift exponent 60 is too large for 32-bit type 'int' Fixes: 19c30f4d ("XArray: Fix xa_find_after with multi-index entries") Reported-by:Bjorn Helgaas <bhelgaas@google.com> Reported-by:
Kees Cook <keescook@chromium.org> Signed-off-by:
Matthew Wilcox (Oracle) <willy@infradead.org> Cc: stable@vger.kernel.org
Showing
Please register or sign in to comment