android_kernel_sony_sdm845/include/rdma
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Roland Dreier d0253af4a1 RDMA/ucma: Introduce safer rdma_addr_size() variants
commit 84652aefb347297aa08e91e283adf7b18f77c2d5 upstream.

There are several places in the ucma ABI where userspace can pass in a
sockaddr but set the address family to AF_IB.  When that happens,
rdma_addr_size() will return a size bigger than sizeof struct sockaddr_in6,
and the ucma kernel code might end up copying past the end of a buffer
not sized for a struct sockaddr_ib.

Fix this by introducing new variants

    int rdma_addr_size_in6(struct sockaddr_in6 *addr);
    int rdma_addr_size_kss(struct __kernel_sockaddr_storage *addr);

that are type-safe for the types used in the ucma ABI and return 0 if the
size computed is bigger than the size of the type passed in.  We can use
these new variants to check what size userspace has passed in before
copying any addresses.

Reported-by: <syzbot+6800425d54ed3ed8135d@syzkaller.appspotmail.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-08 12:12:49 +02:00
..
ib.h IB/security: Restrict use of the write() interface 2016-04-28 12:03:16 -04:00
ib_addr.h RDMA/ucma: Introduce safer rdma_addr_size() variants 2018-04-08 12:12:49 +02:00
ib_cache.h IB/core: Add gid_type to gid attribute 2015-12-23 10:35:10 -05:00
ib_cm.h IB/cm: Remove compare_data checks 2015-08-30 15:48:24 -04:00
ib_fmr_pool.h RDMA: Improve include file coding style 2008-07-14 23:48:44 -07:00
ib_hdrs.h IB/core: Add ib headers for general use 2016-10-02 08:40:35 -04:00
ib_mad.h IB/core: Introduce capabilitymask2 field in ClassPortInfo mad 2016-05-25 15:39:02 -04:00
ib_marshall.h
ib_pack.h IB/core: Fix calculation of maximum RoCE MTU 2017-12-20 10:07:32 +01:00
ib_pma.h IB/core: Display extended counter set if available 2015-12-23 15:58:30 -05:00
ib_sa.h RDMA/core: Fix incorrect structure packing for booleans 2017-03-12 06:41:50 +01:00
ib_smi.h IB/core: Move SM class defines from ib_mad.h to ib_smi.h 2015-09-03 15:50:32 -04:00
ib_umem.h IB/core: Add support for on demand paging regions 2014-12-15 18:13:36 -08:00
ib_umem_odp.h IB/core: Implement support for MMU notifiers regarding on demand paging regions 2014-12-15 18:13:36 -08:00
ib_verbs.h Merge of primary rdma-core code for 4.9 2016-10-09 17:04:33 -07:00
iw_cm.h iwcm: common code for port mapper 2016-03-16 13:47:52 -04:00
iw_portmap.h RDMA/core: Enable the iWarp Port Mapper to provide the actual address of the connecting peer to its clients 2015-05-05 09:18:01 -04:00
mr_pool.h IB/core: add a simple MR pool 2016-05-13 13:37:18 -04:00
opa_port_info.h IB/hfi1: Clean up port state structure definition 2016-08-02 12:00:54 -04:00
opa_smi.h IB/core: Add core header changes needed for OPA 2015-08-28 22:54:50 -04:00
rdma_cm.h IB/core: Support for CMA multicast join flags 2016-08-03 21:06:46 -04:00
rdma_cm_ib.h RDMA: Fix license text 2008-07-14 23:48:43 -07:00
rdma_netlink.h IB/core: Add rdma netlink helper functions 2015-08-30 18:12:25 -04:00
rdma_vt.h IB/hfi1: Add the capability for reserved operations 2016-08-02 16:00:58 -04:00
rdmavt_cq.h IB/rdmavt: Add completion queue functions 2016-03-10 20:37:24 -05:00
rdmavt_mr.h IB/rdmavt: Add mechanism to invalidate MR keys 2016-08-02 16:00:58 -04:00
rdmavt_qp.h IB/rdmavt: Add functions to get and release QP references 2016-09-16 14:35:27 -04:00
rw.h IB/core: add RW API support for signature MRs 2016-05-13 13:37:20 -04:00