RDMA/ucma: Limit possible option size
authorLeon Romanovsky <leonro@mellanox.com>
Wed, 7 Mar 2018 12:49:09 +0000 (14:49 +0200)
committerDoug Ledford <dledford@redhat.com>
Wed, 7 Mar 2018 20:18:03 +0000 (15:18 -0500)
commit6a21dfc0d0db7b7e0acedce67ca533a6eb19283c
treeaf65c6ba8416e2f3614680b8886c9eba97d82088
parentbb7f8f199c354c4cf155b1d6d55f86eaaed7fa5a
RDMA/ucma: Limit possible option size

Users of ucma are supposed to provide size of option level,
in most paths it is supposed to be equal to u8 or u16, but
it is not the case for the IB path record, where it can be
multiple of struct ib_path_rec_data.

This patch takes simplest possible approach and prevents providing
values more than possible to allocate.

Reported-by: syzbot+a38b0e9f694c379ca7ce@syzkaller.appspotmail.com
Fixes: 7ce86409adcd ("RDMA/ucma: Allow user space to set service type")
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/core/ucma.c