lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJuCfpGNKzBadFix9WpN-PQMr2Mwj1NjawzSk8ycBST9USKpcA@mail.gmail.com>
Date: Tue, 19 Nov 2024 17:09:46 -0800
From: Suren Baghdasaryan <surenb@...gle.com>
To: Stephen Rothwell <sfr@...b.auug.org.au>
Cc: Andrew Morton <akpm@...ux-foundation.org>, 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>
Subject: Re: linux-next: manual merge of the arm64 tree with the mm tree

On Tue, Nov 19, 2024 at 5:01 PM Stephen Rothwell <sfr@...b.auug.org.au> wrote:
>
> 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.

Let me try to manually apply it to Linus' ToT and will send a replacement patch.

>
> --
> Cheers,
> Stephen Rothwell

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