Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp17428943ybl; Thu, 2 Jan 2020 05:21:10 -0800 (PST) X-Google-Smtp-Source: APXvYqxbvclZ07SBD91dda4cZx6kQZSalEyM0XvmsBnaOrdLVR7Joy990SPvWnCXL/kMBZTa2WxF X-Received: by 2002:a05:6808:9a4:: with SMTP id e4mr2121694oig.127.1577971270538; Thu, 02 Jan 2020 05:21:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1577971270; cv=none; d=google.com; s=arc-20160816; b=HWUR2bjNqzPgKpuKQlREZC0xeKXl/kzKyCylycWTDODsIa67XKwliWBusHWx1Ihbba k72ejUTJEsBsb4rb8FlVmVo/khr8r70pHvZWkrMgIupZ4sshu2v6rvATRfe3pSsyg/GX q2InmNiDH9StZsCWylz+/TjHHRAn9ZC/9UBj2EGjtGMMxBEcaYMit+u4IX87LKs4UHLL Pw7LWo/YPpMf7nVQxZ778cbO6YO42GgX2F/VpE4KqF9806ngYTDF43eSItsW958lgJn7 SB0nUBvoW0/sXxI3GAt5jBdM79aAipVUUilYefEJr+GGz17MkQRQHHajeaIUMlwi6SLt Bgow== 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=jakXIzBpuRKwldYFWuvALWkxUZuVvI3KvPrt3Sq4qi8=; b=ADBQOGvRlx8QREfFFaibwjGbTMKSwhS/ub+sjxGG7JDQnXm422oWAVyKZVEYqvQ02e B8s5mdxry2zdB6H0fZrO2zOi4LCw+tK/Qfv/DrXU0Ox/0crW4s7hOgO3KDMQK/wHvBrb TlSdJMb0WBooHJkzmW+f+XyZfnQziPi84JrgZaZQyuzuszCP2xL7WhLkpKfLNGkcm6rB +fzop09jhWrG42+FqCNJxH6MaA74mRnzLMdai9y91NCqs+OZGjCPvEPamf2tzJVcsIle vkJh8/JZM2HaNBGh7SZQJgkWv+YdWwxHLLmBAJWlwVH3bX3rHzxunzX7Od8xlcGIXaw/ +atw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b="u/jaqnff"; 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 p184si25338912oib.144.2020.01.02.05.20.58; Thu, 02 Jan 2020 05:21:10 -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="u/jaqnff"; 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 S1728448AbgABNTP (ORCPT + 99 others); Thu, 2 Jan 2020 08:19:15 -0500 Received: from fllv0016.ext.ti.com ([198.47.19.142]:59470 "EHLO fllv0016.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728438AbgABNTO (ORCPT ); Thu, 2 Jan 2020 08:19:14 -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 002DJDFU035119; Thu, 2 Jan 2020 07:19:13 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1577971153; bh=jakXIzBpuRKwldYFWuvALWkxUZuVvI3KvPrt3Sq4qi8=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=u/jaqnffGzx97OTpjvX/ynfap+G1I9jI4kS9Q//MGgE7IrATJ37hH7Qah9buhx9cL BrRGL5p2h87qsTKYdlIFSFVqzRINd4ND7gO56ypSlrnyqv3WEaBRzYLK4WU+5K2nDJ Q+6FC4zkXTI+ewcp70d60XjmxDLSEsQ/mDgPKJJM= Received: from DFLE114.ent.ti.com (dfle114.ent.ti.com [10.64.6.35]) by lelv0266.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 002DJDVk035413 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 2 Jan 2020 07:19:13 -0600 Received: from DFLE107.ent.ti.com (10.64.6.28) by DFLE114.ent.ti.com (10.64.6.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1847.3; Thu, 2 Jan 2020 07:19:13 -0600 Received: from fllv0039.itg.ti.com (10.64.41.19) by DFLE107.ent.ti.com (10.64.6.28) 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; Thu, 2 Jan 2020 07:19:13 -0600 Received: from sokoban.bb.dnainternet.fi (ileax41-snat.itg.ti.com [10.172.224.153]) by fllv0039.itg.ti.com (8.15.2/8.15.2) with ESMTP id 002DIp3a075354; Thu, 2 Jan 2020 07:19:11 -0600 From: Tero Kristo To: , , CC: , , , , Tero Kristo Subject: [PATCHv4 09/14] remoteproc/omap: Check for undefined mailbox messages Date: Thu, 2 Jan 2020 15:18:40 +0200 Message-ID: <20200102131845.12992-10-t-kristo@ti.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200102131845.12992-1-t-kristo@ti.com> References: <20200102131845.12992-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 9140c528c416..ebf979e71dfd 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