On Thu, 26 Oct 2017, Eric Biggers wrote: > From: Eric Biggers <ebiggers@xxxxxxxxxx> > > When calling keyctl_read() on a key of type "trusted", if the > user-supplied buffer was too small, the kernel ignored the buffer length > and just wrote past the end of the buffer, potentially corrupting > userspace memory. Fix it by instead returning the size required, as per > the documentation for keyctl_read(). > > We also don't even fill the buffer at all in this case, as this is > slightly easier to implement than doing a short read, and either > behavior appears to be permitted. It also makes it match the behavior > of the "encrypted" key type. > > Fixes: d00a1c72f7f4 ("keys: add new trusted key-type") > Reported-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> > Cc: <stable@xxxxxxxxxxxxxxx> # v2.6.38+ > Signed-off-by: Eric Biggers <ebiggers@xxxxxxxxxx> Reviewed-by: James Morris <james.l.morris@xxxxxxxxxx> -- James Morris <james.l.morris@xxxxxxxxxx>