All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Kees Cook <kees@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Nipun Gupta <nipun.gupta@amd.com>,
	Nikhil Agarwal <nikhil.agarwal@amd.com>,
	"Borislav Petkov (AMD)" <bp@alien8.de>,
	Pieter Jansen van Vuuren <pieter.jansen-van-vuuren@amd.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Ingo Molnar <mingo@kernel.org>, Mark Brown <broonie@kernel.org>,
	Wesley Cheng <quic_wcheng@quicinc.com>,
	Tony Luck <tony.luck@intel.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org
Subject: Re: [PATCH] mod_devicetable: Enlarge the maximum platform_device_id name length
Date: Wed, 16 Apr 2025 09:45:52 +0300	[thread overview]
Message-ID: <Z_9SIBPsf4_cQ77Y@smile.fi.intel.com> (raw)
In-Reply-To: <20250415231420.work.066-kees@kernel.org>

On Tue, Apr 15, 2025 at 04:14:24PM -0700, Kees Cook wrote:
> The 20 byte length of struct platform_device_id::name is not long enough
> for many devices (especially regulators), where the string initialization
> is getting truncated and missing the trailing NUL byte. This is seen
> with GCC 15's -Wunterminated-string-initialization option:
> 
> drivers/regulator/hi6421v530-regulator.c:189:19: warning: initializer-string for array of 'char' truncates NUL terminator but destination lacks 'nonstring' attribute (21 chars into 20 available) [-Wunterminated-string-initialization]
>   189 |         { .name = "hi6421v530-regulator" },
>       |                   ^~~~~~~~~~~~~~~~~~~~~~
> drivers/regulator/hi6421v600-regulator.c:278:19: warning: initializer-string for array of 'char' truncates NUL terminator but destination lacks 'nonstring' attribute (21 chars into 20 available) [-Wunterminated-string-initialization]
>   278 |         { .name = "hi6421v600-regulator" },
>       |                   ^~~~~~~~~~~~~~~~~~~~~~
> drivers/regulator/lp87565-regulator.c:233:11: warning: initializer-string for array of 'char' truncates NUL terminator but destination lacks 'nonstring' attribute (21 chars into 20 available) [-Wunterminated-string-initialization]
>   233 |         { "lp87565-q1-regulator", },
>       |           ^~~~~~~~~~~~~~~~~~~~~~
> sound/soc/fsl/imx-pcm-rpmsg.c:818:19: warning: initializer-string for array of 'char' truncates NUL terminator but destination lacks 'nonstring' attribute (21 chars into 20 available) [-Wunterminated-string-initialization]
>   818 |         { .name = "rpmsg-micfil-channel" },
>       |                   ^~~~~~~~~~~~~~~~~~~~~~
> drivers/iio/light/hid-sensor-als.c:457:25: warning: initializer-string for array of 'char' truncates NUL terminator but destination lacks 'nonstring' attribute (21 chars into 20 available) [-Wunterminated-string-initialization]
>   457 |                 .name = "HID-SENSOR-LISS-0041",
>       |                         ^~~~~~~~~~~~~~~~~~~~~~
> drivers/iio/light/hid-sensor-prox.c:366:25: warning: initializer-string for array of 'char' truncates NUL terminator but destination lacks 'nonstring' attribute (21 chars into 20 available) [-Wunterminated-string-initialization]
>   366 |                 .name = "HID-SENSOR-LISS-0226",
>       |                         ^~~~~~~~~~~~~~~~~~~~~~
> 
> Increase the length to 24, slightly more than is currently being used by
> the affected drivers. The string is used in '%s' format strings and via
> the module code, which appears to do its own length encoding. This size
> was chosen because there was already a 4 byte hole in the structure:
> 
> struct platform_device_id {
>         char                       name[20];             /*     0    20 */
> 
>         /* XXX 4 bytes hole, try to pack */
> 
>         kernel_ulong_t             driver_data;          /*    24     8 */
> 
>         /* size: 32, cachelines: 1, members: 2 */
>         /* sum members: 28, holes: 1, sum holes: 4 */
>         /* last cacheline: 32 bytes */
> };

Since there is no even potential ABI breakage, I'm fine with the change.
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

-- 
With Best Regards,
Andy Shevchenko



  reply	other threads:[~2025-04-16  6:45 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-15 23:14 [PATCH] mod_devicetable: Enlarge the maximum platform_device_id name length Kees Cook
2025-04-16  6:45 ` Andy Shevchenko [this message]
2025-07-04 23:49   ` Vitaly Chikunov
2025-04-21 21:30 ` Kees Cook
2025-07-05 21:40 ` Sasha Levin

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=Z_9SIBPsf4_cQ77Y@smile.fi.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=bp@alien8.de \
    --cc=broonie@kernel.org \
    --cc=dave.hansen@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=kees@kernel.org \
    --cc=linux-hardening@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=nikhil.agarwal@amd.com \
    --cc=nipun.gupta@amd.com \
    --cc=pawan.kumar.gupta@linux.intel.com \
    --cc=pieter.jansen-van-vuuren@amd.com \
    --cc=quic_wcheng@quicinc.com \
    --cc=tony.luck@intel.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.