Messages in this thread Patch in this message | | | Date | Mon, 20 Apr 2009 16:58:32 +0200 | From | Vitaly Mayatskikh <> | Subject | [PATCH] pagemap: require aligned-length, non-null reads of /proc/pid/pagemap |
| |
The intention of commit aae8679b0ebcaa92f99c1c3cb0cd651594a43915 was to force reads of /proc/pid/pagemap to be a multiple of 8 bytes, but now it allows to read 0 bytes, which actually puts some data to user's buffer. According to POSIX, if count is zero, read() should return zero and has no other results.
Signed-off-by: Vitaly Mayatskikh <v.mayatskih@gmail.com>
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c index 39e4ad4..6f61b7c 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c @@ -665,6 +665,10 @@ static ssize_t pagemap_read(struct file *file, char __user *buf, goto out_task; ret = 0; + + if (!count) + goto out_task; + mm = get_task_mm(task); if (!mm) goto out_task; -- wbr, Vitaly
| |