提交 09729a99 编写于 作者: M Milind Arun Choudhary 提交者: Alexey Dobriyan

proc: fix sparse warnings in pagemap_read()

fs/proc/task_mmu.c:696:12: warning: cast removes address space of expression
fs/proc/task_mmu.c:696:9: warning: incorrect type in assignment (different address spaces)
fs/proc/task_mmu.c:696:9:    expected unsigned long long [noderef] [usertype] <asn:1>*out
fs/proc/task_mmu.c:696:9:    got unsigned long long [usertype] *<noident>
fs/proc/task_mmu.c:697:12: warning: cast removes address space of expression
fs/proc/task_mmu.c:697:9: warning: incorrect type in assignment (different address spaces)
fs/proc/task_mmu.c:697:9:    expected unsigned long long [noderef] [usertype] <asn:1>*end
fs/proc/task_mmu.c:697:9:    got unsigned long long [usertype] *<noident>
fs/proc/task_mmu.c:723:12: warning: cast removes address space of expression
fs/proc/task_mmu.c:723:26: error: subtraction of different types can't work (different address spaces)
fs/proc/task_mmu.c:725:24: error: subtraction of different types can't work (different address spaces)
Signed-off-by: NMilind Arun Choudhary <milindchoudhary@gmail.com>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
上级 1681bc30
...@@ -693,8 +693,8 @@ static ssize_t pagemap_read(struct file *file, char __user *buf, ...@@ -693,8 +693,8 @@ static ssize_t pagemap_read(struct file *file, char __user *buf,
goto out_pages; goto out_pages;
} }
pm.out = (u64 *)buf; pm.out = (u64 __user *)buf;
pm.end = (u64 *)(buf + count); pm.end = (u64 __user *)(buf + count);
pagemap_walk.pmd_entry = pagemap_pte_range; pagemap_walk.pmd_entry = pagemap_pte_range;
pagemap_walk.pte_hole = pagemap_pte_hole; pagemap_walk.pte_hole = pagemap_pte_hole;
...@@ -720,9 +720,9 @@ static ssize_t pagemap_read(struct file *file, char __user *buf, ...@@ -720,9 +720,9 @@ static ssize_t pagemap_read(struct file *file, char __user *buf,
if (ret == PM_END_OF_BUFFER) if (ret == PM_END_OF_BUFFER)
ret = 0; ret = 0;
/* don't need mmap_sem for these, but this looks cleaner */ /* don't need mmap_sem for these, but this looks cleaner */
*ppos += (char *)pm.out - buf; *ppos += (char __user *)pm.out - buf;
if (!ret) if (!ret)
ret = (char *)pm.out - buf; ret = (char __user *)pm.out - buf;
out_pages: out_pages:
for (; pagecount; pagecount--) { for (; pagecount; pagecount--) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册