All of lore.kernel.org
 help / color / mirror / Atom feed
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: Stephen Rothwell <sfr@canb.auug.org.au>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux Next Mailing List <linux-next@vger.kernel.org>
Subject: Re: linux-next: build failure after merge of the mm tree
Date: Tue, 5 Mar 2024 14:39:08 +0800	[thread overview]
Message-ID: <e2b55630-170b-4269-9088-f226c7323ff5@bytedance.com> (raw)
In-Reply-To: <20240305152634.014058aa@canb.auug.org.au>



On 2024/3/5 12:26, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the mm tree, today's linux-next build (s390 defconfig)
> failed like this:
> 
> In file included from include/linux/smp.h:12,
>                   from include/linux/lockdep.h:14,
>                   from include/linux/spinlock.h:63,
>                   from include/linux/mmzone.h:8,
>                   from include/linux/gfp.h:7,
>                   from include/linux/mm.h:7,
>                   from include/linux/pagewalk.h:5,
>                   from arch/s390/mm/gmap.c:12:
> arch/s390/mm/gmap.c: In function 'gmap_free':
> include/linux/list.h:866:19: error: assignment to 'struct page *' from incompatible pointer type 'struct ptdesc *' [-Werror=incompatible-pointer-types]
>    866 |                 n = list_next_entry(pos, member);                       \
>        |                   ^
> arch/s390/mm/gmap.c:212:17: note: in expansion of macro 'list_for_each_entry_safe'
>    212 |                 list_for_each_entry_safe(ptdesc, next, &gmap->pt_list, pt_list)
>        |                 ^~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/list.h:868:18: error: assignment to 'struct ptdesc *' from incompatible pointer type 'struct page *' [-Werror=incompatible-pointer-types]
>    868 |              pos = n, n = list_next_entry(n, member))
>        |                  ^
> arch/s390/mm/gmap.c:212:17: note: in expansion of macro 'list_for_each_entry_safe'
>    212 |                 list_for_each_entry_safe(ptdesc, next, &gmap->pt_list, pt_list)
>        |                 ^~~~~~~~~~~~~~~~~~~~~~~~
> In file included from include/linux/kernel.h:22,
>                   from arch/s390/mm/gmap.c:11:
> arch/s390/mm/gmap.c:212:72: error: 'struct page' has no member named 'pt_list'; did you mean 'pcp_list'?
>    212 |                 list_for_each_entry_safe(ptdesc, next, &gmap->pt_list, pt_list)
>        |                                                                        ^~~~~~~
> include/linux/container_of.h:19:33: note: in definition of macro 'container_of'
>     19 |         void *__mptr = (void *)(ptr);                                   \
>        |                                 ^~~
> include/linux/list.h:645:9: note: in expansion of macro 'list_entry'
>    645 |         list_entry((pos)->member.next, typeof(*(pos)), member)
>        |         ^~~~~~~~~~
> include/linux/list.h:868:27: note: in expansion of macro 'list_next_entry'
>    868 |              pos = n, n = list_next_entry(n, member))
>        |                           ^~~~~~~~~~~~~~~
> arch/s390/mm/gmap.c:212:17: note: in expansion of macro 'list_for_each_entry_safe'
>    212 |                 list_for_each_entry_safe(ptdesc, next, &gmap->pt_list, pt_list)
>        |                 ^~~~~~~~~~~~~~~~~~~~~~~~
> In file included from include/linux/container_of.h:5:
> arch/s390/mm/gmap.c:212:72: error: 'struct page' has no member named 'pt_list'; did you mean 'pcp_list'?
>    212 |                 list_for_each_entry_safe(ptdesc, next, &gmap->pt_list, pt_list)
>        |                                                                        ^~~~~~~
> include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
>     78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
>        |                                                        ^~~~
> include/linux/container_of.h:20:9: note: in expansion of macro 'static_assert'
>     20 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
>        |         ^~~~~~~~~~~~~
> include/linux/container_of.h:20:23: note: in expansion of macro '__same_type'
>     20 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
>        |                       ^~~~~~~~~~~
> include/linux/list.h:601:9: note: in expansion of macro 'container_of'
>    601 |         container_of(ptr, type, member)
>        |         ^~~~~~~~~~~~
> include/linux/list.h:645:9: note: in expansion of macro 'list_entry'
>    645 |         list_entry((pos)->member.next, typeof(*(pos)), member)
>        |         ^~~~~~~~~~
> include/linux/list.h:868:27: note: in expansion of macro 'list_next_entry'
>    868 |              pos = n, n = list_next_entry(n, member))
>        |                           ^~~~~~~~~~~~~~~
> arch/s390/mm/gmap.c:212:17: note: in expansion of macro 'list_for_each_entry_safe'
>    212 |                 list_for_each_entry_safe(ptdesc, next, &gmap->pt_list, pt_list)
>        |                 ^~~~~~~~~~~~~~~~~~~~~~~~
> arch/s390/mm/gmap.c:212:72: error: 'struct page' has no member named 'pt_list'; did you mean 'pcp_list'?
>    212 |                 list_for_each_entry_safe(ptdesc, next, &gmap->pt_list, pt_list)
>        |                                                                        ^~~~~~~
> include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
>     78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
>        |                                                        ^~~~
> include/linux/container_of.h:20:9: note: in expansion of macro 'static_assert'
>     20 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
>        |         ^~~~~~~~~~~~~
> include/linux/container_of.h:20:23: note: in expansion of macro '__same_type'
>     20 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
>        |                       ^~~~~~~~~~~
> include/linux/list.h:601:9: note: in expansion of macro 'container_of'
>    601 |         container_of(ptr, type, member)
>        |         ^~~~~~~~~~~~
> include/linux/list.h:645:9: note: in expansion of macro 'list_entry'
>    645 |         list_entry((pos)->member.next, typeof(*(pos)), member)
>        |         ^~~~~~~~~~
> include/linux/list.h:868:27: note: in expansion of macro 'list_next_entry'
>    868 |              pos = n, n = list_next_entry(n, member))
>        |                           ^~~~~~~~~~~~~~~
> arch/s390/mm/gmap.c:212:17: note: in expansion of macro 'list_for_each_entry_safe'
>    212 |                 list_for_each_entry_safe(ptdesc, next, &gmap->pt_list, pt_list)
>        |                 ^~~~~~~~~~~~~~~~~~~~~~~~
> arch/s390/mm/gmap.c:212:72: error: 'struct page' has no member named 'pt_list'; did you mean 'pcp_list'?
>    212 |                 list_for_each_entry_safe(ptdesc, next, &gmap->pt_list, pt_list)
>        |                                                                        ^~~~~~~
> include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
>     78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
>        |                                                        ^~~~
> include/linux/container_of.h:20:9: note: in expansion of macro 'static_assert'
>     20 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
>        |         ^~~~~~~~~~~~~
> include/linux/container_of.h:21:23: note: in expansion of macro '__same_type'
>     21 |                       __same_type(*(ptr), void),                        \
>        |                       ^~~~~~~~~~~
> include/linux/list.h:601:9: note: in expansion of macro 'container_of'
>    601 |         container_of(ptr, type, member)
>        |         ^~~~~~~~~~~~
> include/linux/list.h:645:9: note: in expansion of macro 'list_entry'
>    645 |         list_entry((pos)->member.next, typeof(*(pos)), member)
>        |         ^~~~~~~~~~
> include/linux/list.h:868:27: note: in expansion of macro 'list_next_entry'
>    868 |              pos = n, n = list_next_entry(n, member))
>        |                           ^~~~~~~~~~~~~~~
> arch/s390/mm/gmap.c:212:17: note: in expansion of macro 'list_for_each_entry_safe'
>    212 |                 list_for_each_entry_safe(ptdesc, next, &gmap->pt_list, pt_list)
>        |                 ^~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/compiler_types.h:390:27: error: expression in static assertion is not an integer
>    390 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
>        |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
>     78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
>        |                                                        ^~~~
> include/linux/container_of.h:20:9: note: in expansion of macro 'static_assert'
>     20 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
>        |         ^~~~~~~~~~~~~
> include/linux/container_of.h:20:23: note: in expansion of macro '__same_type'
>     20 |         static_assert(__same_type(*(ptr), ((type *)0)->member) ||       \
>        |                       ^~~~~~~~~~~
> include/linux/list.h:601:9: note: in expansion of macro 'container_of'
>    601 |         container_of(ptr, type, member)
>        |         ^~~~~~~~~~~~
> include/linux/list.h:645:9: note: in expansion of macro 'list_entry'
>    645 |         list_entry((pos)->member.next, typeof(*(pos)), member)
>        |         ^~~~~~~~~~
> include/linux/list.h:868:27: note: in expansion of macro 'list_next_entry'
>    868 |              pos = n, n = list_next_entry(n, member))
>        |                           ^~~~~~~~~~~~~~~
> arch/s390/mm/gmap.c:212:17: note: in expansion of macro 'list_for_each_entry_safe'
>    212 |                 list_for_each_entry_safe(ptdesc, next, &gmap->pt_list, pt_list)
>        |                 ^~~~~~~~~~~~~~~~~~~~~~~~
> In file included from include/uapi/linux/posix_types.h:5,
>                   from include/uapi/linux/types.h:14,
>                   from include/linux/types.h:6,
>                   from include/linux/kasan-checks.h:5,
>                   from include/asm-generic/rwonce.h:26,
>                   from arch/s390/include/asm/rwonce.h:29,
>                   from include/linux/compiler.h:299,
>                   from include/linux/array_size.h:5,
>                   from include/linux/kernel.h:16:
> arch/s390/mm/gmap.c:212:72: error: 'struct page' has no member named 'pt_list'; did you mean 'pcp_list'?
>    212 |                 list_for_each_entry_safe(ptdesc, next, &gmap->pt_list, pt_list)
>        |                                                                        ^~~~~~~
> include/linux/stddef.h:16:58: note: in definition of macro 'offsetof'
>     16 | #define offsetof(TYPE, MEMBER)  __builtin_offsetof(TYPE, MEMBER)
>        |                                                          ^~~~~~
> include/linux/list.h:601:9: note: in expansion of macro 'container_of'
>    601 |         container_of(ptr, type, member)
>        |         ^~~~~~~~~~~~
> include/linux/list.h:645:9: note: in expansion of macro 'list_entry'
>    645 |         list_entry((pos)->member.next, typeof(*(pos)), member)
>        |         ^~~~~~~~~~
> include/linux/list.h:868:27: note: in expansion of macro 'list_next_entry'
>    868 |              pos = n, n = list_next_entry(n, member))
>        |                           ^~~~~~~~~~~~~~~
> arch/s390/mm/gmap.c:212:17: note: in expansion of macro 'list_for_each_entry_safe'
>    212 |                 list_for_each_entry_safe(ptdesc, next, &gmap->pt_list, pt_list)
>        |                 ^~~~~~~~~~~~~~~~~~~~~~~~
> cc1: some warnings being treated as errors

