From: Ben Horgan <ben.horgan@arm.com>
To: James Morse <james.morse@arm.com>,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, zengheng4@huawei.com
Cc: wangkefeng.wang@huawei.com, xry111@xry111.site,
catalin.marinas@arm.com, yang@os.amperecomputing.com,
reinette.chatre@intel.com, will@kernel.org, thuth@redhat.com,
mrigendra.chaubey@gmail.com, fenghuay@nvidia.com,
ahmed.genidi@arm.com
Subject: Re: [PATCH v3 2/4] arm_mpam: Check whether the config array is allocated before destroying it
Date: Mon, 11 May 2026 12:23:16 +0100 [thread overview]
Message-ID: <043ecb1b-6c22-460a-bacc-e853b45c5808@arm.com> (raw)
In-Reply-To: <20260508162341.3762549-3-james.morse@arm.com>
Hi James,
On 5/8/26 17:23, James Morse wrote:
> __destroy_component_cfg() is called to free the configuration array.
> It uses the embedded 'garbage' structure, which means the array has
> to be allocated.
>
> If __destroy_component_cfg() is called from mpam_disable() before the
> configuration was ever allocated, then a NULL pointer is dereferenced.
>
> Check for this case and return early if the configuration is not
> allocated.
>
> __destroy_component_cfg() also frees the mbwu_state as this is allocated
> by __allocate_component_cfg(). As the mbwu_state is allocated after
> comp->cfg is set, and is also under mpam_list_lock, only the first
> pointer needs checking.
>
> Fixes: 3bd04fe7d807bb ("arm_mpam: Extend reset logic to allow devices to be reset any time")
> Signed-off-by: James Morse <james.morse@arm.com>
I checked on the FVP and with this and the previous patch and an early mpam_disable
due to an unsupported MSC version doesn't cause any problems. Additionally, the kunit
tests still run and pass.
Reviewed-by: Ben Horgan <ben.horgan@arm.com>
Thanks,
Ben
next prev parent reply other threads:[~2026-05-11 11:23 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-08 16:23 [PATCH v3 0/4] arm_mpam: Add support for the MPAM v0.1 architecture version James Morse
2026-05-08 16:23 ` [PATCH v3 1/4] arm_mpam: Fix false positive assert failure during mpam_disable() James Morse
2026-05-11 11:19 ` Ben Horgan
2026-05-08 16:23 ` [PATCH v3 2/4] arm_mpam: Check whether the config array is allocated before destroying it James Morse
2026-05-11 11:23 ` Ben Horgan [this message]
2026-05-08 16:23 ` [PATCH v3 3/4] arm64: cpufeature: Add support for the MPAM v0.1 architecture version James Morse
2026-05-14 14:22 ` Catalin Marinas
2026-05-08 16:23 ` [PATCH v3 4/4] arm_mpam: Update architecture version check for MPAM MSC James Morse
2026-05-08 16:35 ` Ben Horgan
2026-05-09 6:26 ` Zeng Heng
2026-05-14 14:08 ` (subset) [PATCH v3 0/4] arm_mpam: Add support for the MPAM v0.1 architecture version Catalin Marinas
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=043ecb1b-6c22-460a-bacc-e853b45c5808@arm.com \
--to=ben.horgan@arm.com \
--cc=ahmed.genidi@arm.com \
--cc=catalin.marinas@arm.com \
--cc=fenghuay@nvidia.com \
--cc=james.morse@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mrigendra.chaubey@gmail.com \
--cc=reinette.chatre@intel.com \
--cc=thuth@redhat.com \
--cc=wangkefeng.wang@huawei.com \
--cc=will@kernel.org \
--cc=xry111@xry111.site \
--cc=yang@os.amperecomputing.com \
--cc=zengheng4@huawei.com \
/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.