Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kerndat: check support for PAGE_IS_SOFT_DIRTY #2349

Merged
merged 1 commit into from
Feb 13, 2024

Conversation

rst0git
Copy link
Member

@rst0git rst0git commented Feb 13, 2024

The commit introducing PAGE_IS_SOFT_DIRTY has not been merged in kernel v6.7.x, and as a result, CRIU fails with the following error:

Error (criu/pagemap-cache.c:199): pagemap-cache: PAGEMAP_SCAN: Invalid argument'
Error (criu/pagemap-cache.c:225): pagemap-cache: Failed to fill cache for 63 (400000-402000)'

This patch updates check_pagemap() in kerndat to also check if PAGE_IS_SOFT_DIRTY is supported.

Fixes: #2334

The commit introducing PAGE_IS_SOFT_DIRTY has not been merged
in kernel v6.7.x.

fs/proc/task_mmu: report SOFT_DIRTY bits through the PAGEMAP_SCAN ioctl
torvalds/linux@e6a9a2cbc13bf

As a result, CRIU fails with the following error:

Error (criu/pagemap-cache.c:199): pagemap-cache: PAGEMAP_SCAN: Invalid argument'
Error (criu/pagemap-cache.c:225): pagemap-cache: Failed to fill cache for 63 (400000-402000)'

This patch updates check_pagemap() in kerndat to check if PAGE_IS_SOFT_DIRTY is supported.
Fixes: checkpoint-restore#2334

Signed-off-by: Radostin Stoyanov <rstoyanov@fedoraproject.org>
@rst0git rst0git requested a review from avagin February 13, 2024 11:29
@codecov-commenter
Copy link

Codecov Report

Attention: 2 lines in your changes are missing coverage. Please review.

Comparison is base (6d37f9a) 70.47% compared to head (037ff91) 70.54%.

❗ Current head 037ff91 differs from pull request most recent head 424bb9c. Consider uploading reports for the commit 424bb9c to get more accurate results

Files Patch % Lines
criu/kerndat.c 50.00% 2 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##           criu-dev    #2349      +/-   ##
============================================
+ Coverage     70.47%   70.54%   +0.06%     
============================================
  Files           133      133              
  Lines         33567    33636      +69     
============================================
+ Hits          23658    23729      +71     
+ Misses         9909     9907       -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@avagin avagin merged commit 7bd786d into checkpoint-restore:criu-dev Feb 13, 2024
39 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

PAGEMAP_SCAN: Invalid argument
3 participants