diff options
author | Jann Horn <[email protected]> | 2018-06-25 16:25:44 +0200 |
---|---|---|
committer | Martin K. Petersen <[email protected]> | 2018-06-26 13:10:42 -0400 |
commit | 26b5b874aff5659a7e26e5b1997e3df2c41fa7fd (patch) | |
tree | 65bf8865093f0b17b95602d29c86b90e9386dda4 /tools/perf/scripts/python/export-to-sqlite.py | |
parent | 59b433c825569ce251371485f0e29fca888b549d (diff) |
scsi: sg: mitigate read/write abuse
As Al Viro noted in commit 128394eff343 ("sg_write()/bsg_write() is not fit
to be called under KERNEL_DS"), sg improperly accesses userspace memory
outside the provided buffer, permitting kernel memory corruption via
splice(). But it doesn't just do it on ->write(), also on ->read().
As a band-aid, make sure that the ->read() and ->write() handlers can not
be called in weird contexts (kernel context or credentials different from
file opener), like for ib_safe_file_access().
If someone needs to use these interfaces from different security contexts,
a new interface should be written that goes through the ->ioctl() handler.
I've mostly copypasted ib_safe_file_access() over as sg_safe_file_access()
because I couldn't find a good common header - please tell me if you know a
better way.
[mkp: s/_safe_/_check_/]
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Cc: <[email protected]>
Signed-off-by: Jann Horn <[email protected]>
Acked-by: Douglas Gilbert <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions