On Tue, 2014-05-06 at 17:59 +0100, Al Viro wrote: > On Tue, May 06, 2014 at 04:32:27PM +0300, Dmitry Kasatkin wrote: > > Hi, > > > > I have discovered one IMA related issue. > > > > IMA file hash is re-calculate if needed on file close. > > > > It works with ftruncate(fd, length) syscall, because it operates on > > "opened" file. > > Recalculation is happening on file close. > > > > truncate(path, length) syscall works with path and no file open/close > > takes place. > > Recalculation does not happen. > > IMA denies file access later. > > > > It looks like vfs_truncate() should possibly call IMA to recalculate the > > hash. > > Who said that it has permissions to read the file? Reread truncate(2) > manpage; it requires the file to be *writable* for caller, but it doesn't > need it to be readable.
Al, you're not going to like this, but ima_calc_file_hash() calls ima_calc_file_hash_tfm(), which already sets/unsets FMODE_READ in order to calculate the file hash. Mimi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/