[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241120120124.03f09ac5@canb.auug.org.au>
Date: Wed, 20 Nov 2024 12:01:24 +1100
From: Stephen Rothwell <sfr@...b.auug.org.au>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Catalin Marinas <catalin.marinas@....com>, Will Deacon
<will@...nel.org>, Linux Kernel Mailing List
<linux-kernel@...r.kernel.org>, Linux Next Mailing List
<linux-next@...r.kernel.org>, Mark Brown <broonie@...nel.org>, Suren
Baghdasaryan <surenb@...gle.com>
Subject: Re: linux-next: manual merge of the arm64 tree with the mm tree
Hi all,
On Mon, 28 Oct 2024 11:10:58 +1100 Stephen Rothwell <sfr@...b.auug.org.au> wrote:
>
> Today's linux-next merge of the arm64 tree got a conflict in:
>
> include/linux/mm.h
>
> between commit:
>
> e87ec503cf2e ("mm/codetag: uninline and move pgalloc_tag_copy and pgalloc_tag_split")
>
> from the mm-unstable branch of the mm tree and commit:
>
> 91e102e79740 ("prctl: arch-agnostic prctl for shadow stack")
>
> from the arm64 tree.
>
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging. You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
>
> --
> Cheers,
> Stephen Rothwell
>
> diff --cc include/linux/mm.h
> index 086ba524d3ba,8852c39c7695..000000000000
> --- a/include/linux/mm.h
> +++ b/include/linux/mm.h
> @@@ -4166,4 -4174,65 +4178,8 @@@ static inline int do_mseal(unsigned lon
> }
> #endif
>
> -#ifdef CONFIG_MEM_ALLOC_PROFILING
> -static inline void pgalloc_tag_split(struct folio *folio, int old_order, int new_order)
> -{
> - int i;
> - struct alloc_tag *tag;
> - unsigned int nr_pages = 1 << new_order;
> -
> - if (!mem_alloc_profiling_enabled())
> - return;
> -
> - tag = pgalloc_tag_get(&folio->page);
> - if (!tag)
> - return;
> -
> - for (i = nr_pages; i < (1 << old_order); i += nr_pages) {
> - union codetag_ref *ref = get_page_tag_ref(folio_page(folio, i));
> -
> - if (ref) {
> - /* Set new reference to point to the original tag */
> - alloc_tag_ref_set(ref, tag);
> - put_page_tag_ref(ref);
> - }
> - }
> -}
> -
> -static inline void pgalloc_tag_copy(struct folio *new, struct folio *old)
> -{
> - struct alloc_tag *tag;
> - union codetag_ref *ref;
> -
> - tag = pgalloc_tag_get(&old->page);
> - if (!tag)
> - return;
> -
> - ref = get_page_tag_ref(&new->page);
> - if (!ref)
> - return;
> -
> - /* Clear the old ref to the original allocation tag. */
> - clear_page_tag_ref(&old->page);
> - /* Decrement the counters of the tag on get_new_folio. */
> - alloc_tag_sub(ref, folio_nr_pages(new));
> -
> - __alloc_tag_ref_set(ref, tag);
> -
> - put_page_tag_ref(ref);
> -}
> -#else /* !CONFIG_MEM_ALLOC_PROFILING */
> -static inline void pgalloc_tag_split(struct folio *folio, int old_order, int new_order)
> -{
> -}
> -
> -static inline void pgalloc_tag_copy(struct folio *new, struct folio *old)
> -{
> -}
> -#endif /* CONFIG_MEM_ALLOC_PROFILING */
> -
> + int arch_get_shadow_stack_status(struct task_struct *t, unsigned long __user *status);
> + int arch_set_shadow_stack_status(struct task_struct *t, unsigned long status);
> + int arch_lock_shadow_stack_status(struct task_struct *t, unsigned long status);
> +
> #endif /* _LINUX_MM_H */
This is now a conflict between the mm-stable tree and Linus' tree.
--
Cheers,
Stephen Rothwell
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists