From: sashiko-bot@kernel.org
To: "Varshini Rajendran" <varshini.rajendran@microchip.com>
Cc: robh@kernel.org, conor+dt@kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v6 10/17] nvmem: microchip-otpc: nvmem: add emulation mode and OTP access validation
Date: Thu, 06 Aug 2026 09:08:20 +0000 [thread overview]
Message-ID: <20260806090821.44FE91F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260806074024.531259-11-varshini.rajendran@microchip.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
Pre-existing issues:
- [High] Modifying a global static `nvmem_config` structure in the `probe()` function causes a data race if multiple device instances are bound concurrently.
--
--- Patch [10]: [PATCH v6 10/17] nvmem: microchip-otpc: nvmem: add emulation mode and OTP access validation ---
commit 055a4dec457440d76a4443758162d8aa873a40cc
Author: Varshini Rajendran <varshini.rajendran@microchip.com>
nvmem: microchip-otpc: nvmem: add emulation mode and OTP access validation
This commit adds validation for OTP memory accessibility and emulation mode
status during probe. It logs informational messages to help with debugging
when the boot packet is not configured or emulation mode is disabled.
> diff --git a/drivers/nvmem/microchip-otpc.c b/drivers/nvmem/microchip-otpc.c
> index a17f82afdc37d..6b0184423463e 100644
> --- a/drivers/nvmem/microchip-otpc.c
> +++ b/drivers/nvmem/microchip-otpc.c
[ ... ]
> @@ -343,7 +344,8 @@ static int mchp_otpc_probe(struct platform_device *pdev)
> {
> struct nvmem_device *nvmem;
> struct mchp_otpc *otpc;
[ ... ]
> ret = mchp_otpc_init_packets_list(otpc, &size);
> if (ret)
> return ret;
>
> + if (!size) {
> + dev_warn(otpc->dev, "Cannot access OTP memory\n");
> + if (!emul_enable)
> + dev_info(otpc->dev, "Boot packet not programmed and emulation mode disabled\n");
> + }
> +
> mchp_nvmem_config.dev = otpc->dev;
> mchp_nvmem_config.add_legacy_fixed_of_cells = true;
> mchp_nvmem_config.size = size;
> mchp_nvmem_config.priv = otpc;
> nvmem = devm_nvmem_register(&pdev->dev, &mchp_nvmem_config);
[Severity: High]
This is a pre-existing issue, but does modifying the global static
mchp_nvmem_config structure here cause a data race?
If multiple instances of this driver probe concurrently, such as through
sysfs bind or multiple device tree nodes, one instance could overwrite the dev,
size, and priv fields of the global configuration structure before the other
instance completes devm_nvmem_register().
This could lead to the core nvmem subsystem storing the wrong priv pointer
for the device, which might result in incorrect register accesses or a
use-after-free during operations.
Should this configuration structure be copied to a local variable within
mchp_otpc_probe() to ensure the probe function is reentrant?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260806074024.531259-1-varshini.rajendran@microchip.com?part=10
next prev parent reply other threads:[~2026-08-06 9:08 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-06 7:40 [PATCH v6 00/17] Add thermal management support for sama7d65 Varshini Rajendran
2026-08-06 7:40 ` [PATCH v6 01/17] dt-bindings: iio: adc: at91-sama5d2: document sama7d65 Varshini Rajendran
2026-08-06 7:40 ` [PATCH v6 02/17] nvmem: add DEFINE_FREE for nvmem_cell_put cleanup Varshini Rajendran
2026-08-06 7:40 ` [PATCH v6 03/17] iio: adc: at91-sama5d2_adc: use cleanup.h for NVMEM buffer Varshini Rajendran
2026-08-06 7:40 ` [PATCH v6 04/17] iio: adc: at91-sama5d2_adc: rework temp calibration layout handling Varshini Rajendran
2026-08-06 9:07 ` sashiko-bot
2026-08-06 7:40 ` [PATCH v6 05/17] iio: adc: at91-sama5d2_adc: add condition to validate calibration data Varshini Rajendran
2026-08-06 7:40 ` [PATCH v6 06/17] iio: adc: at91-sama5d2_adc: remove unnecessary casts in of_device_id Varshini Rajendran
2026-08-06 7:40 ` [PATCH v6 07/17] iio: adc: at91-sama5d2_adc: adapt the driver for sama7d65 Varshini Rajendran
2026-08-06 9:09 ` sashiko-bot
2026-08-06 7:40 ` [PATCH v6 08/17] dt-bindings: nvmem: microchip,sama7g5-otpc: add sama7d65 and dt node example Varshini Rajendran
2026-08-06 9:07 ` sashiko-bot
2026-08-06 7:40 ` [PATCH v6 09/17] nvmem: microchip-otpc: nvmem: microchip-otpc: add tag-based packet lookup Varshini Rajendran
2026-08-06 9:10 ` sashiko-bot
2026-08-06 7:40 ` [PATCH v6 10/17] nvmem: microchip-otpc: nvmem: add emulation mode and OTP access validation Varshini Rajendran
2026-08-06 9:08 ` sashiko-bot [this message]
2026-08-06 7:40 ` [PATCH v6 11/17] ARM: dts: microchip: sama7d65: add cpu opps Varshini Rajendran
2026-08-06 7:40 ` [PATCH v6 12/17] ARM: dts: microchip: sama7d65: Add ADC node Varshini Rajendran
2026-08-06 9:12 ` sashiko-bot
2026-08-06 7:40 ` [PATCH v6 13/17] ARM: dts: microchip: sama7d65_curiosity: Enable ADC, DVFS Varshini Rajendran
2026-08-06 7:40 ` [PATCH v6 14/17] ARM: dts: microchip: sama7d65: add otpc node Varshini Rajendran
2026-08-06 9:23 ` sashiko-bot
2026-08-06 7:40 ` [PATCH v6 15/17] ARM: dts: microchip: sama7d65: add cells for temperature calibration Varshini Rajendran
2026-08-06 9:19 ` sashiko-bot
2026-08-06 7:40 ` [PATCH v6 16/17] ARM: dts: microchip: sama7d65: add temperature sensor Varshini Rajendran
2026-08-06 9:18 ` sashiko-bot
2026-08-06 7:40 ` [PATCH v6 17/17] ARM: dts: microchip: sama7d65: add thermal zones node Varshini Rajendran
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=20260806090821.44FE91F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=varshini.rajendran@microchip.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox