All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cristian Marussi <cristian.marussi@arm.com>
To: Fayssal Benmlih <Fayssal.Benmlih@arm.com>
Cc: Cristian Marussi <Cristian.Marussi@arm.com>,
	"arm-scmi@vger.kernel.org" <arm-scmi@vger.kernel.org>,
	"d-gole@ti.com" <d-gole@ti.com>,
	"david@kernel.org" <david@kernel.org>,
	Elif Topuz <Elif.Topuz@arm.com>,
	"etienne.carriere@st.com" <etienne.carriere@st.com>,
	"f.fainelli@gmail.com" <f.fainelli@gmail.com>,
	"james.quinlan@broadcom.com" <james.quinlan@broadcom.com>,
	"jic23@kernel.org" <jic23@kernel.org>,
	"kas@kernel.org" <kas@kernel.org>,
	"kernel-team@meta.com" <kernel-team@meta.com>,
	"leitao@kernel.org" <leitao@kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Lukasz Luba <Lukasz.Luba@arm.com>,
	"michal.simek@amd.com" <michal.simek@amd.com>,
	"peng.fan@oss.nxp.com" <peng.fan@oss.nxp.com>,
	Philip Radford <Philip.Radford@arm.com>,
	"puranjay@kernel.org" <puranjay@kernel.org>,
	Souvik Chakravarty <Souvik.Chakravarty@arm.com>,
	"sudeep.holla@kernel.org" <sudeep.holla@kernel.org>,
	"usama.arif@linux.dev" <usama.arif@linux.dev>,
	"vincent.guittot@linaro.org" <vincent.guittot@linaro.org>
Subject: Re: [PATCH v7 11/23] firmware: arm_scmi: Add Telemetry notification support
Date: Tue, 18 Aug 2026 14:25:19 +0100	[thread overview]
Message-ID: <aoRdP1u5lhUCclbU@pluto> (raw)
In-Reply-To: <53688831-E76D-48AB-99E7-4CE7C456620B@contoso.com>

On Mon, Aug 03, 2026 at 11:55:02PM +0100, Fayssal Benmlih wrote:
> Hi Cristian,
> 

Hi,

> A couple of notification payload sizing issues inline.
> 
> > 	/* At least sized as an empty notification */
> > 	if (payld_sz < sizeof(*p))
> > 		return NULL;
> >
> > 	r->timestamp = timestamp;
> > 	r->agent_id = le32_to_cpu(p->agent_id);
> > 	r->status = le32_to_cpu(p->status);
> > 	r->num_dwords = le32_to_cpu(p->num_dwords);
> >
> > 	if (r->num_dwords * sizeof(r->dwords[0]) > payld_sz)
> > 		return NULL;
> 
> payld_sz includes the fixed wire header containing agent_id, status and
> num_dwords. The array length is compared against that full size instead of
> the bytes remaining after sizeof(*p).
> 
> This can accept num_dwords values whose array extends beyond the received
> payload. The multiplication can also wrap before the comparison.
> 
> Please validate num_dwords using division after accounting for the fixed
> header, for example against:
> 
> 	(payld_sz - sizeof(*p)) / sizeof(p->array[0])
> 
> after first checking payld_sz >= sizeof(*p).
>

All of this has been revised in v10 accounting for the header and for
any possible 32bit wraparound...

> > static const struct scmi_event tlm_events[] = {
> > 	{
> > 		.id = SCMI_EVENT_TELEMETRY_UPDATE,
> > 		.max_payld_sz = 0,
> > 		.max_report_sz = 0,
> > 	},
> > };
> 
> With max_report_sz set to zero, the generic notification code allocates
> max_msg_sz bytes for the decoded report.
> 
> The decoded scmi_telemetry_update_report has a larger fixed header than
> the wire payload because it also includes ktime_t. Consequently, a
> maximum-sized valid wire payload requires more than max_msg_sz bytes after
> conversion and can overflow the report buffer.
> 
> Please provide or calculate enough space for the decoded report header
> plus the maximum dword array, or constrain the number of copied dwords to
> the actual report-buffer capacity.

Indeed, I will have to review this sizing...

