Messages in this thread | | | Date | Mon, 21 Sep 2015 22:56:49 +0300 | Subject | Re: [PATCH] inotify: hide internal kernel bits from fdinfo | From | Andrey Wagin <> |
| |
2015-09-21 21:45 GMT+03:00 Dave Hansen <dave@sr71.net>: > > From: Dave Hansen <dave.hansen@linux.intel.com> > > There was a report that my patch: > > inotify: actually check for invalid bits in sys_inotify_add_watch() > > broke CRIU. > > The reason is that CRIU looks up raw flags in /proc/$pid/fdinfo/* > to figure out how to rebuild inotify watches and then passes those > flags directly back in to the inotify API. One of those flags > (FS_EVENT_ON_CHILD) is set in mark->mask, but is not part of the > inotify API. It is used inside the kernel to _implement_ inotify > but it is not and has never been part of the API. > > My patch above ensured that we only allow bits which are part of > the API (IN_ALL_EVENTS). This broke CRIU. > > FS_EVENT_ON_CHILD is really internal to the kernel. It is set > _anyway_ on all inotify marks. So, CRIU was really just trying > to set a bit that was already set. > > This patch hides that bit from fdinfo. CRIU will not see the > bit, not try to set it, and should work as before. We should not > have been exposing this bit in the first place, so this is a good > patch independent of the CRIU problem. > > Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> > Reported-by: Andrey Wagin <avagin@gmail.com>
Acked-by: Andrey Vagin <avagin@openvz.org>
Thanks, Andrey
> Cc: Andrew Morton <akpm@linux-foundation.org> > Cc: Cyrill Gorcunov <gorcunov@openvz.org> > Cc: xemul@parallels.com > Cc: Eric Paris <eparis@redhat.com> > Cc: john@johnmccutchan.com > Cc: rlove@rlove.org > Cc: linux-kernel@vger.kernel.org > ---
| |