Re: Question: Why is there no notification when a file is opened using filp_open()?

From: Xiaoming Ni
Date: Tue Sep 08 2020 - 13:01:47 EST


On 2020/9/8 18:06, Amir Goldstein wrote:
On Tue, Sep 8, 2020 at 11:02 AM Xiaoming Ni <nixiaoming@xxxxxxxxxx> wrote:

The file opening action on the system may be from user-mode sys_open()
or kernel-mode filp_open().
Currently, fsnotify_open() is invoked in do_sys_openat2().
But filp_open() is not notified. Why? Is this an omission?

Do we need to call fsnotify_open() in filp_open() or do_filp_open() to
ensure that both user-mode and kernel-mode file opening operations can
be notified?


Do you have a specific use case of kernel filp_open() in mind?


For example, in fs/coredump.c, do_coredump() calls filp_open() to generate core files.
In this scenario, the fsnotify_open() notification is missing.

Thanks
Xiaoming Ni