]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
RDMA/rxe: Change variable and function argument to proper type
authorChengguang Xu <cgxu519@mykernel.net>
Mon, 7 Mar 2022 14:50:46 +0000 (22:50 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Apr 2022 12:06:17 +0000 (14:06 +0200)
[ Upstream commit 7e8e611d6a0ff228577b1167335ffefb0f44d5d8 ]

The type of wqe length is u32 so in order to avoid overflow and shadow
casting change variable and relevant function argument to proper type.

Link: https://lore.kernel.org/r/20220307145047.3235675-1-cgxu519@mykernel.net
Signed-off-by: Chengguang Xu <cgxu519@mykernel.net>
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/sw/rxe/rxe_req.c

index 0c9d2af15f3d091af2c3a83d9b66606ddf17e783..79ed4ca2fe2c453cb8e622007f9b005765279eaa 100644 (file)
@@ -362,7 +362,7 @@ static inline int get_mtu(struct rxe_qp *qp)
 
 static struct sk_buff *init_req_packet(struct rxe_qp *qp,
                                       struct rxe_send_wqe *wqe,
-                                      int opcode, int payload,
+                                      int opcode, u32 payload,
                                       struct rxe_pkt_info *pkt)
 {
        struct rxe_dev          *rxe = to_rdev(qp->ibqp.device);
@@ -455,7 +455,7 @@ static struct sk_buff *init_req_packet(struct rxe_qp *qp,
 
 static int finish_packet(struct rxe_qp *qp, struct rxe_send_wqe *wqe,
                       struct rxe_pkt_info *pkt, struct sk_buff *skb,
-                      int paylen)
+                      u32 paylen)
 {
        int err;
 
@@ -503,7 +503,7 @@ static void update_wqe_state(struct rxe_qp *qp,
 static void update_wqe_psn(struct rxe_qp *qp,
                           struct rxe_send_wqe *wqe,
                           struct rxe_pkt_info *pkt,
-                          int payload)
+                          u32 payload)
 {
        /* number of packets left to send including current one */
        int num_pkt = (wqe->dma.resid + payload + qp->mtu - 1) / qp->mtu;
@@ -546,7 +546,7 @@ static void rollback_state(struct rxe_send_wqe *wqe,
 }
 
 static void update_state(struct rxe_qp *qp, struct rxe_send_wqe *wqe,
-                        struct rxe_pkt_info *pkt, int payload)
+                        struct rxe_pkt_info *pkt, u32 payload)
 {
        qp->req.opcode = pkt->opcode;
 
@@ -618,7 +618,7 @@ int rxe_requester(void *arg)
        struct sk_buff *skb;
        struct rxe_send_wqe *wqe;
        enum rxe_hdr_mask mask;
-       int payload;
+       u32 payload;
        int mtu;
        int opcode;
        int ret;