lkml.org 
[lkml]   [2022]   [Apr]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.16 0620/1017] RDMA/nldev: Prevent underflow in nldev_stat_set_counter_dynamic_doit()
    Date
    From: Dan Carpenter <dan.carpenter@oracle.com>

    [ Upstream commit 87e0eacb176f9500c2063d140c0a1d7fa51ab8a5 ]

    This code checks "index" for an upper bound but it does not check for
    negatives. Change the type to unsigned to prevent underflows.

    Fixes: 3c3c1f141639 ("RDMA/nldev: Allow optional-counter status configuration through RDMA netlink")
    Link: https://lore.kernel.org/r/20220316083948.GC30941@kili
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
    Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/infiniband/core/nldev.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/drivers/infiniband/core/nldev.c b/drivers/infiniband/core/nldev.c
    index f5aacaf7fb8e..ca24ce34da76 100644
    --- a/drivers/infiniband/core/nldev.c
    +++ b/drivers/infiniband/core/nldev.c
    @@ -1951,9 +1951,10 @@ static int nldev_stat_set_counter_dynamic_doit(struct nlattr *tb[],
    u32 port)
    {
    struct rdma_hw_stats *stats;
    - int rem, i, index, ret = 0;
    struct nlattr *entry_attr;
    unsigned long *target;
    + int rem, i, ret = 0;
    + u32 index;

    stats = ib_get_hw_stats_port(device, port);
    if (!stats)
    --
    2.34.1


    \
     
     \ /
      Last update: 2022-04-05 15:27    [W:2.063 / U:4.468 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site