Thanks for reporting that, will fix it:

diff --git a/arch/s390/mm/gmap.c b/arch/s390/mm/gmap.c
index 4d2674f89322..e43a5a3befd4 100644
--- a/arch/s390/mm/gmap.c
+++ b/arch/s390/mm/gmap.c
@@ -206,10 +206,10 @@ static void gmap_free(struct gmap *gmap)

         /* Free additional data for a shadow gmap */
         if (gmap_is_shadow(gmap)) {
-               struct ptdesc *ptdesc;
+               struct ptdesc *ptdesc, *n;

                 /* Free all page tables. */
-               list_for_each_entry_safe(ptdesc, next, &gmap->pt_list, 
pt_list)
+               list_for_each_entry_safe(ptdesc, n, &gmap->pt_list, pt_list)
                         page_table_free_pgste(ptdesc);
                 gmap_rmap_radix_tree_free(&gmap->host_to_rmap);
                 /* Release reference to the parent */

> 
> Caused by commit
> 
>    859584c3ddba ("s390: supplement for ptdesc conversion")
> 
> from the mm-unstable branch of the mm tree.
> 
> I have reverted that commit for today.

  reply	other threads:[~2024-03-05  6:40 UTC|newest]

Thread overview: 156+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-05  4:26 linux-next: build failure after merge of the mm tree Stephen Rothwell
2024-03-05  6:39 ` Qi Zheng [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-04-30  0:38 Stephen Rothwell
2024-04-30  2:23 ` Lance Yang
2024-04-23  0:22 Stephen Rothwell
2024-04-12  6:39 Stephen Rothwell
2024-04-11 23:14 Stephen Rothwell
2024-04-07 23:15 Stephen Rothwell
2024-04-08  1:44 ` Barry Song
2024-04-05  2:55 Stephen Rothwell
2024-03-28  4:34 Stephen Rothwell
2024-02-14  3:57 Stephen Rothwell
2024-02-14 15:19 ` Andrew Morton
2024-02-15  3:47   ` Stephen Rothwell
2024-02-07  6:17 Stephen Rothwell
2024-02-01  2:57 Stephen Rothwell
2024-02-01  8:35 ` Marco Elver
2024-01-25  3:29 Stephen Rothwell
2024-01-25 14:29 ` Baoquan He
2024-01-25 18:03   ` Stephen Rothwell
2024-01-24 23:23 Stephen Rothwell
2024-01-24 23:52 ` Suren Baghdasaryan
2024-01-25  2:40   ` Baoquan He
2024-01-23 23:05 Stephen Rothwell
2024-01-23 23:14 ` Suren Baghdasaryan
2023-12-21  7:38 Stephen Rothwell
2023-12-21  7:45 ` Changbin Du
2023-11-28 21:45 Stephen Rothwell
2023-11-28 22:45 ` Andrew Morton
2023-11-29  8:17   ` Dmitry Rokosov
2023-11-30 22:12     ` Stephen Rothwell
2023-11-27  3:44 Stephen Rothwell
2023-12-22  0:16 ` Stephen Rothwell
2023-12-22  6:26   ` Andrew Morton
2023-11-27  2:28 Stephen Rothwell
2023-11-27  3:48 ` Stephen Rothwell
2023-11-27  3:48   ` Stephen Rothwell
2023-11-30 22:04   ` Stephen Rothwell
2023-11-30 22:04     ` Stephen Rothwell
2023-11-30 22:32     ` Andrew Morton
2023-11-30 22:32       ` Andrew Morton
2023-11-30 22:39     ` Michael Ellerman
2023-11-30 22:39       ` Michael Ellerman
2023-11-30 22:52       ` Andrew Morton
2023-11-30 22:52         ` Andrew Morton
2023-12-01  3:12         ` Michael Ellerman
2023-12-01  3:12           ` Michael Ellerman
2023-12-07 12:38 ` Michael Ellerman
2023-10-03 22:50 Stephen Rothwell
2023-09-27 23:22 Stephen Rothwell
2023-09-28  6:47 ` Arnd Bergmann
2023-09-25 23:18 Stephen Rothwell
2023-08-22 22:52 Stephen Rothwell
2023-08-21 23:55 Stephen Rothwell
2023-08-22  1:11 ` Matthew Wilcox
2023-08-22  1:11   ` Matthew Wilcox
2023-08-22  1:22   ` Stephen Rothwell
2023-08-22  1:22     ` Stephen Rothwell
2023-08-22  1:34     ` Matthew Wilcox
2023-08-22  1:34       ` Matthew Wilcox
2023-08-22  4:00       ` Darrick J. Wong
2023-08-22  4:00         ` Darrick J. Wong
2023-08-22 20:20         ` Matthew Wilcox
2023-08-22 20:20           ` Matthew Wilcox
2023-08-22  7:12   ` Michael Ellerman
2023-08-22  7:12     ` Michael Ellerman
2023-08-08  4:40 Stephen Rothwell
2023-08-08 15:20 ` Eric DeVolder
2023-08-11 17:16 ` Eric DeVolder
2023-07-26  5:14 Stephen Rothwell
2023-07-26 13:22 ` Kuan-Ying Lee (李冠穎)
2023-07-26  4:53 Stephen Rothwell
2023-07-26  5:22 ` Aneesh Kumar K.V
2023-07-26  6:51   ` Stephen Rothwell
2023-07-19  4:32 Stephen Rothwell
2023-07-19  5:55 ` Alistair Popple
2023-07-18  0:02 Stephen Rothwell
2023-07-18 13:43 ` Andy Shevchenko
2023-07-18 17:34   ` Andrew Morton
2023-07-18 21:07     ` Andy Shevchenko
2023-07-17 23:40 Stephen Rothwell
2023-07-04  2:23 Stephen Rothwell
2023-07-04  2:32 ` Linus Torvalds
2023-07-04  5:51   ` Suren Baghdasaryan
2023-06-13  6:21 Stephen Rothwell
2023-06-13  6:21 ` Stephen Rothwell
2023-06-13 15:58 ` Catalin Marinas
2023-06-13 15:58   ` Catalin Marinas
2023-05-19  2:43 Stephen Rothwell
2023-05-19  8:19 ` Arnd Bergmann
2023-05-17 23:59 Stephen Rothwell
2023-03-06  2:54 Stephen Rothwell
2023-03-06  3:13 ` Andrew Morton
2023-03-06  0:52 Stephen Rothwell
2023-03-06 21:58 ` Stephen Rothwell
2023-02-07  4:37 Stephen Rothwell
2023-02-07 12:17 ` Jason Gunthorpe
2023-02-08  2:41   ` Stephen Rothwell
2023-02-07 14:25 ` David Howells
2023-01-30  5:14 Stephen Rothwell
2023-01-30  8:09 ` Christian Brauner
2023-02-26 22:18   ` Stephen Rothwell
2023-02-27 10:36     ` Christian Brauner
2023-01-27  6:36 Stephen Rothwell
2023-01-27  6:16 Stephen Rothwell
2023-01-27  6:16 ` Stephen Rothwell
2023-01-27  5:59 Stephen Rothwell
2023-01-27 13:11 ` Jan Kara
2023-01-31 21:47   ` Stephen Rothwell
2023-02-24  4:40     ` Stephen Rothwell
2023-02-24  6:01       ` Linus Torvalds
2023-02-24 20:36         ` Stephen Rothwell
2023-01-25  3:05 Stephen Rothwell
2022-12-16  1:26 Stephen Rothwell
2022-12-16  3:04 ` Andrew Morton
2022-12-16  0:21 Stephen Rothwell
2022-12-16  0:35 ` Andrew Morton
2022-12-16  1:03   ` Masami Hiramatsu
2022-11-22  6:53 Stephen Rothwell
2022-11-22 10:31 ` David Hildenbrand
2022-11-03  5:02 Stephen Rothwell
2022-11-02  3:55 Stephen Rothwell
2022-11-02 21:26 ` Andrew Morton
2022-10-18  1:24 Stephen Rothwell
2022-09-23  8:12 Stephen Rothwell
2022-09-23  8:15 ` David Hildenbrand
2022-09-23  7:55 Stephen Rothwell
2022-09-23  9:50 ` Michael Walle
2022-09-23 11:01   ` Naoya Horiguchi
2022-09-15  7:07 Stephen Rothwell
2022-09-15 16:37 ` Mike Kravetz
2022-09-15 20:06   ` Andrew Morton
2022-09-06 11:03 Stephen Rothwell
2022-09-06 12:05 ` Rob Clark
2022-09-06 18:05   ` Stephen Rothwell
2022-08-26  7:10 Stephen Rothwell
2022-08-26  7:32 ` Michal Hocko
2022-07-08  9:44 Stephen Rothwell
2022-07-08 15:17 ` Darrick J. Wong
2022-07-10 22:28   ` Stephen Rothwell
2022-05-12  9:38 Stephen Rothwell
2022-05-12 10:13 ` Baolin Wang
2022-05-12 11:07 ` Catalin Marinas
2022-05-12 11:13   ` Baolin Wang
2022-05-12 13:28     ` Catalin Marinas
2022-05-12 19:10       ` Andrew Morton
2022-05-13  7:18   ` Stephen Rothwell
2022-05-11  8:15 Stephen Rothwell
2022-05-11  8:27 ` Baolin Wang
2022-05-11  8:42 ` Baolin Wang
2022-05-11 23:28   ` Stephen Rothwell
2022-05-10 11:25 Stephen Rothwell
2022-05-05 21:37 Stephen Rothwell
2022-05-02 10:49 Stephen Rothwell
2022-05-02 11:19 ` Matthew Wilcox
2022-05-03  6:45   ` Stephen Rothwell

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=e2b55630-170b-4269-9088-f226c7323ff5@bytedance.com \
    --to=zhengqi.arch@bytedance.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=sfr@canb.auug.org.au \
    /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.