From: Andrew Morton <akpm@linux-foundation.org>
To: "Yan Zheng" <yanzheng@21cn.com>
Cc: linux-fsdevel@vger.kernel.org, ttb@tentacle.dhs.org, rlove@google.com
Subject: Re: [patch]A potential bug in inotify_user.c
Date: Mon, 22 Oct 2007 14:40:48 -0700 [thread overview]
Message-ID: <20071022144048.e184d8ef.akpm@linux-foundation.org> (raw)
In-Reply-To: <3d0408630709282028o3a43811bqcc2a32c878ddbf1c@mail.gmail.com>
On Sat, 29 Sep 2007 11:28:22 +0800
"Yan Zheng" <yanzheng@21cn.com> wrote:
> Hello,
>
> follow comment is at fs/inotify_user.c:287
> /* coalescing: drop this event if it is a dupe of the previous */
>
> I think the previous event in the comment should be the last event in
> the link list. But inotify_dev_get_event return the first event in the
> list. In addition, it doesn't check whether the list is empty
>
> Regards
>
> Signed-off-by: Yan Zheng<yanzheng@21cn.com>
> ---
> diff -ur linux-2.6.23-rc8/fs/inotify_user.c linux/fs/inotify_user.c
> --- linux-2.6.23-rc8/fs/inotify_user.c 2007-09-29 11:00:15.000000000 +0800
> +++ linux/fs/inotify_user.c 2007-09-29 11:01:40.000000000 +0800
> @@ -247,6 +247,19 @@
> }
>
> /*
> + * inotify_dev_get_last_event - return the last event in the given dev's queue
> + *
> + * Caller must hold dev->ev_mutex.
> + */
> +static inline struct inotify_kernel_event *
> +inotify_dev_get_last_event(struct inotify_device *dev)
> +{
> + if (list_empty(&dev->events))
> + return NULL;
> + return list_entry(dev->events.prev, struct inotify_kernel_event, list);
> +}
> +
> +/*
> * inotify_dev_queue_event - event handler registered with core inotify, adds
> * a new event to the given device
> *
> @@ -272,7 +285,7 @@
> put_inotify_watch(w); /* final put */
>
> /* coalescing: drop this event if it is a dupe of the previous */
> - last = inotify_dev_get_event(dev);
> + last = inotify_dev_get_last_event(dev);
> if (last && last->event.mask == mask && last->event.wd == wd &&
> last->event.cookie == cookie) {
> const char *lastname = last->name;
So this has been floating around in my to-look-at queue for a month.
Probably Robert didn't see it.
Could we take a look at it please?
next prev parent reply other threads:[~2007-10-22 21:41 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-29 3:28 [patch]A potential bug in inotify_user.c Yan Zheng
2007-10-22 21:40 ` Andrew Morton [this message]
2007-10-24 19:41 ` Robert Love
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20071022144048.e184d8ef.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=rlove@google.com \
--cc=ttb@tentacle.dhs.org \
--cc=yanzheng@21cn.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.