Page MenuHomeFreeBSD

swap_pager: fix seek_data with invalid first page
ClosedPublic

Authored by dougm on Tue, Nov 26, 6:06 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Dec 4, 7:45 PM
Unknown Object (File)
Wed, Dec 4, 3:44 PM
Unknown Object (File)
Tue, Dec 3, 12:54 PM
Unknown Object (File)
Tue, Dec 3, 12:54 PM
Unknown Object (File)
Fri, Nov 29, 7:12 PM
Unknown Object (File)
Tue, Nov 26, 6:20 PM
Subscribers

Details

Summary

Correct swap_pager_seek_data so that, when the first lookup finds no valid pages, second and subsequent lookups are attempted anyway.

This was broken by db08b0b04deced766c3b5f07bcfb82333666226c.

Test Plan

marklmi@yahoo.com reported the problem, and reports that this change resolved it.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

dougm requested review of this revision.Tue, Nov 26, 6:06 PM
dougm created this revision.
dougm added a reviewer: markj.
This revision is now accepted and ready to land.Tue, Nov 26, 6:11 PM

This was broken by db08b0b04deced766c3b5f07bcfb82333666226c.

In mail thread, @des suggests that the problem exists on stable/14 as well, but the above-mentioned commit is not present there, so at least one of the two claims is wrong. Which one is it?

In mail thread, @des suggests that the problem exists on stable/14 as well,

No, I said it occurs in a 14 jail on a 15 host. It does not occur in a 13 jail because 13's install(1) does not use copy_file_range(2) and therefore does not trip over the bug in the host's 15 kernel.