Devicetree
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Varshini Rajendran" <varshini.rajendran@microchip.com>
Cc: devicetree@vger.kernel.org, conor+dt@kernel.org, robh@kernel.org
Subject: Re: [PATCH v5 10/17] nvmem: microchip-otpc: nvmem: add emulation mode and OTP access validation
Date: Tue, 04 Aug 2026 12:24:34 +0000	[thread overview]
Message-ID: <20260804122434.B3CAD1F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260804113338.261782-11-varshini.rajendran@microchip.com>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:

Pre-existing issues:
- [High] Missing locking in NVMEM read operations.
--

--- Patch [10]: [PATCH v5 10/17] nvmem: microchip-otpc: nvmem: add emulation mode and OTP access validation ---
commit ff3ee8b6ff65c931c28481b3cf9aabc752c44762
Author: Varshini Rajendran <varshini.rajendran@microchip.com>

nvmem: microchip-otpc: nvmem: add emulation mode and OTP access validation

This commit adds validation of OTP memory accessibility and emulation mode
status during driver probe. It allows access to other packets when the boot
packet is not configured, and logs an informational message if neither is
available to assist with debugging.

> 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
> @@ -18,6 +18,7 @@
>  #define MCHP_OTPC_CR_READ		BIT(6)
>  #define MCHP_OTPC_MR			(0x4)
>  #define MCHP_OTPC_MR_ADDR		GENMASK(31, 16)
> +#define MCHP_OTPC_MR_EMUL		BIT(7)

[Severity: High]
This is a pre-existing issue, but does mchp_otpc_read() need serialization
to prevent concurrent hardware accesses from corrupting the read address?

Since this sysfs nvmem attribute defaults to world-readable, multiple
unprivileged userspace processes can read from the device concurrently.

If they do, they can race in mchp_otpc_prepare_read() when modifying the
Memory Register and Control Register:

mchp_otpc_read() {
        ...
        ret = mchp_otpc_prepare_read(otpc, offset);
        ...
}

mchp_otpc_prepare_read() {
        ...
        /* Set address. */
        tmp = readl_relaxed(otpc->base + MCHP_OTPC_MR);
        tmp &= ~MCHP_OTPC_MR_ADDR;
        tmp |= FIELD_PREP(MCHP_OTPC_MR_ADDR, offset);
        writel_relaxed(tmp, otpc->base + MCHP_OTPC_MR);
        ...
}

Could concurrent reads overwrite each other's requested addresses, leading
to incorrect OTP data being read or stalling the controller?

[ ... ]

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260804113338.261782-1-varshini.rajendran@microchip.com?part=10

  reply	other threads:[~2026-08-04 12:24 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-04 11:33 [PATCH v5 00/17] Add thermal management support for sama7d65 Varshini Rajendran
2026-08-04 11:33 ` [PATCH v5 01/17] dt-bindings: iio: adc: at91-sama5d2: document sama7d65 Varshini Rajendran
2026-08-04 11:33 ` [PATCH v5 02/17] nvmem: add DEFINE_FREE for nvmem_cell_put cleanup Varshini Rajendran
2026-08-04 11:44   ` sashiko-bot
2026-08-05  0:38   ` Jonathan Cameron
2026-08-04 11:33 ` [PATCH v5 03/17] iio: adc: at91-sama5d2_adc: use cleanup.h for NVMEM buffer Varshini Rajendran
2026-08-04 11:33 ` [PATCH v5 04/17] iio: adc: at91-sama5d2_adc: rework temp calibration layout handling Varshini Rajendran
2026-08-04 11:56   ` sashiko-bot
2026-08-04 11:33 ` [PATCH v5 05/17] iio: adc: at91-sama5d2_adc: add condition to validate calibration data Varshini Rajendran
2026-08-04 11:55   ` sashiko-bot
2026-08-04 11:33 ` [PATCH v5 06/17] iio: adc: at91-sama5d2_adc: remove unnecessary casts in of_device_id Varshini Rajendran
2026-08-04 11:33 ` [PATCH v5 07/17] iio: adc: at91-sama5d2_adc: adapt the driver for sama7d65 Varshini Rajendran
2026-08-04 12:08   ` sashiko-bot
2026-08-04 11:33 ` [PATCH v5 08/17] dt-bindings: nvmem: microchip,sama7g5-otpc: add sama7d65 and dt node example Varshini Rajendran
2026-08-04 12:15   ` sashiko-bot
2026-08-04 11:33 ` [PATCH v5 09/17] nvmem: microchip-otpc: nvmem: microchip-otpc: add tag-based packet lookup Varshini Rajendran
2026-08-04 12:27   ` sashiko-bot
2026-08-04 11:33 ` [PATCH v5 10/17] nvmem: microchip-otpc: nvmem: add emulation mode and OTP access validation Varshini Rajendran
2026-08-04 12:24   ` sashiko-bot [this message]
2026-08-04 11:33 ` [PATCH v5 11/17] ARM: dts: microchip: sama7d65: add cpu opps Varshini Rajendran
2026-08-04 12:39   ` sashiko-bot
2026-08-04 11:33 ` [PATCH v5 12/17] ARM: dts: microchip: sama7d65: Add ADC node Varshini Rajendran
2026-08-04 12:34   ` sashiko-bot
2026-08-04 11:33 ` [PATCH v5 13/17] ARM: dts: microchip: sama7d65_curiosity: Enable ADC, DVFS Varshini Rajendran
2026-08-04 11:33 ` [PATCH v5 14/17] ARM: dts: microchip: sama7d65: add otpc node Varshini Rajendran
2026-08-04 12:53   ` sashiko-bot
2026-08-04 11:33 ` [PATCH v5 15/17] ARM: dts: microchip: sama7d65: add cells for temperature calibration Varshini Rajendran
2026-08-04 12:51   ` sashiko-bot
2026-08-04 11:33 ` [PATCH v5 16/17] ARM: dts: microchip: sama7d65: add temperature sensor Varshini Rajendran
2026-08-04 13:10   ` sashiko-bot
2026-08-04 11:33 ` [PATCH v5 17/17] ARM: dts: microchip: sama7d65: add thermal zones node Varshini Rajendran
2026-08-05  0:48 ` [PATCH v5 00/17] Add thermal management support for sama7d65 Jonathan Cameron

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=20260804122434.B3CAD1F000E9@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