• Parav Pandit's avatar
    IB/core: Fix error code for invalid GID entry · a840c93c
    Parav Pandit authored
    When a GID entry is invalid EAGAIN is returned. This is an incorrect error
    code, there is nothing that will make this GID entry valid again in
    bounded time.
    
    Some user space tools fail incorrectly if EAGAIN is returned here, and
    this represents a small ABI change from earlier kernels.
    
    The first patch in the Fixes list makes entries that were valid before
    to become invalid, allowing this code to trigger, while the second patch
    in the Fixes list introduced the wrong EAGAIN.
    
    Therefore revert the return result to EINVAL which matches the historical
    expectations of the ibv_query_gid_type() API of the libibverbs user space
    library.
    
    Cc: <stable@vger.kernel.org>
    Fixes: 598ff6ba ("IB/core: Refactor GID modify code for RoCE")
    Fixes: 03db3a2d ("IB/core: Add RoCE GID table management")
    Reviewed-by: default avatarDaniel Jurgens <danielj@mellanox.com>
    Signed-off-by: default avatarParav Pandit <parav@mellanox.com>
    Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
    Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
    a840c93c
cache.c 32.8 KB