The patch titled inotify: read return val fix has been added to the -mm tree. Its filename is inotify-read-return-val-fix.patch *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: inotify: read return val fix From: Nick Piggin <npiggin@xxxxxxx> Fix for inotify read bug (bugzilla.kernel.org #6999) Problem Description: When reading from an inotify device with an insufficient sized buffer, read(2) will return 0 with no errno set. This is because of an logically incorrect action from the user program thus should return an more logical value. My suggestion is return -EINVAL as for bind(2). This patch is based on the proposal from Ryan <wolf0403@xxxxxxxxxxx>, and feedback from John McCutchan <john@xxxxxxxxxxxxxxxxx>. Return -EINVAL if we have not passed in enough buffer space to read a single inotify event, rather than 0 which indicates that there is nothing to read. Signed-off-by: Nick Piggin <npiggin@xxxxxxx> Acked-by: "John McCutchan" <john@xxxxxxxxxxxxxxxxx> Cc: Ryan <wolf0403@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/inotify_user.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletion(-) diff -puN fs/inotify_user.c~inotify-read-return-val-fix fs/inotify_user.c --- a/fs/inotify_user.c~inotify-read-return-val-fix +++ a/fs/inotify_user.c @@ -455,8 +455,16 @@ static ssize_t inotify_read(struct file break; kevent = inotify_dev_get_event(dev); - if (event_size + kevent->event.len > count) + if (event_size + kevent->event.len > count) { + if (ret == 0 && count > 0) { + /* + * could not get a single event because we + * didn't have enough buffer space. + */ + ret = -EINVAL; + } break; + } if (copy_to_user(buf, &kevent->event, event_size)) { ret = -EFAULT; _ Patches currently in -mm which might be from npiggin@xxxxxxx are git-block.patch mm-vm_insert_pfn.patch mm-vm_insert_pfn-tidy.patch buffer-memorder-fix.patch fs-fix-__block_write_full_page-error-case-buffer-submission.patch inotify-read-return-val-fix.patch sched-avoid-div-in-rebalance_tick.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html