Jann Horn <jannh@xxxxxxxxxx> wrote: > > +void post_mount_notification(struct mount *changed, > > + struct mount_notification *notify) > > +{ > > + const struct cred *cred = current_cred(); > > This current_cred() looks bogus to me. Can't mount topology changes > come from all sorts of places? For example, umount_mnt() from > umount_tree() from dissolve_on_fput() from __fput(), which could > happen pretty much anywhere depending on where the last reference gets > dropped? IIRC, that's what Casey argued is the right thing to do from a security PoV. Casey? Maybe I should pass in NULL creds in the case that an event is being generated because an object is being destroyed due to the last usage[*] being removed. [*] Usage, not ref - Superblocks are a bit weird in their accounting. David