linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: wale zhang <wale.zhang.ftd@gmail.com>
To: Barry Song <21cnbao@gmail.com>
Cc: akpm@linux-foundation.org, lorenzo.stoakes@oracle.com,
	chrisl@kernel.org,  linux-mm@kvack.org
Subject: Re: [PATCH 1/1] mm,swapops: Fix compile error on set_pmd_migration_entry.
Date: Sat, 27 Dec 2025 15:51:04 +0800	[thread overview]
Message-ID: <CAHrEdeuBk_MoPj1jWdtdLODK0JOWrb2orTZ77Cbp1vZ3PM3x9g@mail.gmail.com> (raw)
In-Reply-To: <CAGsJ_4wcovpuNKPTfS0STBOHrNREjP-4wam8Oe4e7_ctKsbAcA@mail.gmail.com>

On Sat, Dec 27, 2025 at 2:43 AM Barry Song <21cnbao@gmail.com> wrote:
>
> On Sat, Dec 27, 2025 at 12:46 AM wale zhang <wale.zhang.ftd@gmail.com> wrote:
> >
> > On Thu, Dec 25, 2025 at 6:22 PM Barry Song <21cnbao@gmail.com> wrote:
> > >
> > > On Thu, Dec 25, 2025 at 10:41 PM Wale Zhang <wale.zhang.ftd@gmail.com> wrote:
> > > >
> > > > ../include/linux/swapops.h: In function ‘set_pmd_migration_entry’:
> > > > ../include/linux/swapops.h:346:1: error: no return statement in function returning non-void [-Werror=return-type]
> > > >   346 | }
> > > >       | ^
> > > > cc1: some warnings being treated as errors
> > > >
> > > > Signed-off-by: Wale Zhang <wale.zhang.ftd@gmail.com>
> > >
> > > Sorry. NAK.
> > >
> > > This looks odd. We already have a BUILD_BUG(), so no fix is needed.
> > >
> > > we should already have:
> > > ././include/linux/compiler_types.h:631:45: error: call to
> > > ‘__compiletime_assert_907’ declared with attribute error: BUILD_BUG
> > > failed
> > >   631 |         _compiletime_assert(condition, msg,
> > > __compiletime_assert_, __COUNTER__)
> > >       |                                             ^
> > > ././include/linux/compiler_types.h:612:25: note: in definition of
> > > macro ‘__compiletime_assert’
> > >   612 |                         prefix ## suffix();
> > >          \
> > >       |                         ^~~~~~
> > >
> > > Do you actually see this being built? If so, please help identify why it
> > > gets built.
> >
> > Hello Barry,
> >
> > I compile the 6.19-rc2 for arm64 with -O0, this kind of error log will appear.
> > In file included from /home/wale/repo/linux/master/include/linux/leafops.h:11,
> >                  from
> > /home/wale/repo/linux/master/include/linux/userfaultfd_k.h:19,
> >                  from /home/wale/repo/linux/master/include/linux/mm_inline.h:10,
> >                  from /home/wale/repo/linux/master/mm/internal.h:13,
> >                  from /home/wale/repo/linux/master/mm/fadvise.c:24:
> > /home/wale/repo/linux/master/include/linux/swapops.h: In function
> > ‘set_pmd_migration_entry’:
> > /home/wale/repo/linux/master/include/linux/swapops.h:346:1: error: no
> > return statement in function returning non-void [-Werror=return-type]
> >   346 | }
> >       | ^
> > cc1: some warnings being treated as errors
> > make[4]: *** [/home/wale/repo/linux/master/scripts/Makefile.build:287:
> > mm/fadvise.o] Error 1
> > make[4]: *** Waiting for unfinished jobs....
> >
> > There is an example on my
> > github(https://github.com/wale-ftd/linux/commits/linux-6.12/) that
> > used -O0 to compile the 6.12 kernel. If you're interested, you can
> > check them out.
>
> This is not my question. The BUILD_BUG here means this code
> should never be built. If it is built, then that indicates a bug.
> So my question is: under what kernel configuration would this
> code actually get built?

Hello Barry,

I'm very sorry for misunderstanding your meaning.

For -O0, __OPTIMIZE__ isn't defined, so line 615 is hit.

595 #ifdef __OPTIMIZE__
602 # define __compiletime_assert(condition, msg, prefix, suffix)           \
612                         prefix ## suffix();
614 #else
615 # define __compiletime_assert(condition, msg, prefix, suffix)
((void)(condition))
616 #endif

Finally, set_pmd_migration_entry is defined as follow:
static inline int set_pmd_migration_entry(struct page_vma_mapped_walk *pvmw,
                struct page *page)
{
-        BUILD_BUG();
+        ((void)(0));
}

> Thanks
> Barry

--
Thanks
Wale


  reply	other threads:[~2025-12-27  7:51 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-25  9:40 Wale Zhang
2025-12-25 10:22 ` Barry Song
2025-12-26 11:45   ` wale zhang
2025-12-26 18:43     ` Barry Song
2025-12-27  7:51       ` wale zhang [this message]
2025-12-27  8:16         ` Barry Song
2025-12-27  9:58           ` wale zhang
2025-12-27 11:25             ` Barry Song
2025-12-28 21:37             ` Andrew Morton
2025-12-28 22:07               ` Barry Song
2025-12-29 11:37                 ` wale zhang
2025-12-30  5:00     ` Matthew Wilcox
2025-12-30  8:05       ` wale zhang

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=CAHrEdeuBk_MoPj1jWdtdLODK0JOWrb2orTZ77Cbp1vZ3PM3x9g@mail.gmail.com \
    --to=wale.zhang.ftd@gmail.com \
    --cc=21cnbao@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=chrisl@kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lorenzo.stoakes@oracle.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