linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC 0/3] fs,epoll: Add ability to call kcmp to find target files
@ 2017-02-21 16:59 Cyrill Gorcunov
  2017-02-21 20:32 ` Jason Baron
  0 siblings, 1 reply; 4+ messages in thread
From: Cyrill Gorcunov @ 2017-02-21 16:59 UTC (permalink / raw)
  To: linux-fsdevel, linux-kernel, linux-api
  Cc: viro, akpm, avagin, xemul, mtk.manpages, kir, gorcunov, luto,
	jbaron

Hi! In previous series EPOLL_CTL_DUP operation has been discussed
but considered as potentially scary. So here is an another approach:

 - extend fdinfo of epoll files with inode, device and file position
   for every target, which allow the reader to gather targets with
   this bundle as a key for primary sorting

 - extent kcmp to check if some particular file is matching one
   sitting inside epoll queue (duplicate numbers are resolved with
   offset parameter)

Please take a look once time permit. Note that I did only basic
testing (without CRIU) but it should fit our needs because we
sort and lookup regualr files by same scheme. So I'm about to
implemet full criu support for this new kernel features in
a couple of days thus any comments are *higly* appreciated.

NB: Initially I added

	if (file_ns_capable(epi->ffd.file, ns, CAP_SYS_ADMIN))

into fdinfo output to check if caller is allowed to see
target ino/dev/pos but dropped it later because if process
is added file descriptor into epoll queue it mean fdstat
and such already can be called and this information is
already obtained, so I don't this it's information
disclosure.

	Cyrill

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-02-28 17:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-21 16:59 [RFC 0/3] fs,epoll: Add ability to call kcmp to find target files Cyrill Gorcunov
2017-02-21 20:32 ` Jason Baron
2017-02-21 20:54   ` Cyrill Gorcunov
2017-02-28 17:11     ` Cyrill Gorcunov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).