From patchwork Thu Apr 26 02:07:50 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Lew X-Patchwork-Id: 10364577 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 8FD4760225 for ; Thu, 26 Apr 2018 02:10:17 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 819E1290F5 for ; Thu, 26 Apr 2018 02:10:17 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 75B78290F3; Thu, 26 Apr 2018 02:10:17 +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=-7.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI, 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 24F18290F3 for ; Thu, 26 Apr 2018 02:10:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754086AbeDZCJy (ORCPT ); Wed, 25 Apr 2018 22:09:54 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:44378 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752129AbeDZCIn (ORCPT ); Wed, 25 Apr 2018 22:08:43 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 7B3F760F78; Thu, 26 Apr 2018 02:08:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1524708522; bh=HtKuGSiXY2zjf0UyR5DCGH6lDh/uNTzl1DeQlQYjx/Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ApNds34LlHZv+hvN+OzoqXxgOWQKbNBObxAbyAE8YGixmMPJwmMLAarm3OZlAh0Iz GTUZVpGsXonDmYubv+HY7mg0uLPdoIEkJuam9qtBQXOmcd2h8bRYKA9Pr+ec0xQYJk +etbjYhCjn+E/0Irjf/C7C87r0u3zIwKyPS5ekKs= Received: from clew-linux.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: clew@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 6FB5D60F78; Thu, 26 Apr 2018 02:08:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1524708521; bh=HtKuGSiXY2zjf0UyR5DCGH6lDh/uNTzl1DeQlQYjx/Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gQrbL4K3Gjr9smtZ9NFjEZhVGybRfnZF0ngCNr3fgDPv13ZonpdMa7mtviEQz9mHl l9qllDD3mtCN/OLmkvQR2VU0cSNFYnE0vLyM2Wnm8rKcq/XEfHkrMY+10tlNdFZ2In rLcjRHyLrJMxT3h1Lf3Bep2eyE8sjECIZh5Smhhs= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 6FB5D60F78 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=clew@codeaurora.org From: Chris Lew To: bjorn.andersson@linaro.org, andy.gross@linaro.org, david.brown@linaro.org, robh+dt@kernel.org, mark.rutland@arm.com Cc: aneela@codeaurora.org, linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, linux-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, clew@codeaurora.org Subject: [PATCH v2 4/6] rpmsg: Guard against null endpoint ops in destroy Date: Wed, 25 Apr 2018 19:07:50 -0700 Message-Id: <1524708472-18263-5-git-send-email-clew@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1524708472-18263-1-git-send-email-clew@codeaurora.org> References: <1524708472-18263-1-git-send-email-clew@codeaurora.org> Sender: linux-remoteproc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-remoteproc@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP In RPMSG GLINK the chrdev device will allocate an ept as part of the rpdev creation. This device will not register endpoint ops even though it has an allocated ept. Protect against the case where the device is being destroyed. Signed-off-by: Chris Lew --- Changes since v1: - New change drivers/rpmsg/rpmsg_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/rpmsg/rpmsg_core.c b/drivers/rpmsg/rpmsg_core.c index 920a02f0462c..7bfe36afccc5 100644 --- a/drivers/rpmsg/rpmsg_core.c +++ b/drivers/rpmsg/rpmsg_core.c @@ -88,7 +88,7 @@ struct rpmsg_endpoint *rpmsg_create_ept(struct rpmsg_device *rpdev, */ void rpmsg_destroy_ept(struct rpmsg_endpoint *ept) { - if (ept) + if (ept && ept->ops) ept->ops->destroy_ept(ept); } EXPORT_SYMBOL(rpmsg_destroy_ept);