From nobody Mon Jun 8 05:26:07 2026 Received: from mail-lj1-f172.google.com (mail-lj1-f172.google.com [209.85.208.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 90F753955D1 for ; Fri, 5 Jun 2026 17:15:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780679706; cv=none; b=OSBZAlI8Uz006PP7+CjThxkyki8dEuKH5H131YKdJ8PUQLxzNELRT+WcmT0V1sFDACtHNCk7oSQ3zjaN0j/fX5j0uke9KyKU8bR/5tK9XLeItL1zKLf4xdWicZmSCqYZsT5E1/eZLJYWYJTKWiaj4vxbYVsr8SPat+EMgGQG7+w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780679706; c=relaxed/simple; bh=t0WigNGpMZmvf4quse345k2NV+vD6IJLO1Kax3B21/0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OMvlNI5cy8QiUVenD5eoM+F0yCIHKHLObsYlX/JHSl0uSjmthK2+W/mK77XTA44QFaIfGzbbpde55lS/aLhXuEkH68P6H9N6K7GfhniIJYr62ZyDWg+upH6wPM+/MGcBJyUw0ClryNvTAwwjZfQJ7MIfz5IGrCA0p4PaCxGKT6o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=j6KSm+41; arc=none smtp.client-ip=209.85.208.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="j6KSm+41" Received: by mail-lj1-f172.google.com with SMTP id 38308e7fff4ca-39677245e15so21601811fa.1 for ; Fri, 05 Jun 2026 10:15:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780679698; x=1781284498; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=lNuMWdX3Tuj9FCYORwDrlXKxVIB3eH/elxKfaw867rE=; b=j6KSm+41UJX8CQkGFtZ4NbgWVLFEjRn0waSeMoOeHygLFcsQY9rVeA4iu0yFThasBs TNsGJ3oLIeIj1EJKkLt045LSgNXSmk8qeyWZdC1eGRp0QrSOT2wz8nYuhPAgDe3FN44g wo/CJ1SywfmENkyefa/N4a+25/otSPzwxgdWFwRxRuMsiZ1ZLJj1ZOxL7x42lXCTX+zv gaWcDrvQEcjquqfZPC391Lz90pcgFg165d7ao7MvHE7to9UA1fgU0aLY9+K6fyBslssx nakPBTtnQGJV5ERq5tVVQM3MM8Au6LRxJoAwRaIloZGG95YdXxxJ0sL/H8tLkIilM7yL zc9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780679698; x=1781284498; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=lNuMWdX3Tuj9FCYORwDrlXKxVIB3eH/elxKfaw867rE=; b=JhtJoMmhijbeZPwIKa//exW3XgLle8l8vKoMrWvb+nWd2lOpEiYtJ2034WfbxnCyzL 1LHf7Da1GyfRsICME4E4OpjYt2Ey2Y6eEfiLQjExs6BT5lxfBFR+8DQ5ilTwOZ9PrLI1 MqwSSUnpxo06BdT30mf1LnHqBRXWbO/kDPrY4NsKaKCFoBq0ZxH7DbbMGsw/iole+XMA iaFJYCn21Rdv7vfJw6CxaN+r4y5XZg67TVFbvV1ILW5IsvBuVSllvCeJPdNtLEqW9C7x 6+x3cFIqztfNbum/xWwgxChVNqlfgwLsiOUTNAwQ0boGr7fyf9mo3oWesE2OLzHERfK/ HHVg== X-Forwarded-Encrypted: i=1; AFNElJ+NVtJUW+vJIJHZRBFCysbA/HVQAaua+iD83UNzb/5Hasz0gJYlLIBZUMTYMadndHpOwvyGvZfH/WnGzDg=@vger.kernel.org X-Gm-Message-State: AOJu0YxZ6cIU8OQsmQgpAjW6yOVk1RqsI/uhjN8xSwoi+uCaAF7nc+Yc LUKbxxpLQeePpv0DTC6V5kv8IoKoe71eW5eYuwjxQVv0BkbzzKMFfWa5 X-Gm-Gg: Acq92OHRlBN1W82U2ohAEQQzzVxgrREyJasLjv/2zPBijIiLN9kqMJLxgvqgD25mK3L v7zllpxanKH5NVXnUj9vFPxXagicOEKJrUsJNR4iER5nPu6s8SXuPz61K2HYbfALIRWemCNAOUR JNjADy+9wzY13Kn6vKuR+EV1PR1DKdSfiZztoaWO2iHwF7KL78CU+WrvHNEVhLgYdZdvJ2xd5kC TN3ggdlDsrl7YHXeEW2BfmmmEGRjJYlGxcWAIfDiOM2VmxqxwtGLoEbU0BbzeAVwlBVVDFAAS3i Vy8wgNwxPhzzWtDIiipfD1s1OTqX4PgJpNwbuSbB5C9fD9wRbj8Z+MpysWBMQhkKCJjr9P43oFP tlK1SqZddwXHgr1S8Bdo2i40Nt7QmI8cIcT1hNIxmGGPEauZW5NePN5juh81TyWwvGaoDJx8ByB Bm5gdUGtj/Dh08mY9yN5+R4z0nvDHVdUN1pWUpCIS+orLJ7+FCYXKxiUOlr9Ahix8aR//d X-Received: by 2002:a05:6512:1344:b0:5aa:62cf:751d with SMTP id 2adb3069b0e04-5aa87bef9admr1395413e87.30.1780679698201; Fri, 05 Jun 2026 10:14:58 -0700 (PDT) Received: from c0624c666cc5.devsec.astralinux.ru ([93.188.205.42]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5aa7b991b4bsm1991133e87.73.2026.06.05.10.14.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Jun 2026 10:14:57 -0700 (PDT) From: Vladislav Nikolaev To: stable@vger.kernel.org, Greg Kroah-Hartman Cc: Vladislav Nikolaev , Zhu Yanjun , Doug Ledford , Jason Gunthorpe , Haggai Eran , Kamal Heib , Amir Vadai , Moni Shoua , Yonatan Cohen , Leon Romanovsky , linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org, Zhu Yanjun , lvc-project@linuxtesting.org, syzbot+cfcc1a3c85be15a40cba@syzkaller.appspotmail.com, Zhu Yanjun Subject: [PATCH v3 5.10/5.15 1/2] RDMA/rxe: Fix the error "trying to register non-static key in rxe_cleanup_task" Date: Fri, 5 Jun 2026 20:14:42 +0300 Message-ID: <20260605171449.1760-2-vlad102nikolaev@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260605171449.1760-1-vlad102nikolaev@gmail.com> References: <20260605171449.1760-1-vlad102nikolaev@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Zhu Yanjun commit b2b1ddc457458fecd1c6f385baa9fbda5f0c63ad upstream. In the function rxe_create_qp(), rxe_qp_from_init() is called to initialize qp, internally things like rxe_init_task are not setup until rxe_qp_init_req(). If an error occurred before this point then the unwind will call rxe_cleanup() and eventually to rxe_qp_do_cleanup()/rxe_cleanup_task() which will oops when trying to access the uninitialized spinlock. If rxe_init_task is not executed, rxe_cleanup_task will not be called. Reported-by: syzbot+cfcc1a3c85be15a40cba@syzkaller.appspotmail.com Link: https://syzkaller.appspot.com/bug?id=3Dfd85757b74b3eb59f904138486f755= f71e090df8 Fixes: 8700e3e7c485 ("Soft RoCE driver") Fixes: 2d4b21e0a291 ("IB/rxe: Prevent from completer to operate on non vali= d QP") Signed-off-by: Zhu Yanjun Link: https://lore.kernel.org/r/20230413101115.1366068-1-yanjun.zhu@intel.c= om Signed-off-by: Leon Romanovsky [ Vladislav: add the missing resp.task.func check and keep the cleanup order used by upstream after 960ebe97e523 ("RDMA/rxe: Remove __rxe_do_task()"). Moving rxe_cleanup_task(&qp->resp.task) after the RC timer cleanup is independent from that commit: timer deletion does not depend on the responder task cleanup, and placing all task cleanup after the timers matches the final upstream ordering while keeping this fix minimal for 5.10/5.15. ] Signed-off-by: Vladislav Nikolaev --- drivers/infiniband/sw/rxe/rxe_qp.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/infiniband/sw/rxe/rxe_qp.c b/drivers/infiniband/sw/rxe= /rxe_qp.c index 4c938d841f76..0532c446760d 100644 --- a/drivers/infiniband/sw/rxe/rxe_qp.c +++ b/drivers/infiniband/sw/rxe/rxe_qp.c @@ -760,15 +760,20 @@ void rxe_qp_destroy(struct rxe_qp *qp) { qp->valid =3D 0; qp->qp_timeout_jiffies =3D 0; - rxe_cleanup_task(&qp->resp.task); =20 if (qp_type(qp) =3D=3D IB_QPT_RC) { del_timer_sync(&qp->retrans_timer); del_timer_sync(&qp->rnr_nak_timer); } =20 - rxe_cleanup_task(&qp->req.task); - rxe_cleanup_task(&qp->comp.task); + if (qp->resp.task.func) + rxe_cleanup_task(&qp->resp.task); + + if (qp->req.task.func) + rxe_cleanup_task(&qp->req.task); + + if (qp->comp.task.func) + rxe_cleanup_task(&qp->comp.task); =20 /* flush out any receive wr's or pending requests */ if (qp->req.task.func) --=20 2.39.5 From nobody Mon Jun 8 05:26:07 2026 Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3DBFC3939A6 for ; Fri, 5 Jun 2026 17:15:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780679708; cv=none; b=rBRH+/jA3ueMPsgBGnHkFOXHg8mE/6Mg5akR4CMwtKLQrO4lB7lxyCQ1LjDlAeGlmz/hMpOMrdv8aqSQ8NAio5z0/wvj/aOsLtEHFEldM1aXw78z1oNsdTPoDUbrVe/LQodL11zf/vmw3QrLkkanlRv4E1N/Fyvh80qkGDFhaCs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780679708; c=relaxed/simple; bh=BCSuNzV3i9qzPuO7vsAh/bgMmla4PBIRMAML7L/yF8M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=uuKuC+/Cmrzn/jIRU3XJyj1CwkJZd+6fC3KyR3uHkIjWxAr87y9WiMDXpem+TtGHIO/pnciUpR/eBbjipIL7pPWFEe7f+yyJ83vQrnCoedgdXhwqjwuI/LR8Q4r/sEkKOPRA9eyWqRzsGxFVtxPa8kBCqY9b8c/M8DOG3y+WgAs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=PvEAm0SO; arc=none smtp.client-ip=209.85.167.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="PvEAm0SO" Received: by mail-lf1-f52.google.com with SMTP id 2adb3069b0e04-5aa68dbb38aso2117442e87.2 for ; Fri, 05 Jun 2026 10:15:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780679702; x=1781284502; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=om5VQEYS3XqaZggLn2efdbYdtVOE3N0WLO34GJA5ZZU=; b=PvEAm0SOP7wNFoVqEWC1b8ouRC3DLVbWCD86nRzOYCbdYGMqRK3IttBpbUpncfcyEO PtH8GIXPmdeUrVU5hiizfkFfTDbPgi5Wgv0fwHq/PfoBvG3c8+V/rqqlhf460Obv0VsE oooYARQzzgih/S+fifBcHkX/qFtlBETObJ0SCVEpvDP9bibP+jm5NZqlUqcN0Qo1isu8 1CYTFJ7kVRhpvXWGhVRGQZ4UUyEWeoHHEem2hKU6kUBWwnr7Dt4sf4uqckB0C13eEH4o 3Dtn6XVPaZxc5lZBAY1lbkVZXBTyQN1ncBe3ApMeOCTCn7z7XfoaDlavsQqRbeLHM8i2 h/Cw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780679702; x=1781284502; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=om5VQEYS3XqaZggLn2efdbYdtVOE3N0WLO34GJA5ZZU=; b=nz5YEDrQKg65gtapKaZCbTA0mjcw86d3oI88tok66/AAMzCqeiTSwLnYRRNa0wN6nl rpZouAqhSlwCzPUSFzDazKn0vIAb7cdxxA/A90xvgJ8Pz6VpnMe/7KHvAdz4hN9/Fzzr jWusuWUYRg3eA6TXdtDZL7A+9Qu21Do+MQQ+/2larUmv3hGSPpwVYz2jDs4AguQQWCSG XTtgu/aPY4+g97JJ+pflXQve0DOyC/rEX6uWf48O9awI48tcuolj7Qn5DnLqliZKdBGF hnRYQ4hEk08Wu+40mU+eF5U392JhlC0+XUSwrLtTMkdopdGcmpAn3r9KIqv92Ia7gcI+ jICQ== X-Forwarded-Encrypted: i=1; AFNElJ+onFkLYg8D5RKS3Rzmuy+COrok8HCHv4wn7y+SnNtiQZHROAHm8GWl5gjS4ZouWGkvniAwXOf9epY5HWI=@vger.kernel.org X-Gm-Message-State: AOJu0Yy6ZXB8ic7EJcWY+SODPmU7YL7zw72M4q+bgCJHUGr3lB47mg7P HxuSbaGOnYC9/gBGven9JqFbM7sPkns28tZNUKg568PknU5CWOcxMK7c X-Gm-Gg: Acq92OGw5jCayo/6H3XSsqM1Dys2H3vRw1CNOa1Jjg5hw4LaHd0boLimvSxCR/MnZIt CcmsCzklBjML/XeipRBFR3DMzpXKjVTHvL/vlDTGCISS9TrEz145MXiRYmDvoWEe5IBBCtdK/2K 20zDMbrvfhzizNMJrYgUEIg5erHIUgaTiactSY1r29pBfuuE9OOecbTexSq0U680YqBh8HitO82 IbCqwqUZnmn4DowYnH392Cc9RAYZy5G/MOgS3Phr/XAIfdBDJBMk9wCXFCKwIn9hYhka+dvf0OH xEgAW8ug833R2S3aFaDXCg8kjt7SjFnZ6nWB3o59uBZQZUduo94SwQXgB68TdEdADYfouTwMavV cXtpGu49RkDik20dVbIOLHDzc32fStY+4SFkBOmpqu/4l57DGkOkxi2mOZxy7SiGJCXStqyNKkO ygSq8buLx49gANdrsjX2K3IRponrwoI5ILWeZrN3tzfSXT3RRzIbZYjT6+tcOnsdc+6rT2 X-Received: by 2002:a05:6512:1243:b0:5aa:6332:fdad with SMTP id 2adb3069b0e04-5aa87bc900cmr1323591e87.32.1780679702051; Fri, 05 Jun 2026 10:15:02 -0700 (PDT) Received: from c0624c666cc5.devsec.astralinux.ru ([93.188.205.42]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5aa7b991b4bsm1991133e87.73.2026.06.05.10.15.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Jun 2026 10:15:01 -0700 (PDT) From: Vladislav Nikolaev To: stable@vger.kernel.org, Greg Kroah-Hartman Cc: Vladislav Nikolaev , Zhu Yanjun , Doug Ledford , Jason Gunthorpe , Haggai Eran , Kamal Heib , Amir Vadai , Moni Shoua , Yonatan Cohen , Leon Romanovsky , linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org, Zhu Yanjun , lvc-project@linuxtesting.org, syzbot+4edb496c3cad6e953a31@syzkaller.appspotmail.com, Zhu Yanjun Subject: [PATCH v3 5.10/5.15 2/2] RDMA/rxe: Fix "trying to register non-static key in rxe_qp_do_cleanup" bug Date: Fri, 5 Jun 2026 20:14:43 +0300 Message-ID: <20260605171449.1760-3-vlad102nikolaev@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260605171449.1760-1-vlad102nikolaev@gmail.com> References: <20260605171449.1760-1-vlad102nikolaev@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Zhu Yanjun commit 1c7eec4d5f3b39cdea2153abaebf1b7229a47072 upstream. Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:120 assign_lock_key kernel/locking/lockdep.c:986 [inline] register_lock_class+0x4a3/0x4c0 kernel/locking/lockdep.c:1300 __lock_acquire+0x99/0x1ba0 kernel/locking/lockdep.c:5110 lock_acquire kernel/locking/lockdep.c:5866 [inline] lock_acquire+0x179/0x350 kernel/locking/lockdep.c:5823 __timer_delete_sync+0x152/0x1b0 kernel/time/timer.c:1644 rxe_qp_do_cleanup+0x5c3/0x7e0 drivers/infiniband/sw/rxe/rxe_qp.c:815 execute_in_process_context+0x3a/0x160 kernel/workqueue.c:4596 __rxe_cleanup+0x267/0x3c0 drivers/infiniband/sw/rxe/rxe_pool.c:232 rxe_create_qp+0x3f7/0x5f0 drivers/infiniband/sw/rxe/rxe_verbs.c:604 create_qp+0x62d/0xa80 drivers/infiniband/core/verbs.c:1250 ib_create_qp_kernel+0x9f/0x310 drivers/infiniband/core/verbs.c:1361 ib_create_qp include/rdma/ib_verbs.h:3803 [inline] rdma_create_qp+0x10c/0x340 drivers/infiniband/core/cma.c:1144 rds_ib_setup_qp+0xc86/0x19a0 net/rds/ib_cm.c:600 rds_ib_cm_initiate_connect+0x1e8/0x3d0 net/rds/ib_cm.c:944 rds_rdma_cm_event_handler_cmn+0x61f/0x8c0 net/rds/rdma_transport.c:109 cma_cm_event_handler+0x94/0x300 drivers/infiniband/core/cma.c:2184 cma_work_handler+0x15b/0x230 drivers/infiniband/core/cma.c:3042 process_one_work+0x9cc/0x1b70 kernel/workqueue.c:3238 process_scheduled_works kernel/workqueue.c:3319 [inline] worker_thread+0x6c8/0xf10 kernel/workqueue.c:3400 kthread+0x3c2/0x780 kernel/kthread.c:464 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:153 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 The root cause is as below: In the function rxe_create_qp, the function rxe_qp_from_init is called to create qp, if this function rxe_qp_from_init fails, rxe_cleanup will be called to handle all the allocated resources, including the timers: retrans_timer and rnr_nak_timer. The function rxe_qp_from_init calls the function rxe_qp_init_req to initialize the timers: retrans_timer and rnr_nak_timer. But these timers are initialized in the end of rxe_qp_init_req. If some errors occur before the initialization of these timers, this problem will occur. The solution is to check whether these timers are initialized or not. If these timers are not initialized, ignore these timers. Fixes: 8700e3e7c485 ("Soft RoCE driver") Reported-by: syzbot+4edb496c3cad6e953a31@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=3D4edb496c3cad6e953a31 Signed-off-by: Zhu Yanjun Link: https://patch.msgid.link/20250419080741.1515231-1-yanjun.zhu@linux.dev Signed-off-by: Leon Romanovsky [ Vladislav: apply the timer initialization guard in rxe_qp_destroy(), where linux-5.10.y deletes retrans_timer and rnr_nak_timer. Keep del_timer_sync() because this branch has not renamed it to timer_delete_sync() yet. ] Signed-off-by: Vladislav Nikolaev --- drivers/infiniband/sw/rxe/rxe_qp.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/infiniband/sw/rxe/rxe_qp.c b/drivers/infiniband/sw/rxe= /rxe_qp.c index 0532c446760d..f7afb3da1f92 100644 --- a/drivers/infiniband/sw/rxe/rxe_qp.c +++ b/drivers/infiniband/sw/rxe/rxe_qp.c @@ -761,7 +761,12 @@ void rxe_qp_destroy(struct rxe_qp *qp) qp->valid =3D 0; qp->qp_timeout_jiffies =3D 0; =20 - if (qp_type(qp) =3D=3D IB_QPT_RC) { + /* In the function timer_setup, .function is initialized. If .function + * is NULL, it indicates the function timer_setup is not called, the + * timer is not initialized. Or else, the timer is initialized. + */ + if (qp_type(qp) =3D=3D IB_QPT_RC && qp->retrans_timer.function && + qp->rnr_nak_timer.function) { del_timer_sync(&qp->retrans_timer); del_timer_sync(&qp->rnr_nak_timer); } --=20 2.39.5