Received: by 10.192.165.148 with SMTP id m20csp539067imm; Wed, 25 Apr 2018 03:56:52 -0700 (PDT) X-Google-Smtp-Source: AIpwx48QlKiT9OF/Bb/LptkpWGBLmKV+VaK39wy6RwB5N2FFcf0UNdeHIpVIbhXgHp2ad6coWWgA X-Received: by 10.98.192.220 with SMTP id g89mr23923434pfk.223.1524653812817; Wed, 25 Apr 2018 03:56:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524653812; cv=none; d=google.com; s=arc-20160816; b=e1xZh/UL909l/2Xx07FuXEiCGpvc/287OJdHHbN0QzxUNjoLlbCE/4X/s0ll+eu+pm O0qDi5pjGFRngQWwMRXD70kAVuuMLzGmzRuh5/9uCij3EdFVjdKNEHzP1rvQ4rl6RUf1 ZIZW4rMhN36VMtX0clVCh1P3Y9ZHv92HS2WTKmpOfvG13LlWzxcWNFuijTgb5/OWZLNu aHbmlxeFU/Txo/cU4welgvDnBUbUp/gx3CydTKfkenRzrX7TN8U3f5hyWgE2YyHEqTcA kos8rBTpyjypesv0/886ul9wNnSCP3fKot0n/uWCEOp+i2tS4BrVti4Cu0BekdFpUxCQ s7vw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=ThT/87tuWdmG9X0OvXBzGGtb+A1TqCiJz777DjkUg24=; b=qc/BDqRS7tTqY+gG4wR9JSO0SDB0NpuhyP/NglVRsVOb9l/HFQY8NqNyX0KA4yj2eD UwyQ2Zscmfa2Tovu8tKJpNIeoBtTRF5so2toSCzPNSNRIAl7WJy9nDj/4+u3o3zC0rX6 SyIg9HtbQdKhCNDh4cgaiMIk8Z/sygfnCbfzEniVVEmiMz5NM6/VWSH/V+vFP9oJgMEG BP/pRf6f3FxKgdr6MAjQQucaFy9mAfqShAUnCwOTh15rkp5FXWoismjloOAmMP7rarDB 1IgAlCui9saM+EHX4NU0ouuxbAjMmX+maFfG6jueWEkxAOzVrk+sM7Xi6dFKlfpUiXAn PPOg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o14-v6si16157003pli.13.2018.04.25.03.56.38; Wed, 25 Apr 2018 03:56:52 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754190AbeDYKnN (ORCPT + 99 others); Wed, 25 Apr 2018 06:43:13 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:52844 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754178AbeDYKnI (ORCPT ); Wed, 25 Apr 2018 06:43:08 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 702D6272; Wed, 25 Apr 2018 10:43:07 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Guanglei Li , Honglei Wang , Junxiao Bi , Yanjun Zhu , Leon Romanovsky , Santosh Shilimkar , Doug Ledford , "David S. Miller" , Sasha Levin Subject: [PATCH 4.14 142/183] RDS: IB: Fix null pointer issue Date: Wed, 25 Apr 2018 12:36:02 +0200 Message-Id: <20180425103248.257601277@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180425103242.532713678@linuxfoundation.org> References: <20180425103242.532713678@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Guanglei Li [ Upstream commit 2c0aa08631b86a4678dbc93b9caa5248014b4458 ] Scenario: 1. Port down and do fail over 2. Ap do rds_bind syscall PID: 47039 TASK: ffff89887e2fe640 CPU: 47 COMMAND: "kworker/u:6" #0 [ffff898e35f159f0] machine_kexec at ffffffff8103abf9 #1 [ffff898e35f15a60] crash_kexec at ffffffff810b96e3 #2 [ffff898e35f15b30] oops_end at ffffffff8150f518 #3 [ffff898e35f15b60] no_context at ffffffff8104854c #4 [ffff898e35f15ba0] __bad_area_nosemaphore at ffffffff81048675 #5 [ffff898e35f15bf0] bad_area_nosemaphore at ffffffff810487d3 #6 [ffff898e35f15c00] do_page_fault at ffffffff815120b8 #7 [ffff898e35f15d10] page_fault at ffffffff8150ea95 [exception RIP: unknown or invalid address] RIP: 0000000000000000 RSP: ffff898e35f15dc8 RFLAGS: 00010282 RAX: 00000000fffffffe RBX: ffff889b77f6fc00 RCX:ffffffff81c99d88 RDX: 0000000000000000 RSI: ffff896019ee08e8 RDI:ffff889b77f6fc00 RBP: ffff898e35f15df0 R8: ffff896019ee08c8 R9:0000000000000000 R10: 0000000000000400 R11: 0000000000000000 R12:ffff896019ee08c0 R13: ffff889b77f6fe68 R14: ffffffff81c99d80 R15: ffffffffa022a1e0 ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018 #8 [ffff898e35f15dc8] cma_ndev_work_handler at ffffffffa022a228 [rdma_cm] #9 [ffff898e35f15df8] process_one_work at ffffffff8108a7c6 #10 [ffff898e35f15e58] worker_thread at ffffffff8108bda0 #11 [ffff898e35f15ee8] kthread at ffffffff81090fe6 PID: 45659 TASK: ffff880d313d2500 CPU: 31 COMMAND: "oracle_45659_ap" #0 [ffff881024ccfc98] __schedule at ffffffff8150bac4 #1 [ffff881024ccfd40] schedule at ffffffff8150c2cf #2 [ffff881024ccfd50] __mutex_lock_slowpath at ffffffff8150cee7 #3 [ffff881024ccfdc0] mutex_lock at ffffffff8150cdeb #4 [ffff881024ccfde0] rdma_destroy_id at ffffffffa022a027 [rdma_cm] #5 [ffff881024ccfe10] rds_ib_laddr_check at ffffffffa0357857 [rds_rdma] #6 [ffff881024ccfe50] rds_trans_get_preferred at ffffffffa0324c2a [rds] #7 [ffff881024ccfe80] rds_bind at ffffffffa031d690 [rds] #8 [ffff881024ccfeb0] sys_bind at ffffffff8142a670 PID: 45659 PID: 47039 rds_ib_laddr_check /* create id_priv with a null event_handler */ rdma_create_id rdma_bind_addr cma_acquire_dev /* add id_priv to cma_dev->id_list */ cma_attach_to_dev cma_ndev_work_handler /* event_hanlder is null */ id_priv->id.event_handler Signed-off-by: Guanglei Li Signed-off-by: Honglei Wang Reviewed-by: Junxiao Bi Reviewed-by: Yanjun Zhu Reviewed-by: Leon Romanovsky Acked-by: Santosh Shilimkar Acked-by: Doug Ledford Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- net/rds/ib.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/net/rds/ib.c +++ b/net/rds/ib.c @@ -346,7 +346,8 @@ static int rds_ib_laddr_check(struct net /* Create a CMA ID and try to bind it. This catches both * IB and iWARP capable NICs. */ - cm_id = rdma_create_id(&init_net, NULL, NULL, RDMA_PS_TCP, IB_QPT_RC); + cm_id = rdma_create_id(&init_net, rds_rdma_cm_event_handler, + NULL, RDMA_PS_TCP, IB_QPT_RC); if (IS_ERR(cm_id)) return PTR_ERR(cm_id);