Commit 8988854
Claudio Imbrenda
KVM: s390: Use guest address to mark guest page dirty
Stop using the userspace address to mark the guest page dirty.
mark_page_dirty() expects a guest frame number, but was being passed a
host virtual frame number. When slot == NULL, mark_page_dirty_in_slot()
does nothing and does not complain.
This means that in some circumstances the dirtiness of the guest page
might have been lost.
Fix by adding two fields in struct kvm_s390_adapter_int to keep the
guest addressses, and use those for mark_page_dirty().
Fixes: f654706 ("KVM: s390/interrupt: do not pin adapter interrupt pages")
Reviewed-by: Steffen Eiden <seiden@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Christoph Schlameuss <schlameuss@linux.ibm.com>
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>1 parent f7ab71f commit 8988854
2 files changed
Lines changed: 6 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2768 | 2768 | | |
2769 | 2769 | | |
2770 | 2770 | | |
2771 | | - | |
| 2771 | + | |
2772 | 2772 | | |
2773 | 2773 | | |
2774 | 2774 | | |
2775 | 2775 | | |
2776 | 2776 | | |
2777 | | - | |
| 2777 | + | |
2778 | 2778 | | |
2779 | 2779 | | |
2780 | 2780 | | |
| |||
2870 | 2870 | | |
2871 | 2871 | | |
2872 | 2872 | | |
| 2873 | + | |
2873 | 2874 | | |
| 2875 | + | |
2874 | 2876 | | |
2875 | 2877 | | |
2876 | 2878 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
645 | 645 | | |
646 | 646 | | |
647 | 647 | | |
| 648 | + | |
648 | 649 | | |
| 650 | + | |
649 | 651 | | |
650 | 652 | | |
651 | 653 | | |
| |||
0 commit comments