Thread (1 message) 1 message, 1 author, 2025-11-11

Re: [v2,0/3] module: Add compile-time check for embedded NUL characters

From: Daniel Gomez <da.gomez@kernel.org>
Date: 2025-11-11 13:14:07
Also in: linux-media

On Mon, Oct 20, 2025 at 11:51:05AM -0700, Kees Cook wrote:
On Mon, Oct 20, 2025 at 08:35:53PM +0200, Ricardo Ribalda wrote:
quoted
Hi Kees

On Mon, 20 Oct 2025 at 20:29, Kees Cook [off-list ref] wrote:
quoted
On Wed, Oct 15, 2025 at 09:33:40AM +0200, Ricardo Ribalda wrote:
quoted
Hi Dan

On Tue, 14 Oct 2025 at 22:45, Kees Cook [off-list ref] wrote:
quoted
On Tue, Oct 14, 2025 at 08:24:00AM +0200, Ricardo Ribalda wrote:
quoted
Hi Kees

Thanks for the report.


On Tue, 14 Oct 2025 at 07:41, Kees Cook [off-list ref] wrote:
quoted


On October 13, 2025 1:34:20 PM PDT, Patchwork Integration [off-list ref] wrote:
quoted
Dear Kees Cook:

Thanks for your patches! Unfortunately the Media CI robot detected some
issues:

# Test static:test-smatch

drivers/media/usb/usbtv/usbtv-core.c:157:1: error: bad constant expression
Where can I find what this test actually does?
quoted
For more details, check the full report at:
https://linux-media.pages.freedesktop.org/-/users/patchwork/-/jobs/85913402/artifacts/report.htm .
This webserver appears to be misconfigured to send compressed output without the right headers? I can't actually view this URL.
I will follow-up with fdo maintainers to figure out what happened.
there. On the meantime you can use these url that seems to work:
https://linux-media.pages.freedesktop.org/-/users/patchwork/-/jobs/85913402/artifacts/report.txt
https://gitlab.freedesktop.org/linux-media/users/patchwork/-/jobs/85913398

Basically sparse/smatch do not seem to understand the constant.
Yeah, I managed to find the actual scripts that are run for the
static-sparse/smatch tests. It looks like those tools aren't correctly
handling string literals for __builtin_strlen(), which is a constant for
constant arguments.

So, that's a C parsing bug in those tools (GCC and Clang are fine).
Could you take a look at this patch:
https://patchwork.linuxtv.org/project/linux-media/patch/20251010030610.3032147-3-kees@kernel.org/

Seems that sparse/smatch are not very happy about __builtin_strlen()

Could you fix support for __builtin_strlen() in your tool?

Once Kees lands his patch it will break all the CIs using
sparse/smatch, including media-ci.

Eg:

drivers/media/pci/zoran/zr36060.c:33:1: error: bad constant expression
drivers/media/usb/pvrusb2/pvrusb2-dvb.c:19:1: error: bad constant expression
drivers/media/usb/pvrusb2/pvrusb2-dvb.c:19:1: error: bad constant expression
We've waited a decade to get the embedded-NUL check into the modinfo
macros, so I'm happy to wait until we can get the CI tooling updated.
For media-ci. It will probably be after 6.19rc1

Basically, when
https://lore.kernel.org/linux-sparse/CACePvbVG2KrGQq4cNKV=wbO5h=jp3M0RO1SdfX8kV4OukjPG8A@mail.gmail.com/T/#t (local)
lands in media-committers.
That's external to Linux, though; it's a patch for sparse and smatch. How
often does the CI rebuild sparse and smatch?
quoted
How did you plan to land this series? via which tree?
I assume it would go either via the modules tree or the hardening tree.
(Again, no rush.)
FYI, the patch is applied to modules-next, so I was planning to send it
for v6.19-rc1.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help