On Thu, Mar 04, 2021 at 10:17:08PM +0100, Anthony Iliopoulos wrote: > On Thu, Mar 04, 2021 at 05:58:49PM +0100, Greg Kroah-Hartman wrote: > > On Thu, Mar 04, 2021 at 05:30:00PM +0100, Anthony Iliopoulos wrote: > > > On Thu, Mar 04, 2021 at 04:16:26PM +0100, Greg Kroah-Hartman wrote: > > > > On Thu, Mar 04, 2021 at 04:08:24PM +0100, Anthony Iliopoulos wrote: > > > > > commit caf6912f3f4af7232340d500a4a2008f81b93f14 upstream. > > > > > > > > No, this does not look like that commit. > > > > > > > > Why can I not just take caf6912f3f4a ("swap: fix swapfile read/write > > > > offset") directly for 5.10 and 5.11? WHat has changed to prevent that? > > > > > > You're right of course, the upstream fix applies even on v5.4 so you > > > could just take it directly for those branches if this is preferable. > > > > But, that commit says it fixes 48d15436fde6 ("mm: remove get_swap_bio"), > > which is NOT what you are saying here in these patches. > > It is admittedly a bit confusing as the upstream commit fixes two issues > in one swoop: > > - the bug which was introduced in v5.12-rc1 via 48d15436fde6 ("mm: > remove get_swap_bio"), which affected swapfiles running on regular > block devices, in addition to: > > - an identical bug which up until 48d15436fde6 was only applicable to > swapfiles on top of blockdevs that can do page io without the block > layer, which was introduced with dd6bd0d9c7db ("swap: use > bdev_read_page() / bdev_write_page()") > > > So which is it? Is there a problem in 5.11 and older kernels > > (48d15436fde6 ("mm: remove get_swap_bio") showed up in 5.12-rc1), that > > requires this fix, or is there nothing needed to be backported? > > The second point/bug mentioned above is present on 5.11 and all older > kernels, so some form of this fix is required. > > > As a note, I've been running swapfiles on 5.11 and earlier just fine for > > a very long time now, so is this really an issue? > > Yes there is an issue on all kernels since v3.16-rc1 when dd6bd0d9c7db > was introduced, but it is applicable only to setups with swapfiles on > filesystems sitting on top of brd, zram, btt or pmem. > > I can trivially reproduce this e.g. on v5.11 by creating a swapfile on > top of a zram or pmem blockdev and pushing the system to swap out pages, > at which point it corrupts filesystem blocks that don't belong to the > swapfile. Ok, thanks for the detailed description, all now queued up. greg k-h