Re: [GIT PULL] Security subsystem updates for 4.14

From: Linus Torvalds
Date: Thu Sep 07 2017 - 14:19:42 EST


On Mon, Sep 4, 2017 at 3:29 AM, James Morris <jmorris@xxxxxxxxx> wrote:
>
> IMA:
> - A new integrity_read file operation method, avoids races when
> calculating file hashes

Honestly, this seems really odd.

It documents that it needs to be called with i_rwsem held exclusively,
and even has a lockdep assert to that effect (well, not really: the
code claims "exclusive", but the lockdep assert does not), but I'm not
actually seeing anybody doing it.

Quite the reverse, I just see integrity_read_file() doing filp_open()
on the pathname and passing it to integrity_kernel_read() with no
locking.

It really looks like just pure garbage to me. I pulled, and I'm not
unpulling the whole thing. I don't think it's been tested, and I don't
think it can be right.

Tell me why I'm wrong, or tell me why that garbage made it in in the
first place?

Linus