Thanks,
Cristian

  reply	other threads:[~2026-08-18 13:25 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <<20260802145618.1952804-12-cristian.marussi@arm.com>
2026-08-03 22:55 ` [PATCH v7 11/23] firmware: arm_scmi: Add Telemetry notification support Fayssal Benmlih
2026-08-18 13:25   ` Cristian Marussi [this message]
     [not found] <<20260802145618.1952804-9-cristian.marussi@arm.com>
2026-08-03 22:54 ` [PATCH v7 08/23] firmware: arm_scmi: Add Telemetry configuration operations Fayssal Benmlih
2026-08-10 14:13   ` Cristian Marussi
     [not found] <<20260802145618.1952804-8-cristian.marussi@arm.com>
2026-08-03 22:53 ` [PATCH v7 07/23] firmware: arm_scmi: Add support to parse SHMTIs areas Fayssal Benmlih
2026-08-10 14:06   ` Cristian Marussi
     [not found] <<20260802145618.1952804-7-cristian.marussi@arm.com>
2026-08-03 22:53 ` [PATCH v7 06/23] firmware: arm_scmi: Add basic Telemetry support Fayssal Benmlih
2026-08-10 13:39   ` Cristian Marussi
     [not found] <<20260802145618.1952804-4-cristian.marussi@arm.com>
2026-08-03 22:52 ` [PATCH v7 03/23] firmware: arm_scmi: Introduce protocol instance notifiers Fayssal Benmlih
2026-08-10 13:35   ` Cristian Marussi
     [not found] <<20260802145618.1952804-20-cristian.marussi@arm.com>
2026-08-03 22:25 ` [PATCH v7 19/23] uapi: Add ARM SCMI Telemetry definitions Fayssal Benmlih
2026-08-04 10:39   ` Cristian Marussi
2026-08-02 14:55 [PATCH v7 00/23] Introduce SCMI Telemetry support Cristian Marussi
2026-08-02 14:55 ` [PATCH v7 01/23] firmware: arm_scmi: Add new SCMIv4.0 error codes definitions Cristian Marussi
2026-08-02 14:55 ` [PATCH v7 02/23] firmware: arm_scmi: Allow registration of unknown-size events/reports Cristian Marussi
2026-08-02 14:55 ` [PATCH v7 03/23] firmware: arm_scmi: Introduce protocol instance notifiers Cristian Marussi
2026-08-02 14:55 ` [PATCH v7 04/23] dt-bindings: firmware: arm,scmi: Add support for telemetry protocol Cristian Marussi
2026-08-02 14:56 ` [PATCH v7 05/23] include: trace: Add Telemetry trace events Cristian Marussi
2026-08-02 14:56 ` [PATCH v7 06/23] firmware: arm_scmi: Add basic Telemetry support Cristian Marussi
2026-08-02 14:56 ` [PATCH v7 07/23] firmware: arm_scmi: Add support to parse SHMTIs areas Cristian Marussi
2026-08-02 14:56 ` [PATCH v7 08/23] firmware: arm_scmi: Add Telemetry configuration operations Cristian Marussi
2026-08-02 14:56 ` [PATCH v7 09/23] firmware: arm_scmi: Add Telemetry DataEvent read capabilities Cristian Marussi
2026-08-02 14:56 ` [PATCH v7 10/23] firmware: arm_scmi: Add support for Telemetry reset Cristian Marussi
2026-08-02 14:56 ` [PATCH v7 11/23] firmware: arm_scmi: Add Telemetry notification support Cristian Marussi
2026-08-02 14:56 ` [PATCH v7 12/23] firmware: arm_scmi: Add support for boot-on Telemetry Cristian Marussi
2026-08-02 14:56 ` [PATCH v7 13/23] firmware: arm-scmi: Add telemetry generic event support Cristian Marussi
2026-08-02 14:56 ` [PATCH v7 14/23] firmware: arm_scmi: Add Telemetry generation counter event Cristian Marussi
2026-08-02 14:56 ` [PATCH v7 15/23] firmware: arm_scmi: Add common per-protocol debugfs support Cristian Marussi
2026-08-02 14:56 ` [PATCH v7 16/23] firmware: arm_scmi: Add Telemetry debugfs SHMTI dump support Cristian Marussi
2026-08-02 14:56 ` [PATCH v7 17/23] firmware: arm_scmi: Add Telemetry debugfs ABI documentation Cristian Marussi
2026-08-02 14:56 ` [PATCH v7 18/23] firmware: arm_scmi: Expose per-instance identifier Cristian Marussi
2026-08-02 14:56 ` [PATCH v7 19/23] uapi: Add ARM SCMI Telemetry definitions Cristian Marussi
2026-08-02 14:56 ` [PATCH v7 20/23] firmware: arm_scmi: Add System Telemetry driver Cristian Marussi
2026-08-02 14:56 ` [PATCH v7 21/23] docs: ioctl-number: Add SCMI Ioctls Cristian Marussi
2026-08-02 14:56 ` [PATCH v7 22/23] [RFC] Documentation: Add SCMI System Telemetry documentation Cristian Marussi
2026-08-02 14:56 ` [PATCH v7 23/23] [RFC] tools/scmi: Add SCMI Telemetry testing tool Cristian Marussi
2026-08-05  5:21 ` [PATCH v7 00/23] Introduce SCMI Telemetry support Subrahmanya Lingappa
2026-08-05  6:14   ` David Hildenbrand (Arm)
2026-08-05 11:06     ` Subrahmanya Lingappa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aoRdP1u5lhUCclbU@pluto \
    --to=cristian.marussi@arm.com \
    --cc=Elif.Topuz@arm.com \
    --cc=Fayssal.Benmlih@arm.com \
    --cc=Lukasz.Luba@arm.com \
    --cc=Philip.Radford@arm.com \
    --cc=Souvik.Chakravarty@arm.com \
    --cc=arm-scmi@vger.kernel.org \
    --cc=d-gole@ti.com \
    --cc=david@kernel.org \
    --cc=etienne.carriere@st.com \
    --cc=f.fainelli@gmail.com \
    --cc=james.quinlan@broadcom.com \
    --cc=jic23@kernel.org \
    --cc=kas@kernel.org \
    --cc=kernel-team@meta.com \
    --cc=leitao@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michal.simek@amd.com \
    --cc=peng.fan@oss.nxp.com \
    --cc=puranjay@kernel.org \
    --cc=sudeep.holla@kernel.org \
    --cc=usama.arif@linux.dev \
    --cc=vincent.guittot@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.