]> asedeno.scripts.mit.edu Git - linux.git/commit
net/rds: Whitelist rdma_cookie and rx_tstamp for usercopy
authorDag Moxnes <dag.moxnes@oracle.com>
Fri, 23 Aug 2019 14:03:18 +0000 (16:03 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 23 Aug 2019 21:55:52 +0000 (14:55 -0700)
commitbf1867db9b850fff2dd54a1a117a684a10b8cd90
tree6a24f3846825650b85630061b57808e6996bbceb
parent87cade2997c9210cfeb625957e44b865a89d0c13
net/rds: Whitelist rdma_cookie and rx_tstamp for usercopy

Add the RDMA cookie and RX timestamp to the usercopy whitelist.

After the introduction of hardened usercopy whitelisting
(https://lwn.net/Articles/727322/), a warning is displayed when the
RDMA cookie or RX timestamp is copied to userspace:

kernel: WARNING: CPU: 3 PID: 5750 at
mm/usercopy.c:81 usercopy_warn+0x8e/0xa6
[...]
kernel: Call Trace:
kernel: __check_heap_object+0xb8/0x11b
kernel: __check_object_size+0xe3/0x1bc
kernel: put_cmsg+0x95/0x115
kernel: rds_recvmsg+0x43d/0x620 [rds]
kernel: sock_recvmsg+0x43/0x4a
kernel: ___sys_recvmsg+0xda/0x1e6
kernel: ? __handle_mm_fault+0xcae/0xf79
kernel: __sys_recvmsg+0x51/0x8a
kernel: SyS_recvmsg+0x12/0x1c
kernel: do_syscall_64+0x79/0x1ae

When the whitelisting feature was introduced, the memory for the RDMA
cookie and RX timestamp in RDS was not added to the whitelist, causing
the warning above.

Signed-off-by: Dag Moxnes <dag.moxnes@oracle.com>
Tested-by: Jenny <jenny.x.xu@oracle.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/rds/ib_recv.c
net/rds/rds.h
net/rds/recv.c