Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp1721780ybv; Fri, 21 Feb 2020 02:21:15 -0800 (PST) X-Google-Smtp-Source: APXvYqxUfWsMUf+w8SdzVblGYsd5SrHZgGvj+slcn7PdbVzxbWMJNlXBMx7kzHeGdoyBWnWfS5d0 X-Received: by 2002:a9d:6a4f:: with SMTP id h15mr27493233otn.86.1582280475841; Fri, 21 Feb 2020 02:21:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582280475; cv=none; d=google.com; s=arc-20160816; b=DSkf++rAe7ASGN4nAyIm8EdBSb77hE0K9kdeDkqopS9PvwZscrpGauQkduj8v/PkOS dU/sD0q1ABW/+G+bLMwLWvGqrIKYQKpLeJHCAhZ7xpjGWty1h7XQeY+k+NMv0b9cqxXV sK20kyHz/q8UmJWrZ+Bl71gaZt3dBVlpTL4S0uXyuxAoi8N2HaKAqRbfQ1ynqMk/Ybrq 2FZO+uFXDMVShSn/RJ9HtJWCbbzRy+Gcn6W72vNEcrkcMiCjoDozjJV14XHWfQkVw8Tu D6EHm0MZBvSXBaBigRpZFnRXNc6UF8kpE5C5Cfv+vhM2SBFcHmjNPXB7pnrGgu2IhFy6 6X7Q== 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=2pWA9it0Oo3uFpj5kWmPmhTIBaICa315y9ozwepEgKk=; b=SNqjbawdAvvmdjUH2fasAEfchk8mgWG256OHv0NDZ3heEZBLdMd/9v7g621C0UeELO R858nAIaqo/3ohDoGGrV7py/M37FtMnHGjS4eZ4wGLg4SBs1MZ5HGX/pTzHWjbbrCxf+ YPf/ZirtM85Ei4cUQkQB2M44EGantUuL368gqCgIpgZ+HdFnPMIgcjZ3YWODzCWKsiUZ RboRZYv0NVLhpkyt+kFtHb56JkEkr+YwckGKwqOqkaa7ETo6Ds7s7Vc/ykYvEv5ixgQi z8f+b4WAabRkfPW5z+sVeVLyEb0vpC1ckyhU72lq/HdtNP5pOvA8+cfI/VlWIHxpvfDF Nwsg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=wTXNkEOp; 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 j9si1136993otl.153.2020.02.21.02.21.02; Fri, 21 Feb 2020 02:21:15 -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=wTXNkEOp; 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 S1729015AbgBUKUd (ORCPT + 99 others); Fri, 21 Feb 2020 05:20:33 -0500 Received: from fllv0016.ext.ti.com ([198.47.19.142]:60412 "EHLO fllv0016.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728983AbgBUKUa (ORCPT ); Fri, 21 Feb 2020 05:20:30 -0500 Received: from fllv0035.itg.ti.com ([10.64.41.0]) by fllv0016.ext.ti.com (8.15.2/8.15.2) with ESMTP id 01LAKTiD088511; Fri, 21 Feb 2020 04:20:29 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1582280429; bh=2pWA9it0Oo3uFpj5kWmPmhTIBaICa315y9ozwepEgKk=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=wTXNkEOpbtrGuSQRFCPzb3OVfV0avlKZ9WiTSG5dbAsmRsGzeS334X04ijRq51VoZ aczRG6KuAzChPy/qfYovYesQBCFefCQlUwQ9ai8yQ21LY2OUlAdzhr/OplCB6ITAtF Ty9Sdhaieqc9YePLuzxu+dDxjCInfHpHWZ54Zwnw= Received: from DFLE112.ent.ti.com (dfle112.ent.ti.com [10.64.6.33]) by fllv0035.itg.ti.com (8.15.2/8.15.2) with ESMTP id 01LAKTkL105147; Fri, 21 Feb 2020 04:20:29 -0600 Received: from DFLE108.ent.ti.com (10.64.6.29) by DFLE112.ent.ti.com (10.64.6.33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1847.3; Fri, 21 Feb 2020 04:20:29 -0600 Received: from lelv0326.itg.ti.com (10.180.67.84) 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; Fri, 21 Feb 2020 04:20:29 -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 01LAJnww034983; Fri, 21 Feb 2020 04:20:12 -0600 From: Tero Kristo To: , , , , CC: , , , Tero Kristo Subject: [PATCHv7 09/15] remoteproc/omap: Check for undefined mailbox messages Date: Fri, 21 Feb 2020 12:19:30 +0200 Message-ID: <20200221101936.16833-10-t-kristo@ti.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200221101936.16833-1-t-kristo@ti.com> References: <20200221101936.16833-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 8c3dc0edae95..5d6f32974aa3 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