On Tue, Nov 17, 2020 at 3:29 PM Linus Torvalds torvalds@linux-foundation.org wrote:
On Tue, Nov 17, 2020 at 3:24 PM Mimi Zohar zohar@linux.ibm.com wrote:
I really wish it wasn't needed.
Seriously, I get the feeling that IMA is completely mis-designed, and is doing actively bad things.
Who uses this "feature", and who cares? Because I would suggest you just change the policy and be done with it.
Another alternative is to change the policy and say "any write-only open gets turned into a read-write open".
But it needs to be done at *OPEN* time, not randomly afterwards by just lying to the 'struct file'.
Why? Because the open has told the filesystem that it's only for writing, and a filesystem could validly do things that make reading invalid. The simplest example of this is a network filesystem, where the server might simply not *allow* reads, because the open was for writing only.
See? IMA really does something fundamentally quite wrong when it tries to read from a non-readable file. It might "work" by accident, but I really do think that commit a1f9b1c0439db didn't "break" IMA - it showed that IMA was doing something fundamentally wrong.
Linus