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.
Regards, Anthony