Loading
RDMA/siw: Fabricate a GID on tun and loopback devices
mainline inclusion from mainline-v6.6-rc1 commit bad5b6e3 category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IBI67U CVE: CVE-2024-57857 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bad5b6e34ffbaacc77ad28a0f482e33b3929e635 ------------------------------------------------- LOOPBACK and NONE (tunnel) devices have all-zero MAC addresses. Currently, siw_device_create() falls back to copying the IB device's name in those cases, because an all-zero MAC address breaks the RDMA core address resolution mechanism. However, at the point when siw_device_create() constructs a GID, the ib_device::name field is uninitialized, leaving the MAC address to remain in an all-zero state. Fabricate a random artificial GID for such devices, and ensure this artificial GID is returned for all device query operations. Link: https://lore.kernel.org/r/168960673260.3007.12378736853793339110.stgit@manet.1015granger.net Reported-by:Tom Talpey <tom@talpey.com> Fixes: a2d36b02 ("RDMA/siw: Enable siw on tunnel devices") Reviewed-by:
Bernard Metzler <bmt@zurich.ibm.com> Reviewed-by:
Tom Talpey <tom@talpey.com> Signed-off-by:
Chuck Lever <chuck.lever@oracle.com> Signed-off-by:
Jason Gunthorpe <jgg@nvidia.com> Conflicts: drivers/infiniband/sw/siw/siw_main.c drivers/infiniband/sw/siw/siw_verbs.c [did not backport c074bb1e, 5c419366, 1fb7f897.] Signed-off-by:
Liu Jian <liujian56@huawei.com>