OSDN Git Service

scsi: libiscsi: fall back to sendmsg for slab pages
authorVasily Averin <vvs@virtuozzo.com>
Thu, 21 Feb 2019 15:23:17 +0000 (18:23 +0300)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 7 Mar 2019 00:26:45 +0000 (19:26 -0500)
commit08b11eaccfcf86a3bac6755625d933ac15ccc27a
tree2de1b9f75412613fc834810ff9bcec90e78c7792
parent038d710fca5bb149d3af2e0b71f1284f8430a979
scsi: libiscsi: fall back to sendmsg for slab pages

In "XFS over network block device" scenario XFS can create IO requests with
slab-based XFS metadata. During processing such requests tcp_sendpage() can
merge skb fragments with neighbour slab objects.

If receiving side is located on the same host tcp_recvmsg() can trigger
BUG_ON in hardening check and crash the host with following message:

usercopy: kernel memory exposure attempt detected
from XXXXXXXX (kmalloc-512) (1024 bytes)

This patch redirect such requests from sednpage to sendmsg path.  The
problem is similar to one described in recent commit 7e241f647dc7
("libceph: fall back to sendmsg for slab pages")

Signed-off-by: Vasily Averin <vvs@virtuozzo.com>
Acked-by: Chris Leech <cleech@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/libiscsi_tcp.c