Message ID | 20230911112114.91323-3-adrian.hunter@intel.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Do not try to access unaccepted memory | expand |
On 11.09.23 13:21, Adrian Hunter wrote: > Support for unaccepted memory was added recently, refer commit > dcdfdd40fa82 ("mm: Add support for unaccepted memory"), whereby a virtual > machine may need to accept memory before it can be used. > > Do not try to access unaccepted memory because it can cause the guest to > fail. > > For /proc/kcore, which is read-only and does not support mmap, this means a > read of unaccepted memory will return zeros. > > Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> > --- > fs/proc/kcore.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > > Changes in V2: > > Change patch subject and commit message > Do not open code pfn_is_unaccepted_memory() > > > diff --git a/fs/proc/kcore.c b/fs/proc/kcore.c > index 23fc24d16b31..6422e569b080 100644 > --- a/fs/proc/kcore.c > +++ b/fs/proc/kcore.c > @@ -546,7 +546,8 @@ static ssize_t read_kcore_iter(struct kiocb *iocb, struct iov_iter *iter) > * and explicitly excluded physical ranges. > */ > if (!page || PageOffline(page) || > - is_page_hwpoison(page) || !pfn_is_ram(pfn)) { > + is_page_hwpoison(page) || !pfn_is_ram(pfn) || > + pfn_is_unaccepted_memory(pfn)) { > if (iov_iter_zero(tsz, iter) != tsz) { > ret = -EFAULT; > goto out; Reviewed-by: David Hildenbrand <david@redhat.com>
diff --git a/fs/proc/kcore.c b/fs/proc/kcore.c index 23fc24d16b31..6422e569b080 100644 --- a/fs/proc/kcore.c +++ b/fs/proc/kcore.c @@ -546,7 +546,8 @@ static ssize_t read_kcore_iter(struct kiocb *iocb, struct iov_iter *iter) * and explicitly excluded physical ranges. */ if (!page || PageOffline(page) || - is_page_hwpoison(page) || !pfn_is_ram(pfn)) { + is_page_hwpoison(page) || !pfn_is_ram(pfn) || + pfn_is_unaccepted_memory(pfn)) { if (iov_iter_zero(tsz, iter) != tsz) { ret = -EFAULT; goto out;
Support for unaccepted memory was added recently, refer commit dcdfdd40fa82 ("mm: Add support for unaccepted memory"), whereby a virtual machine may need to accept memory before it can be used. Do not try to access unaccepted memory because it can cause the guest to fail. For /proc/kcore, which is read-only and does not support mmap, this means a read of unaccepted memory will return zeros. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> --- fs/proc/kcore.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) Changes in V2: Change patch subject and commit message Do not open code pfn_is_unaccepted_memory()