From patchwork Tue Jan 30 16:43:41 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Kalderon, Michal" X-Patchwork-Id: 10192037 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id AAED760383 for ; Tue, 30 Jan 2018 16:43:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9A3CC20072 for ; Tue, 30 Jan 2018 16:43:46 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8DD5C201A4; Tue, 30 Jan 2018 16:43:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 136DC20072 for ; Tue, 30 Jan 2018 16:43:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751868AbeA3Qnp (ORCPT ); Tue, 30 Jan 2018 11:43:45 -0500 Received: from mail-cys01nam02on0047.outbound.protection.outlook.com ([104.47.37.47]:39022 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751554AbeA3Qno (ORCPT ); Tue, 30 Jan 2018 11:43:44 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=SqfzCSSfTfgb28qhrqXkU6K8TrpD1dxz3G/SOQ0CtW0=; b=icCpwOHxCHSRG/As31Zvj1mAMzceAlbCNdoYsI9B64ZuJoejvaNH0BHhqDolpZVbAyzguLQuPeLCZAtBg/1uNifVmTrlmWqr5ngUy1K2pC8U0uoS4JpNxxz+rBnk33gEOjN4YMfn6sFI0nlbMYl3iYj7TsLLqlQyE3BUMw6X3PU= Received: from CY1PR0701MB2012.namprd07.prod.outlook.com (10.163.142.11) by CY1PR0701MB2058.namprd07.prod.outlook.com (10.163.142.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.444.14; Tue, 30 Jan 2018 16:43:41 +0000 Received: from CY1PR0701MB2012.namprd07.prod.outlook.com ([10.163.142.11]) by CY1PR0701MB2012.namprd07.prod.outlook.com ([10.163.142.11]) with mapi id 15.20.0444.016; Tue, 30 Jan 2018 16:43:41 +0000 From: "Kalderon, Michal" To: Chuck Lever CC: "linux-rdma@vger.kernel.org" Subject: NULL ptr dereference in rpcrdma_regbuf_is_mapped Thread-Topic: NULL ptr dereference in rpcrdma_regbuf_is_mapped Thread-Index: AdOZ6XZ/ciYrfjFARPmjpkmJ9TIRPQ== Date: Tue, 30 Jan 2018 16:43:41 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Michal.Kalderon@cavium.com; x-originating-ip: [31.168.140.228] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; CY1PR0701MB2058; 7:OH0MPwdKIRmxe1Tsa69YC2v7/yhSUrLEs9Pg6uXqfpwvlXii7EPh+M6ufHvKb4r6kXgHLhe4EttKbhO0OY/YMI+Xt+HEQzx2pbagRB8p3VcNJgKOBQam2ZDknULXifQ7VS1VYM3ssEbWySd9tmgCD/nT8lebhfWGjUdGjOSycViIxgMob+coa8DA3uyZrJ13Fzx1ibr9r2P0KFxuqCJDCxtdVSFTqPX4U/idjy5rfnnPYaiBNHhYTo/LPTmD39Ok x-ms-exchange-antispam-srfa-diagnostics: SSOS; x-ms-office365-filtering-correlation-id: 944290ec-bba0-4206-4eb0-08d568009ef6 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(3008032)(2017052603307)(7153060)(7193020); SRVR:CY1PR0701MB2058; x-ms-traffictypediagnostic: CY1PR0701MB2058: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040501)(2401047)(8121501046)(5005006)(10201501046)(3231101)(944501161)(93006095)(93001095)(3002001)(6041288)(20161123560045)(20161123564045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(6072148)(201708071742011); SRVR:CY1PR0701MB2058; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0701MB2058; x-forefront-prvs: 0568F32D91 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39380400002)(396003)(366004)(39850400004)(346002)(376002)(189003)(199004)(2906002)(186003)(6506007)(4743002)(8936002)(26005)(66066001)(102836004)(77096007)(5660300001)(86362001)(55016002)(81166006)(53936002)(81156014)(2900100001)(105586002)(97736004)(6916009)(8676002)(7696005)(6436002)(72206003)(478600001)(4326008)(33656002)(25786009)(316002)(14454004)(106356001)(3660700001)(9686003)(68736007)(3846002)(6116002)(99286004)(7736002)(74316002)(3280700002)(305945005); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0701MB2058; H:CY1PR0701MB2012.namprd07.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; received-spf: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: jLLtml/oYo5ia9GJMFsWKbUtSEApX9Qcv3i2D4pW4TndURYdzxk8vnjwvQA3A2bR0pmsUFtuHsUUIWx//NwcDg== spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-Network-Message-Id: 944290ec-bba0-4206-4eb0-08d568009ef6 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jan 2018 16:43:41.7930 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0701MB2058 Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Hi Chuck, Different issue, so started different thread. If I unload our driver while there is an open NFS connection I get a null pointer dereference in rpcrdma_regbuf_is_mapped the pointer to buf received in this function is NULL. If I check buf for NULL and return false I am able to unload the driver, though I'm not sure this is sufficient. Will be great if you could take a look Thanks, Michal --- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/net/sunrpc/xprtrdma/xprt_rdma.h b/net/sunrpc/xprtrdma/xprt_rdma.h index 1342f743..73066a6 100644 --- a/net/sunrpc/xprtrdma/xprt_rdma.h +++ b/net/sunrpc/xprtrdma/xprt_rdma.h @@ -588,7 +588,7 @@ struct rpcrdma_regbuf *rpcrdma_alloc_regbuf(size_t, enum dma_data_direction, static inline bool rpcrdma_regbuf_is_mapped(struct rpcrdma_regbuf *rb) { - return rb->rg_device != NULL; + return rb && (rb->rg_device != NULL); :