Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp5090187ybv; Tue, 11 Feb 2020 09:01:07 -0800 (PST) X-Google-Smtp-Source: APXvYqw6hb2U5WWSrxI2Ey4xG1sXigS+Earn7RwyF/nvWHPZP/2TYI8APvoPdrNVgyZvPU0AevJ9 X-Received: by 2002:aca:2114:: with SMTP id 20mr3557643oiz.9.1581440467679; Tue, 11 Feb 2020 09:01:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1581440467; cv=none; d=google.com; s=arc-20160816; b=aQ4xi7CBvaYFPUr04oZ/vrZ0PzfApOKOqe2ctxYE4DE0OsAOR0eY7D7d3TjNXjzvSB jS2DCuIjuIsN3EMY1nXK0z4PPHNg5mJe/JFN5S8J+g9dWadAE8UR2mDQFKgBWE1V2hCt e3V3xgIGX1HOktqUwJRdhj1r9V3a9G3uVKfMcUCtPOPKROKUMGKAmt9zfFDzmxI2FMj4 w+8eTQIXjfxj3MhM+1oMt9QBUyVsva3hmB3k0t95/cbCz9UkUDjSQS1sc2qD2m019g8I A9DMxhmRMTEW/aHovVdpU1oZd8f/DZJ8dCop6dbEisZNKcAPRkAQtFs3TkxEFBC2lAPd 2CsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=ireuTlsDZByxFlZXgPBUzgyccH8Xl26uyAcXfzfXvdg=; b=FsyMjtiOnvLj7qS8JKDl97y6SCkUWbhCMyMJSp7cZdrj2Bl61EqToSzQpZKd3HShqv chu6PUu7X01QNHyO96Hz4ui2a1tY9ClnWyzXb/KUHQs5GNKjdUqezvOUUh5dilUvFLl/ ZITRCnOag8rme1LvENRRG/w1nVD6edf513u31lS67P/ZS2yq4uuGrfmIGsZpR+rOgXN5 85hhUum6HEbCWIby8Yne/xySlmABtkqzGXp1ouDjx0YkajT9dZACD5ySjsujj80r1+Em bUiR1m5+BmHZwOMC/fXtq6tuzsYE2+zQGad+w9CC3V7hgIGODufgUL0Gxuh2LHnKXqs8 sVIQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=QzhHziKp; 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; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p23si2290314otk.119.2020.02.11.09.00.52; Tue, 11 Feb 2020 09:01:07 -0800 (PST) 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; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=QzhHziKp; 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; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730438AbgBKPWF (ORCPT + 99 others); Tue, 11 Feb 2020 10:22:05 -0500 Received: from fllv0016.ext.ti.com ([198.47.19.142]:40324 "EHLO fllv0016.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730427AbgBKPWC (ORCPT ); Tue, 11 Feb 2020 10:22:02 -0500 Received: from lelv0266.itg.ti.com ([10.180.67.225]) by fllv0016.ext.ti.com (8.15.2/8.15.2) with ESMTP id 01BFM1GD028490; Tue, 11 Feb 2020 09:22:01 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1581434521; bh=ireuTlsDZByxFlZXgPBUzgyccH8Xl26uyAcXfzfXvdg=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=QzhHziKpzXxkppys1DXxD2bH1vvjsaR+pfQUGb6Gjj7IdrThmriFSFTD/QNovynLC dQyrvhpCHrjom5QooNEG3YUfFtcLUEK9UZcrDoEpOb9W37hgJNMhecKYLK6kVj3q7H 4Lv3uhOr0Uza7dKLPOldrAmuJ6UTdmYgMjPtNvQk= Received: from DFLE103.ent.ti.com (dfle103.ent.ti.com [10.64.6.24]) by lelv0266.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 01BFM1I7110944 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 11 Feb 2020 09:22:01 -0600 Received: from DFLE109.ent.ti.com (10.64.6.30) by DFLE103.ent.ti.com (10.64.6.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1847.3; Tue, 11 Feb 2020 09:22:01 -0600 Received: from lelv0326.itg.ti.com (10.180.67.84) by DFLE109.ent.ti.com (10.64.6.30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1847.3 via Frontend Transport; Tue, 11 Feb 2020 09:22:01 -0600 Received: from sokoban.bb.dnainternet.fi (ileax41-snat.itg.ti.com [10.172.224.153]) by lelv0326.itg.ti.com (8.15.2/8.15.2) with ESMTP id 01BFLbkl020993; Tue, 11 Feb 2020 09:21:59 -0600 From: Tero Kristo To: , , , CC: , , , Suman Anna , Tero Kristo Subject: [PATCHv6 09/14] remoteproc/omap: Check for undefined mailbox messages Date: Tue, 11 Feb 2020 17:21:20 +0200 Message-ID: <20200211152125.23819-10-t-kristo@ti.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200211152125.23819-1-t-kristo@ti.com> References: <20200211152125.23819-1-t-kristo@ti.com> MIME-Version: 1.0 Content-Type: text/plain X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Suman Anna Add some checks in the mailbox callback function to limit any processing in the mailbox callback function to only certain currently valid messages, and drop all the remaining messages. A debug message is added to print any such invalid messages when the appropriate trace control is enabled. Co-developed-by: Subramaniam Chanderashekarapuram Signed-off-by: Subramaniam Chanderashekarapuram Signed-off-by: Suman Anna Signed-off-by: Tero Kristo Reviewed-by: Bjorn Andersson --- drivers/remoteproc/omap_remoteproc.c | 6 ++++++ drivers/remoteproc/omap_remoteproc.h | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/drivers/remoteproc/omap_remoteproc.c b/drivers/remoteproc/omap_remoteproc.c index e8cf9d846f44..c15b144d36ea 100644 --- a/drivers/remoteproc/omap_remoteproc.c +++ b/drivers/remoteproc/omap_remoteproc.c @@ -130,6 +130,12 @@ static void omap_rproc_mbox_callback(struct mbox_client *client, void *data) dev_info(dev, "received echo reply from %s\n", name); break; default: + if (msg >= RP_MBOX_READY && msg < RP_MBOX_END_MSG) + return; + if (msg > oproc->rproc->max_notifyid) { + dev_dbg(dev, "dropping unknown message 0x%x", msg); + return; + } /* msg contains the index of the triggered vring */ if (rproc_vq_interrupt(oproc->rproc, msg) == IRQ_NONE) dev_dbg(dev, "no message was found in vqid %d\n", msg); diff --git a/drivers/remoteproc/omap_remoteproc.h b/drivers/remoteproc/omap_remoteproc.h index f6d2036d383d..72f656c93caa 100644 --- a/drivers/remoteproc/omap_remoteproc.h +++ b/drivers/remoteproc/omap_remoteproc.h @@ -56,6 +56,12 @@ * * @RP_MBOX_ABORT_REQUEST: a "please crash" request, used for testing the * recovery mechanism (to some extent). + * + * Introduce new message definitions if any here. + * + * @RP_MBOX_END_MSG: Indicates end of known/defined messages from remote core + * This should be the last definition. + * */ enum omap_rp_mbox_messages { RP_MBOX_READY = 0xFFFFFF00, @@ -64,6 +70,7 @@ enum omap_rp_mbox_messages { RP_MBOX_ECHO_REQUEST = 0xFFFFFF03, RP_MBOX_ECHO_REPLY = 0xFFFFFF04, RP_MBOX_ABORT_REQUEST = 0xFFFFFF05, + RP_MBOX_END_MSG = 0xFFFFFF06, }; #endif /* _OMAP_RPMSG_H */ -- 2.17.1 -- Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki