summaryrefslogtreecommitdiff
path: root/sound/soc/codecs/ssm2602-i2c.c
diff options
context:
space:
mode:
authorJann Horn <jannh@google.com>2018-06-25 16:25:44 +0200
committerMartin K. Petersen <martin.petersen@oracle.com>2018-06-26 13:10:42 -0400
commit26b5b874aff5659a7e26e5b1997e3df2c41fa7fd (patch)
tree65bf8865093f0b17b95602d29c86b90e9386dda4 /sound/soc/codecs/ssm2602-i2c.c
parent59b433c825569ce251371485f0e29fca888b549d (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: <stable@vger.kernel.org> Signed-off-by: Jann Horn <jannh@google.com> Acked-by: Douglas Gilbert <dgilbert@interlog.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'sound/soc/codecs/ssm2602-i2c.c')
0 files changed, 0 insertions, 0 deletions