in-kernel verification of user PI?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

I've recently been reviewing the just merged io_uring support for
passing PI and metadata from userspace and reconciling it with my
fs PI design notes and prototype.

One thing that I noticed is that for PI passed form userspace the
kernel never verifies that the guard and ref tag match what we'd
expect.  I.e. if userspace passes incorrect information it can trigger
a command failure and thus the driver error handler, which is something
we don't usually allow for "regular" I/O.  Definitively not on files
but in general also not on the block device special files.  Also a
"random" reftag could cause some interesting integer overflows when
partition (or later file offset) remapping.

Shouldn't the kernel do verification of the guard/ref tags on writes
with PI data?

Also another thing is that right now the holder of a path or fd has no
idea what metadata it is supposed to pass.  For block device special
files find the right sysfs directory is relatively straight forward
(but still annoying), but one a file is on a file systems that becomes
impossible.  I think we'll need an ioctl that exposes the equivalent
of the integrity sysfs directory to make this usable by applications.




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux