Skip to content
Commit b3b7e1d0 authored by David Sterba's avatar David Sterba
Browse files

btrfs: add special case to setget helpers for 64k pages

On 64K pages the size of the extent_buffer::pages array is 1 and
compilation with -Warray-bounds warns due to

  kaddr = page_address(eb->pages[idx + 1]);

when reading byte range crossing page boundary.

This does never actually overflow the array because on 64K because all
the data fit in one page and bounds are checked by check_setget_bounds.

To fix the reported overflows and warnings add a compile-time condition
that will allow compiler to eliminate the dead code that reads from the
idx + 1 page.

Link: https://lore.kernel.org/lkml/20210623083901.1d49d19d@canb.auug.org.au/


CC: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 5a80d1c6
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment