diff options
| author | David S. Miller <davem@davemloft.net> | 2019-10-19 22:51:25 -0700 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2019-10-20 10:43:00 -0700 |
| commit | 2f184393e0c2d409c62262f57f2a57efdf9370b8 (patch) | |
| tree | 25b96db2550014d7f888605abfabb67a7f40a5d3 /fs/proc/page.c | |
| parent | ebcd670d05d54ff8d17a1a51bba1ec1e4069d949 (diff) | |
| parent | 531e93d11470aa2e14e6a3febef50d9bc7bab7a1 (diff) | |
| download | talos-op-linux-2f184393e0c2d409c62262f57f2a57efdf9370b8.tar.gz talos-op-linux-2f184393e0c2d409c62262f57f2a57efdf9370b8.zip | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Several cases of overlapping changes which were for the most
part trivially resolvable.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'fs/proc/page.c')
| -rw-r--r-- | fs/proc/page.c | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/fs/proc/page.c b/fs/proc/page.c index 544d1ee15aee..7c952ee732e6 100644 --- a/fs/proc/page.c +++ b/fs/proc/page.c @@ -42,10 +42,12 @@ static ssize_t kpagecount_read(struct file *file, char __user *buf, return -EINVAL; while (count > 0) { - if (pfn_valid(pfn)) - ppage = pfn_to_page(pfn); - else - ppage = NULL; + /* + * TODO: ZONE_DEVICE support requires to identify + * memmaps that were actually initialized. + */ + ppage = pfn_to_online_page(pfn); + if (!ppage || PageSlab(ppage) || page_has_type(ppage)) pcount = 0; else @@ -216,10 +218,11 @@ static ssize_t kpageflags_read(struct file *file, char __user *buf, return -EINVAL; while (count > 0) { - if (pfn_valid(pfn)) - ppage = pfn_to_page(pfn); - else - ppage = NULL; + /* + * TODO: ZONE_DEVICE support requires to identify + * memmaps that were actually initialized. + */ + ppage = pfn_to_online_page(pfn); if (put_user(stable_page_flags(ppage), out)) { ret = -EFAULT; @@ -261,10 +264,11 @@ static ssize_t kpagecgroup_read(struct file *file, char __user *buf, return -EINVAL; while (count > 0) { - if (pfn_valid(pfn)) - ppage = pfn_to_page(pfn); - else - ppage = NULL; + /* + * TODO: ZONE_DEVICE support requires to identify + * memmaps that were actually initialized. + */ + ppage = pfn_to_online_page(pfn); if (ppage) ino = page_cgroup_ino(ppage); |

