diff for duplicates of <20090507115947.GA20934@localhost> diff --git a/a/1.txt b/N1/1.txt index ab74409..637edb2 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,67 +1,92 @@ On Wed, May 06, 2009 at 09:42:58PM +0800, Kay Sievers wrote: -> On Mon, May 4, 2009 at 15:30, Wu Fengguang <fengguang.wu@intel.com> wrote: -> -> > I tried remove every udev rules in /etc/udev/ and /lib/udev, the /etc/group +> On Mon, May 4, 2009 at 15:30, Wu Fengguang <fengguang.wu@intel.com> w= +rote: +>=20 +> > I tried remove every udev rules in /etc/udev/ and /lib/udev, the /e= +tc/group > > accesses disappeared in strace, but udevd is still busy. -> -> > ppoll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=3, events=POLLIN}], 3, NULL, [], 8) = 1 ([{fd=3, revents=POLLIN}]) -> > ioctl(3, FIONREAD, [39]) = 0 -> > read(3, 0x62ad60, 39) = -1 EINVAL (Invalid argument) -> +>=20 +> > ppoll([{fd=3D4, events=3DPOLLIN}, {fd=3D5, events=3DPOLLIN}, {fd=3D= +3, events=3DPOLLIN}], 3, NULL, [], 8) =3D 1 ([{fd=3D3, revents=3DPOLLIN= +}]) +> > ioctl(3, FIONREAD, [39]) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = +=C2=A0 =C2=A0=3D 0 +> > read(3, 0x62ad60, 39) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= +=A0 =C2=A0 =C2=A0 =3D -1 EINVAL (Invalid argument) +>=20 > Seems, you have issues with inotify on your nfs mount? -> +>=20 > Inotify wakes up udevd to tell something in the rules directory has > changed, but inotify seems not to return anything useful, but keeps > waking us up. That causes an endless loop of parsing rules files. -Thanks for the tip. The failed inotify read() is caused by the size *roundup* -behavior introduced by the -mm commit 3b46cf7d5f3ca(Reimplement inotify_user +Thanks for the tip. The failed inotify read() is caused by the size *ro= +undup* +behavior introduced by the -mm commit 3b46cf7d5f3ca(Reimplement inotify= +_user using fsnotify). Which says: + /* -+ * We need to pad the filename so as to properly align an -+ * array of inotify_event structures. Because the structure is -+ * small and the common case is a small filename, we just round -+ * up to the next multiple of the structure's sizeof. This is ++ * We need to pad the filename so as to properly align = +an ++ * array of inotify_event structures. Because the stru= +cture is ++ * small and the common case is a small filename, we ju= +st round ++ * up to the next multiple of the structure's sizeof. = +This is + * simple and safe for all architectures. + */ The udev madness originates from these kernel testing failures: -[ 756.569243] get_one_event: event_sizeH > count8, name_len", namea-dev-root-link.rules -[ 756.600103] get_one_event: event_sizeH > count8, name_len", namea-dev-root-link.rules -[ 756.630265] get_one_event: event_sizeH > count8, name_len", namea-dev-root-link.rules -[ 756.670862] get_one_event: event_sizeH > count8, name_len", namea-dev-root-link.rules -[ 756.701845] get_one_event: event_sizeH > count8, name_len", namea-dev-root-link.rules -[ 756.732899] get_one_event: event_sizeH > count8, name_len", namea-dev-root-link.rules -[ 756.763126] get_one_event: event_sizeH > count8, name_len", namea-dev-root-link.rules -[ 756.794829] get_one_event: event_sizeH > count8, name_len", namea-dev-root-link.rules -[ 756.824985] get_one_event: event_sizeH > count8, name_len", namea-dev-root-link.rules -[ 756.856760] get_one_event: event_sizeH > count8, name_len", namea-dev-root-link.rules +[ 756.569243] get_one_event: event_size=3D48 > count=3D38, name_len=3D= +22, name=3D61-dev-root-link.rules +[ 756.600103] get_one_event: event_size=3D48 > count=3D38, name_len=3D= +22, name=3D61-dev-root-link.rules +[ 756.630265] get_one_event: event_size=3D48 > count=3D38, name_len=3D= +22, name=3D61-dev-root-link.rules +[ 756.670862] get_one_event: event_size=3D48 > count=3D38, name_len=3D= +22, name=3D61-dev-root-link.rules +[ 756.701845] get_one_event: event_size=3D48 > count=3D38, name_len=3D= +22, name=3D61-dev-root-link.rules +[ 756.732899] get_one_event: event_size=3D48 > count=3D38, name_len=3D= +22, name=3D61-dev-root-link.rules +[ 756.763126] get_one_event: event_size=3D48 > count=3D38, name_len=3D= +22, name=3D61-dev-root-link.rules +[ 756.794829] get_one_event: event_size=3D48 > count=3D38, name_len=3D= +22, name=3D61-dev-root-link.rules +[ 756.824985] get_one_event: event_size=3D48 > count=3D38, name_len=3D= +22, name=3D61-dev-root-link.rules +[ 756.856760] get_one_event: event_size=3D48 > count=3D38, name_len=3D= +22, name=3D61-dev-root-link.rules [ 761.608521] __ratelimit: 210 callbacks suppressed Which are printed by the following patch: --- a/fs/notify/inotify/inotify_user.c +++ b/fs/notify/inotify/inotify_user.c - static struct fsnotify_event *get_one_event(struct fsnotify_group *group, + static struct fsnotify_event *get_one_event(struct fsnotify_group *gro= +up, size_t count) { - size_t event_size = sizeof(struct inotify_event); + size_t event_size =3D sizeof(struct inotify_event); struct fsnotify_event *event; - +=20 if (fsnotify_notify_queue_is_empty(group)) return NULL; - - event = fsnotify_peek_notify_event(group); - - event_size += roundup(event->name_len, event_size); - +=20 + event =3D fsnotify_peek_notify_event(group); +=20 + event_size +=3D roundup(event->name_len, event_size); +=20 - if (event_size > count) + if (event_size > count) { + if (printk_ratelimit()) -+ printk("get_one_event: event_size=%d > count=%d, name_len=%d, name=%s\n", -+ (int)event_size, (int)count, (int)event->name_len, event->file_name); ++ printk("get_one_event: event_size=3D%d > count=3D%d, name_len=3D%d,= + name=3D%s\n", ++ (int)event_size, (int)count, (int)event->name_len, event->file_na= +me); return ERR_PTR(-EINVAL); + } @@ -69,29 +94,45 @@ Which are printed by the following patch: It can be fixed by reporting the rounded up value to user space. Thanks, -Fengguang +=46engguang --- inotify: report rounded-up event size to user space -Fix a udev madness problem, which falls into an endless loop: +=46ix a udev madness problem, which falls into an endless loop: -(1) ppoll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=3, events=POLLIN}], 3, NULL, [], 8) = 1 ([{fd=3, revents=POLLIN}]) -(2) ioctl(3, FIONREAD, [39]) = 0 -(3) read(3, 0x62ad60, 39) = -1 EINVAL (Invalid argument) +(1) ppoll([{fd=3D4, events=3DPOLLIN}, {fd=3D5, events=3DPOLLIN}, {fd=3D= +3, events=3DPOLLIN}], 3, NULL, [], 8) =3D 1 ([{fd=3D3, revents=3DPOLLIN= +}]) +(2) ioctl(3, FIONREAD, [39]) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = +=C2=A0 =C2=A0=3D 0 +(3) read(3, 0x62ad60, 39) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= +=A0 =C2=A0 =C2=A0 =3D -1 EINVAL (Invalid argument) -In (2) we reported a small len, while in (3) we insist on a rounded up len, -leading to a failed inotify read(), which will be retried endlessly by udev. +In (2) we reported a small len, while in (3) we insist on a rounded up = +len, +leading to a failed inotify read(), which will be retried endlessly by = +udev. -[ 756.569243] get_one_event: event_sizeH > count8, name_len", namea-dev-root-link.rules -[ 756.600103] get_one_event: event_sizeH > count8, name_len", namea-dev-root-link.rules -[ 756.630265] get_one_event: event_sizeH > count8, name_len", namea-dev-root-link.rules -[ 756.670862] get_one_event: event_sizeH > count8, name_len", namea-dev-root-link.rules -[ 756.701845] get_one_event: event_sizeH > count8, name_len", namea-dev-root-link.rules -[ 756.732899] get_one_event: event_sizeH > count8, name_len", namea-dev-root-link.rules -[ 756.763126] get_one_event: event_sizeH > count8, name_len", namea-dev-root-link.rules -[ 756.794829] get_one_event: event_sizeH > count8, name_len", namea-dev-root-link.rules -[ 756.824985] get_one_event: event_sizeH > count8, name_len", namea-dev-root-link.rules -[ 756.856760] get_one_event: event_sizeH > count8, name_len", namea-dev-root-link.rules +[ 756.569243] get_one_event: event_size=3D48 > count=3D38, name_len=3D= +22, name=3D61-dev-root-link.rules +[ 756.600103] get_one_event: event_size=3D48 > count=3D38, name_len=3D= +22, name=3D61-dev-root-link.rules +[ 756.630265] get_one_event: event_size=3D48 > count=3D38, name_len=3D= +22, name=3D61-dev-root-link.rules +[ 756.670862] get_one_event: event_size=3D48 > count=3D38, name_len=3D= +22, name=3D61-dev-root-link.rules +[ 756.701845] get_one_event: event_size=3D48 > count=3D38, name_len=3D= +22, name=3D61-dev-root-link.rules +[ 756.732899] get_one_event: event_size=3D48 > count=3D38, name_len=3D= +22, name=3D61-dev-root-link.rules +[ 756.763126] get_one_event: event_size=3D48 > count=3D38, name_len=3D= +22, name=3D61-dev-root-link.rules +[ 756.794829] get_one_event: event_size=3D48 > count=3D38, name_len=3D= +22, name=3D61-dev-root-link.rules +[ 756.824985] get_one_event: event_size=3D48 > count=3D38, name_len=3D= +22, name=3D61-dev-root-link.rules +[ 756.856760] get_one_event: event_size=3D48 > count=3D38, name_len=3D= +22, name=3D61-dev-root-link.rules [ 761.608521] __ratelimit: 210 callbacks suppressed Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> @@ -104,11 +145,16 @@ Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> @@ -318,7 +318,9 @@ static long inotify_ioctl(struct file *f mutex_lock(&group->notification_mutex); list_for_each_entry(holder, &group->notification_list, event_list) { - event = holder->event; -- send_len += sizeof(struct inotify_event) + event->name_len; -+ send_len += sizeof(struct inotify_event); -+ send_len += roundup(event->name_len, + event =3D holder->event; +- send_len +=3D sizeof(struct inotify_event) + event->name_len; ++ send_len +=3D sizeof(struct inotify_event); ++ send_len +=3D roundup(event->name_len, + sizeof(struct inotify_event)); } mutex_unlock(&group->notification_mutex); - ret = put_user(send_len, (int __user *) p); + ret =3D put_user(send_len, (int __user *) p); +-- +To unsubscribe from this list: send the line "unsubscribe linux-hotplug= +" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/a/content_digest b/N1/content_digest index f572778..7eb6a88 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -5,7 +5,7 @@ "ref\0ac3eb2510905060642o41f9c68rf1138e94d76d611c@mail.gmail.com\0" "From\0Wu Fengguang <fengguang.wu@intel.com>\0" "Subject\0[PATCH] inotify: report rounded-up event size to user space\0" - "Date\0Thu, 07 May 2009 11:59:47 +0000\0" + "Date\0Thu, 7 May 2009 19:59:47 +0800\0" "To\0Andrew Morton <akpm@linux-foundation.org>" " Kay Sievers <kay.sievers@vrfy.org>\0" "Cc\0linux-nfs@vger.kernel.org <linux-nfs@vger.kernel.org>" @@ -17,69 +17,94 @@ "\00:1\0" "b\0" "On Wed, May 06, 2009 at 09:42:58PM +0800, Kay Sievers wrote:\n" - "> On Mon, May 4, 2009 at 15:30, Wu Fengguang <fengguang.wu@intel.com> wrote:\n" - "> \n" - "> > I tried remove every udev rules in /etc/udev/ and /lib/udev, the /etc/group\n" + "> On Mon, May 4, 2009 at 15:30, Wu Fengguang <fengguang.wu@intel.com> w=\n" + "rote:\n" + ">=20\n" + "> > I tried remove every udev rules in /etc/udev/ and /lib/udev, the /e=\n" + "tc/group\n" "> > accesses disappeared in strace, but udevd is still busy.\n" - "> \n" - "> > ppoll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=3, events=POLLIN}], 3, NULL, [], 8) = 1 ([{fd=3, revents=POLLIN}])\n" - "> > ioctl(3, FIONREAD, [39]) \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240= 0\n" - "> > read(3, 0x62ad60, 39) \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 = -1 EINVAL (Invalid argument)\n" - "> \n" + ">=20\n" + "> > ppoll([{fd=3D4, events=3DPOLLIN}, {fd=3D5, events=3DPOLLIN}, {fd=3D=\n" + "3, events=3DPOLLIN}], 3, NULL, [], 8) =3D 1 ([{fd=3D3, revents=3DPOLLIN=\n" + "}])\n" + "> > ioctl(3, FIONREAD, [39]) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =\n" + "=C2=A0 =C2=A0=3D 0\n" + "> > read(3, 0x62ad60, 39) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=\n" + "=A0 =C2=A0 =C2=A0 =3D -1 EINVAL (Invalid argument)\n" + ">=20\n" "> Seems, you have issues with inotify on your nfs mount?\n" - "> \n" + ">=20\n" "> Inotify wakes up udevd to tell something in the rules directory has\n" "> changed, but inotify seems not to return anything useful, but keeps\n" "> waking us up. That causes an endless loop of parsing rules files.\n" "\n" - "Thanks for the tip. The failed inotify read() is caused by the size *roundup*\n" - "behavior introduced by the -mm commit 3b46cf7d5f3ca(Reimplement inotify_user\n" + "Thanks for the tip. The failed inotify read() is caused by the size *ro=\n" + "undup*\n" + "behavior introduced by the -mm commit 3b46cf7d5f3ca(Reimplement inotify=\n" + "_user\n" "using fsnotify). Which says:\n" "\n" "+ /*\n" - "+ * We need to pad the filename so as to properly align an\n" - "+ * array of inotify_event structures. Because the structure is\n" - "+ * small and the common case is a small filename, we just round\n" - "+ * up to the next multiple of the structure's sizeof. This is\n" + "+ * We need to pad the filename so as to properly align =\n" + "an\n" + "+ * array of inotify_event structures. Because the stru=\n" + "cture is\n" + "+ * small and the common case is a small filename, we ju=\n" + "st round\n" + "+ * up to the next multiple of the structure's sizeof. =\n" + "This is\n" "+ * simple and safe for all architectures.\n" "+ */\n" "\n" "The udev madness originates from these kernel testing failures:\n" "\n" - "[ 756.569243] get_one_event: event_sizeH > count8, name_len\", namea-dev-root-link.rules\n" - "[ 756.600103] get_one_event: event_sizeH > count8, name_len\", namea-dev-root-link.rules\n" - "[ 756.630265] get_one_event: event_sizeH > count8, name_len\", namea-dev-root-link.rules\n" - "[ 756.670862] get_one_event: event_sizeH > count8, name_len\", namea-dev-root-link.rules\n" - "[ 756.701845] get_one_event: event_sizeH > count8, name_len\", namea-dev-root-link.rules\n" - "[ 756.732899] get_one_event: event_sizeH > count8, name_len\", namea-dev-root-link.rules\n" - "[ 756.763126] get_one_event: event_sizeH > count8, name_len\", namea-dev-root-link.rules\n" - "[ 756.794829] get_one_event: event_sizeH > count8, name_len\", namea-dev-root-link.rules\n" - "[ 756.824985] get_one_event: event_sizeH > count8, name_len\", namea-dev-root-link.rules\n" - "[ 756.856760] get_one_event: event_sizeH > count8, name_len\", namea-dev-root-link.rules\n" + "[ 756.569243] get_one_event: event_size=3D48 > count=3D38, name_len=3D=\n" + "22, name=3D61-dev-root-link.rules\n" + "[ 756.600103] get_one_event: event_size=3D48 > count=3D38, name_len=3D=\n" + "22, name=3D61-dev-root-link.rules\n" + "[ 756.630265] get_one_event: event_size=3D48 > count=3D38, name_len=3D=\n" + "22, name=3D61-dev-root-link.rules\n" + "[ 756.670862] get_one_event: event_size=3D48 > count=3D38, name_len=3D=\n" + "22, name=3D61-dev-root-link.rules\n" + "[ 756.701845] get_one_event: event_size=3D48 > count=3D38, name_len=3D=\n" + "22, name=3D61-dev-root-link.rules\n" + "[ 756.732899] get_one_event: event_size=3D48 > count=3D38, name_len=3D=\n" + "22, name=3D61-dev-root-link.rules\n" + "[ 756.763126] get_one_event: event_size=3D48 > count=3D38, name_len=3D=\n" + "22, name=3D61-dev-root-link.rules\n" + "[ 756.794829] get_one_event: event_size=3D48 > count=3D38, name_len=3D=\n" + "22, name=3D61-dev-root-link.rules\n" + "[ 756.824985] get_one_event: event_size=3D48 > count=3D38, name_len=3D=\n" + "22, name=3D61-dev-root-link.rules\n" + "[ 756.856760] get_one_event: event_size=3D48 > count=3D38, name_len=3D=\n" + "22, name=3D61-dev-root-link.rules\n" "[ 761.608521] __ratelimit: 210 callbacks suppressed\n" "\n" "Which are printed by the following patch:\n" "\n" "--- a/fs/notify/inotify/inotify_user.c\n" "+++ b/fs/notify/inotify/inotify_user.c\n" - " static struct fsnotify_event *get_one_event(struct fsnotify_group *group,\n" + " static struct fsnotify_event *get_one_event(struct fsnotify_group *gro=\n" + "up,\n" " \t\t\t\t\t size_t count)\n" " {\n" - " \tsize_t event_size = sizeof(struct inotify_event);\n" + " \tsize_t event_size =3D sizeof(struct inotify_event);\n" " \tstruct fsnotify_event *event;\n" - " \n" + "=20\n" " \tif (fsnotify_notify_queue_is_empty(group))\n" " \t\treturn NULL;\n" - " \n" - " \tevent = fsnotify_peek_notify_event(group);\n" - " \n" - " \tevent_size += roundup(event->name_len, event_size);\n" - " \n" + "=20\n" + " \tevent =3D fsnotify_peek_notify_event(group);\n" + "=20\n" + " \tevent_size +=3D roundup(event->name_len, event_size);\n" + "=20\n" "-\tif (event_size > count)\n" "+\tif (event_size > count) {\n" "+\t\tif (printk_ratelimit())\n" - "+\t\t\tprintk(\"get_one_event: event_size=%d > count=%d, name_len=%d, name=%s\\n\",\n" - "+\t\t\t\t\t(int)event_size, (int)count, (int)event->name_len, event->file_name);\n" + "+\t\t\tprintk(\"get_one_event: event_size=3D%d > count=3D%d, name_len=3D%d,=\n" + " name=3D%s\\n\",\n" + "+\t\t\t\t\t(int)event_size, (int)count, (int)event->name_len, event->file_na=\n" + "me);\n" " \t\treturn ERR_PTR(-EINVAL);\n" "+\t}\n" "\n" @@ -87,29 +112,45 @@ "It can be fixed by reporting the rounded up value to user space.\n" "\n" "Thanks,\n" - "Fengguang\n" + "=46engguang\n" "---\n" "inotify: report rounded-up event size to user space\n" "\n" - "Fix a udev madness problem, which falls into an endless loop:\n" + "=46ix a udev madness problem, which falls into an endless loop:\n" "\n" - "(1) ppoll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=3, events=POLLIN}], 3, NULL, [], 8) = 1 ([{fd=3, revents=POLLIN}])\n" - "(2) ioctl(3, FIONREAD, [39]) \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240= 0\n" - "(3) read(3, 0x62ad60, 39) \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 = -1 EINVAL (Invalid argument)\n" + "(1) ppoll([{fd=3D4, events=3DPOLLIN}, {fd=3D5, events=3DPOLLIN}, {fd=3D=\n" + "3, events=3DPOLLIN}], 3, NULL, [], 8) =3D 1 ([{fd=3D3, revents=3DPOLLIN=\n" + "}])\n" + "(2) ioctl(3, FIONREAD, [39]) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =\n" + "=C2=A0 =C2=A0=3D 0\n" + "(3) read(3, 0x62ad60, 39) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=\n" + "=A0 =C2=A0 =C2=A0 =3D -1 EINVAL (Invalid argument)\n" "\n" - "In (2) we reported a small len, while in (3) we insist on a rounded up len,\n" - "leading to a failed inotify read(), which will be retried endlessly by udev.\n" + "In (2) we reported a small len, while in (3) we insist on a rounded up =\n" + "len,\n" + "leading to a failed inotify read(), which will be retried endlessly by =\n" + "udev.\n" "\n" - "[ 756.569243] get_one_event: event_sizeH > count8, name_len\", namea-dev-root-link.rules\n" - "[ 756.600103] get_one_event: event_sizeH > count8, name_len\", namea-dev-root-link.rules\n" - "[ 756.630265] get_one_event: event_sizeH > count8, name_len\", namea-dev-root-link.rules\n" - "[ 756.670862] get_one_event: event_sizeH > count8, name_len\", namea-dev-root-link.rules\n" - "[ 756.701845] get_one_event: event_sizeH > count8, name_len\", namea-dev-root-link.rules\n" - "[ 756.732899] get_one_event: event_sizeH > count8, name_len\", namea-dev-root-link.rules\n" - "[ 756.763126] get_one_event: event_sizeH > count8, name_len\", namea-dev-root-link.rules\n" - "[ 756.794829] get_one_event: event_sizeH > count8, name_len\", namea-dev-root-link.rules\n" - "[ 756.824985] get_one_event: event_sizeH > count8, name_len\", namea-dev-root-link.rules\n" - "[ 756.856760] get_one_event: event_sizeH > count8, name_len\", namea-dev-root-link.rules\n" + "[ 756.569243] get_one_event: event_size=3D48 > count=3D38, name_len=3D=\n" + "22, name=3D61-dev-root-link.rules\n" + "[ 756.600103] get_one_event: event_size=3D48 > count=3D38, name_len=3D=\n" + "22, name=3D61-dev-root-link.rules\n" + "[ 756.630265] get_one_event: event_size=3D48 > count=3D38, name_len=3D=\n" + "22, name=3D61-dev-root-link.rules\n" + "[ 756.670862] get_one_event: event_size=3D48 > count=3D38, name_len=3D=\n" + "22, name=3D61-dev-root-link.rules\n" + "[ 756.701845] get_one_event: event_size=3D48 > count=3D38, name_len=3D=\n" + "22, name=3D61-dev-root-link.rules\n" + "[ 756.732899] get_one_event: event_size=3D48 > count=3D38, name_len=3D=\n" + "22, name=3D61-dev-root-link.rules\n" + "[ 756.763126] get_one_event: event_size=3D48 > count=3D38, name_len=3D=\n" + "22, name=3D61-dev-root-link.rules\n" + "[ 756.794829] get_one_event: event_size=3D48 > count=3D38, name_len=3D=\n" + "22, name=3D61-dev-root-link.rules\n" + "[ 756.824985] get_one_event: event_size=3D48 > count=3D38, name_len=3D=\n" + "22, name=3D61-dev-root-link.rules\n" + "[ 756.856760] get_one_event: event_size=3D48 > count=3D38, name_len=3D=\n" + "22, name=3D61-dev-root-link.rules\n" "[ 761.608521] __ratelimit: 210 callbacks suppressed\n" "\n" "Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>\n" @@ -122,13 +163,18 @@ "@@ -318,7 +318,9 @@ static long inotify_ioctl(struct file *f\n" " \t\tmutex_lock(&group->notification_mutex);\n" " \t\tlist_for_each_entry(holder, &group->notification_list, event_list) {\n" - " \t\t\tevent = holder->event;\n" - "-\t\t\tsend_len += sizeof(struct inotify_event) + event->name_len;\n" - "+\t\t\tsend_len += sizeof(struct inotify_event);\n" - "+\t\t\tsend_len += roundup(event->name_len,\n" + " \t\t\tevent =3D holder->event;\n" + "-\t\t\tsend_len +=3D sizeof(struct inotify_event) + event->name_len;\n" + "+\t\t\tsend_len +=3D sizeof(struct inotify_event);\n" + "+\t\t\tsend_len +=3D roundup(event->name_len,\n" "+\t\t\t\t\tsizeof(struct inotify_event));\n" " \t\t}\n" " \t\tmutex_unlock(&group->notification_mutex);\n" - " \t\tret = put_user(send_len, (int __user *) p);" + " \t\tret =3D put_user(send_len, (int __user *) p);\n" + "--\n" + "To unsubscribe from this list: send the line \"unsubscribe linux-hotplug=\n" + "\" in\n" + "the body of a message to majordomo@vger.kernel.org\n" + More majordomo info at http://vger.kernel.org/majordomo-info.html -55f08b8854adedfc95b2527d068cb1051c067dcb14316265043595ed4cba7cf6 +9f7a0dd5f4ba744b2c1b7fe590184ad940af6c8a6321ce4212388a45dc8cba32
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.