All of lore.kernel.org
 help / color / mirror / Atom feed
From: Qi Zheng <zhengqi.arch@bytedance.com>
To: kernel test robot <lkp@intel.com>
Cc: oe-kbuild-all@lists.linux.dev
Subject: Re: [PATCH 3/3] s390: supplement for ptdesc conversion
Date: Wed, 6 Mar 2024 10:46:49 +0800	[thread overview]
Message-ID: <742a5f0a-8e7f-4993-b3eb-598c6b237ccd@bytedance.com> (raw)
In-Reply-To: <202403060651.ld11yLEn-lkp@intel.com>

Hi,

Thanks a lot for testing! And the following errors have been fixed by
https://lore.kernel.org/lkml/20240305072154.26168-1-zhengqi.arch@bytedance.com/.

Thanks,
Qi

On 2024/3/6 06:32, kernel test robot wrote:
> Hi Qi,
> 
> kernel test robot noticed the following build errors:
> 
> [auto build test ERROR on s390/features]
> [also build test ERROR on kvms390/next linus/master v6.8-rc7]
> [cannot apply to akpm-mm/mm-everything next-20240305]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch#_base_tree_information]
> 
> url:    https://github.com/intel-lab-lkp/linux/commits/Qi-Zheng/mm-pgtable-correct-the-wrong-comment-about-ptdesc-__page_flags/20240304-191006
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git features
> patch link:    https://lore.kernel.org/r/04beaf3255056ffe131a5ea595736066c1e84756.1709541697.git.zhengqi.arch%40bytedance.com
> patch subject: [PATCH 3/3] s390: supplement for ptdesc conversion
> config: s390-allyesconfig (https://download.01.org/0day-ci/archive/20240306/202403060651.ld11yLEn-lkp@intel.com/config)
> compiler: s390-linux-gcc (GCC) 13.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240306/202403060651.ld11yLEn-lkp@intel.com/reproduce)
> 
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202403060651.ld11yLEn-lkp@intel.com/
> 
> All errors (new ones prefixed by >>):
> 
>     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:376:27: error: expression in static assertion is not an integer
>       376 | #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:251,
>                      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
> 
> 
> vim +212 arch/s390/mm/gmap.c
> 
>     187	
>     188	/**
>     189	 * gmap_free - free a guest address space
>     190	 * @gmap: pointer to the guest address space structure
>     191	 *
>     192	 * No locks required. There are no references to this gmap anymore.
>     193	 */
>     194	static void gmap_free(struct gmap *gmap)
>     195	{
>     196		struct page *page, *next;
>     197	
>     198		/* Flush tlb of all gmaps (if not already done for shadows) */
>     199		if (!(gmap_is_shadow(gmap) && gmap->removed))
>     200			gmap_flush_tlb(gmap);
>     201		/* Free all segment & region tables. */
>     202		list_for_each_entry_safe(page, next, &gmap->crst_list, lru)
>     203			__free_pages(page, CRST_ALLOC_ORDER);
>     204		gmap_radix_tree_free(&gmap->guest_to_host);
>     205		gmap_radix_tree_free(&gmap->host_to_guest);
>     206	
>     207		/* Free additional data for a shadow gmap */
>     208		if (gmap_is_shadow(gmap)) {
>     209			struct ptdesc *ptdesc;
>     210	
>     211			/* Free all page tables. */
>   > 212			list_for_each_entry_safe(ptdesc, next, &gmap->pt_list, pt_list)
>     213				page_table_free_pgste(ptdesc);
>     214			gmap_rmap_radix_tree_free(&gmap->host_to_rmap);
>     215			/* Release reference to the parent */
>     216			gmap_put(gmap->parent);
>     217		}
>     218	
>     219		kfree(gmap);
>     220	}
>     221	
> 

  reply	other threads:[~2024-03-06  2:46 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-04 11:07 [PATCH 0/3] minor fixes and supplement for ptdesc Qi Zheng
2024-03-04 11:07 ` [PATCH 1/3] mm: pgtable: correct the wrong comment about ptdesc->__page_flags Qi Zheng
2024-03-26 19:12   ` Vishal Moola
2024-03-27  2:00     ` Qi Zheng
2024-03-04 11:07 ` [PATCH 2/3] mm: pgtable: add missing pt_index to struct ptdesc Qi Zheng
2024-03-26 19:25   ` Vishal Moola
2024-03-27  2:06     ` Qi Zheng
2024-03-04 11:07 ` [PATCH 3/3] s390: supplement for ptdesc conversion Qi Zheng
2024-03-05  7:21   ` [PATCH v2 " Qi Zheng
2024-03-26  7:46     ` Heiko Carstens
2024-03-05 22:32   ` [PATCH " kernel test robot
2024-03-06  2:46     ` Qi Zheng [this message]
2024-03-06  4:53   ` kernel test robot
2024-03-26 19:48   ` Vishal Moola
2024-03-27  2:11     ` Qi Zheng
2024-03-26 19:07 ` [PATCH 0/3] minor fixes and supplement for ptdesc Vishal Moola
2024-03-27  8:52   ` David Hildenbrand

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=742a5f0a-8e7f-4993-b3eb-598c6b237ccd@bytedance.com \
    --to=zhengqi.arch@bytedance.com \
    --cc=lkp@intel.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    /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.