Linux-mm Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Matt Fleming" <matt@readmodwrite.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Marco Elver" <elver@google.com>
Cc: "Alexander Potapenko" <glider@google.com>,
	"Andrey Konovalov" <andreyknvl@gmail.com>,
	"Dmitry Vyukov" <dvyukov@google.com>,
	"Oscar Salvador" <osalvador@suse.de>,
	"Vlastimil Babka" <vbabka@kernel.org>,
	"Caleb Kan" <ckan@cloudflare.com>,
	"Caleb Kan" <calebkan1106@gmail.com>,
	linux-mm@kvack.org, kasan-dev@googlegroups.com,
	kernel-team@cloudflare.com,
	"Matt Fleming" <mfleming@cloudflare.com>
Subject: Re: [PATCH v3 08/10] stackdepot: add architecture hooks for compact frame storage
Date: Sat, 14 Nov 2026 18:58:05 +0000	[thread overview]
Message-ID: <sashiko-outbox-214929@kernel.org> (raw)
In-Reply-To: <20261113185702.1332171-9-matt@readmodwrite.com>

Thank you for your contribution! Sashiko AI review found 1 potential
issue to consider:
- [High] stackdepot: uninitialized frame in
  arch_stack_depot_frame_decompress()
--

commit 29af5949877efb1954b766cd936a7c6ac5d5fb21
Author: Caleb Kan <ckan@cloudflare.com>

stackdepot: add architecture hooks for compact frame storage

This commit introduces architecture hooks for compressing and decompressing
stack depot frames into 32-bit payloads on arm64 and x86-64, with a generic
no-op fallback for other architectures.

> diff --git a/include/asm-generic/stackdepot.h b/include/asm-generic/stackdepot.h
> new file mode 100644
> index 0000000000000..846975767bdd4
> --- /dev/null
> +++ b/include/asm-generic/stackdepot.h
> @@ -0,0 +1,19 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +#ifndef __ASM_GENERIC_STACKDEPOT_H
> +#define __ASM_GENERIC_STACKDEPOT_H
> +
> +#include <linux/types.h>
> +
> +static inline bool
> +arch_stack_depot_frame_try_compress(unsigned long frame, u32 *low)
> +{
> +	return false;
> +}
> +
> +static inline void
> +arch_stack_depot_frame_decompress(u32 low, unsigned long *frame)
> +{
> +	/* Generic code never compresses frames, so this hook is unreachable. */
> +}

[Severity: High]
Does leaving *frame untouched here cause uninitialized-variable warnings
when callers pass an uninitialized local to
arch_stack_depot_frame_decompress()?

When commit "stackdepot: Store compressed frames in stack records" wires
this into depot_stack_entry(), it declares an uninitialized local frame,
calls arch_stack_depot_frame_decompress(..., &frame) when
stack->flags & STACK_RECORD_COMPRESSED is set, and returns frame.  On
architectures using this generic header, the compiler cannot tell that
STACK_RECORD_COMPRESSED is never set at runtime, so inlining the empty body
leaves frame uninitialized and breaks the build under -Wuninitialized /
-Wmaybe-uninitialized.  Setting *frame = 0 (or calling unreachable()) would
avoid this.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261113185702.1332171-1-matt@readmodwrite.com?part=8


  reply	other threads:[~2026-11-14 18:58 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-13 18:56 [PATCH v3 00/10] stackdepot: store compressed frames in stack records Matt Fleming
2026-11-13 18:56 ` [PATCH v3 01/10] stackdepot: add caller-owned stack trace fetching Matt Fleming
2026-11-13 18:56 ` [PATCH v3 02/10] mm/kmemleak: use stack_depot_fetch_into() for leak reports Matt Fleming
2026-11-13 18:56 ` [PATCH v3 03/10] kmsan: use stack_depot_fetch_into() for origin reports Matt Fleming
2026-11-13 18:56 ` [PATCH v3 04/10] mm/slub: use stack_depot_fetch_into() for owner tracking Matt Fleming
2026-11-13 18:56 ` [PATCH v3 05/10] drm/locking: print deadlock backtraces with stack_depot_snprint() Matt Fleming
2026-11-13 18:56 ` [PATCH v3 06/10] mm/page_owner: Read stack traces with stack_depot_fetch_into() Matt Fleming
2026-11-13 18:56 ` [PATCH v3 07/10] stackdepot: Remove stack_depot_fetch() Matt Fleming
2026-11-13 18:57 ` [PATCH v3 08/10] stackdepot: add architecture hooks for compact frame storage Matt Fleming
2026-11-14 18:58   ` sashiko-bot [this message]
2026-11-13 18:57 ` [PATCH v3 09/10] stackdepot: Store compressed frames in stack records Matt Fleming
2026-11-14 18:58   ` sashiko-bot
2026-11-13 18:57 ` [PATCH v3 10/10] scripts/gdb: Decode compressed stack depot frames Matt Fleming
2026-11-14 18:58   ` sashiko-bot

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=sashiko-outbox-214929@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=andreyknvl@gmail.com \
    --cc=calebkan1106@gmail.com \
    --cc=ckan@cloudflare.com \
    --cc=dvyukov@google.com \
    --cc=elver@google.com \
    --cc=glider@google.com \
    --cc=kasan-dev@googlegroups.com \
    --cc=kernel-team@cloudflare.com \
    --cc=linux-mm@kvack.org \
    --cc=matt@readmodwrite.com \
    --cc=mfleming@cloudflare.com \
    --cc=osalvador@suse.de \
    --cc=sashiko-reviews@lists.linux.dev \
    --cc=vbabka@kernel.org \
    /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