Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp7801979ybl; Thu, 16 Jan 2020 05:56:11 -0800 (PST) X-Google-Smtp-Source: APXvYqzLHjTd1eLClz5RJla+grpv27h6GKNdqh20wpRKd1VMrgEGeSYvUqP8CBaEqBW6P3OWmmK0 X-Received: by 2002:a9d:4d81:: with SMTP id u1mr2043408otk.323.1579182970923; Thu, 16 Jan 2020 05:56:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1579182970; cv=none; d=google.com; s=arc-20160816; b=hGy5Oye/U5bnvBjk03hhNKZRKsDLIi8NS7Z7xLmIE5uXwyZvrMKdkF8BR1j1F8MAeJ ckm9yHr0lg945/1E6YCVPVPlYZDXQDPrQscpQNht63N07JJ80QJbrtQeukE8iEEwc/Qh cuXXxlZXUWoBWMXqb5cLpGaprozKFK002+mRPVJdyLwUjHtIwigNjWQClyAWtYT5urj6 IsXL6oF659k4qjQHIMTrBdFrDyafsBz71yVGfBBTowJEslgeNT/YsCbe62z4B9PtXK8s izcD+LqxgfKpd7SMXDLi6Nn6wZQcvjeZTx61X4vVKlWOsTmp5ZA5N3/4jPaTDbSpe+u4 7Dcg== 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=OV/jDVxVfb/4zR92zHvxWrqsNp5nJ38R14X9jrc19Yg=; b=kiITVMBOzP4bxyIBNP1I9W+f5rZP7K25QBfBS9QEzJrl+sof1tpp5LTITyW7v8BvEs jvplP7EBulOnbYJwzkCn0PC7i9DjlmeFhyNVq42rqhiZoe5A+EFYMZgU9kyj+XOntQtJ hqHQjb8/6+sOLWw9qvsu5OFqabADWDNqMugK098ke7m4FTn5jfnEs2WSe4FrvQsIn5HR bwYcyWG3fiht6tvCTT5PhgAriCvyeEPR6tvfdlwuC2yaaWDbaTKiNnPIDFZGgPoi6jnd Tq4mDh0/jaGsfWY2L2uGOyD6f7BDLr+IXOukVK4yxNpGghO6EE38/Ll6bi7DzPJVSOD+ Fs0A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=XKeC07H1; 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 k1si11499644oic.245.2020.01.16.05.55.58; Thu, 16 Jan 2020 05:56: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=XKeC07H1; 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 S1729138AbgAPNyS (ORCPT + 99 others); Thu, 16 Jan 2020 08:54:18 -0500 Received: from fllv0015.ext.ti.com ([198.47.19.141]:52540 "EHLO fllv0015.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729112AbgAPNyR (ORCPT ); Thu, 16 Jan 2020 08:54:17 -0500 Received: from lelv0265.itg.ti.com ([10.180.67.224]) by fllv0015.ext.ti.com (8.15.2/8.15.2) with ESMTP id 00GDsFeT062463; Thu, 16 Jan 2020 07:54:15 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1579182856; bh=OV/jDVxVfb/4zR92zHvxWrqsNp5nJ38R14X9jrc19Yg=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=XKeC07H15jaaL6GfkNbNt544Jx702SRgBg++qGobXSw/22j5k8b1NFxfWQ83+pOB6 R2XYFeAw6I3jLE7LrxZARDt0OUWWN6dcaDcGvpCpDPArz2ON9Rbf/GEBZ2egfJnOFv dMQAxyvj2hwLiYVcnK2fBZfnTj8l/QiVl7tRXskk= Received: from DFLE111.ent.ti.com (dfle111.ent.ti.com [10.64.6.32]) by lelv0265.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 00GDsFIU102415 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 16 Jan 2020 07:54:15 -0600 Received: from DFLE108.ent.ti.com (10.64.6.29) by DFLE111.ent.ti.com (10.64.6.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1847.3; Thu, 16 Jan 2020 07:54:14 -0600 Received: from fllv0040.itg.ti.com (10.64.41.20) by DFLE108.ent.ti.com (10.64.6.29) 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, 16 Jan 2020 07:54:15 -0600 Received: from sokoban.bb.dnainternet.fi (ileax41-snat.itg.ti.com [10.172.224.153]) by fllv0040.itg.ti.com (8.15.2/8.15.2) with ESMTP id 00GDrqdb048732; Thu, 16 Jan 2020 07:54:13 -0600 From: Tero Kristo To: , , CC: , , , , Tero Kristo Subject: [PATCHv5 09/14] remoteproc/omap: Check for undefined mailbox messages Date: Thu, 16 Jan 2020 15:53:27 +0200 Message-ID: <20200116135332.7819-10-t-kristo@ti.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200116135332.7819-1-t-kristo@ti.com> References: <20200116135332.7819-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 --- v5: no changes 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 27e145181ef4..777231ce2bae 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