mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Mark Brown <broonie@kernel.org>
To: David Hildenbrand <david@kernel.org>,
	Mike Rapoport <rppt@kernel.org>,
	Vlastimil Babka <vbabka@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: Kiryl Shutsemau <kas@kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux Next Mailing List <linux-next@vger.kernel.org>,
	Muchun Song <muchun.song@linux.dev>
Subject: linux-next: manual merge of the mm tree with the mm-fixes tree
Date: Tue, 10 Nov 2026 19:34:51 +0000	[thread overview]
Message-ID: <avNx2xUs15uvXX3f@sirena.org.uk> (raw)

[-- Attachment #1: Type: text/plain, Size: 5339 bytes --]

Hi all,

Today's linux-next merge of the mm tree got a conflict in:

  include/linux/mm.h

between commits:

  4ad0729ad201b ("mm: fix missing page-table destructor in pagetable_free()")
  b8fdad7f507db ("mm-vma-read-anon_vma-carefully-in-validate_mm-fix")

from the mm-fixes tree and commit:

  3b11ce5e7f0cf ("mm: remove pagetable_dtor_free()")

from the mm 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.

diff --combined include/linux/mm.h
index d57c61b928f47,627e8878d6dca..0000000000000
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@@ -38,7 -38,6 +38,6 @@@
  #include <linux/bitops.h>
  #include <linux/iommu-debug-pagealloc.h>
  #include <linux/kcsan-checks.h>
- #include <linux/vmemmap-optimization.h>
  
  struct mempolicy;
  struct anon_vma;
@@@ -2146,27 -2145,6 +2145,6 @@@ static inline unsigned int page_shift(s
  	return PAGE_SHIFT + compound_order(page);
  }
  
- /**
-  * thp_order - Order of a transparent huge page.
-  * @page: Head page of a transparent huge page.
-  */
- static inline unsigned int thp_order(struct page *page)
- {
- 	VM_BUG_ON_PGFLAGS(PageTail(page), page);
- 	return compound_order(page);
- }
- 
- /**
-  * thp_size - Size of a transparent huge page.
-  * @page: Head page of a transparent huge page.
-  *
-  * Return: Number of bytes in this page.
-  */
- static inline unsigned long thp_size(struct page *page)
- {
- 	return PAGE_SIZE << thp_order(page);
- }
- 
  #ifdef CONFIG_MMU
  /*
   * Do pte_mkwrite, but only if the vma says VM_WRITE.  We do this when
@@@ -2181,7 -2159,8 +2159,8 @@@ static inline pte_t maybe_mkwrite(pte_
  	return pte;
  }
  
- vm_fault_t do_set_pmd(struct vm_fault *vmf, struct folio *folio, struct page *page);
+ vm_fault_t do_set_pmd(struct vm_fault *vmf, struct folio *folio, struct page *page,
+ 		bool may_alloc);
  void set_pte_range(struct vm_fault *vmf, struct folio *folio,
  		struct page *page, unsigned int nr, unsigned long addr);
  
@@@ -4083,12 -4062,6 +4062,6 @@@ static inline void pagetable_free(struc
  	}
  }
  
- static inline void pagetable_dtor_free(struct ptdesc *ptdesc)
- {
- 	pagetable_dtor(ptdesc);
- 	pagetable_free(ptdesc);
- }
- 
  static inline bool pagetable_pte_ctor(struct mm_struct *mm,
  				      struct ptdesc *ptdesc)
  {
@@@ -4990,8 -4963,6 +4963,6 @@@ vm_fault_t vmf_insert_pfn_prot(struct v
  			unsigned long pfn, pgprot_t pgprot);
  vm_fault_t vmf_insert_mixed(struct vm_area_struct *vma, unsigned long addr,
  			unsigned long pfn);
- vm_fault_t vmf_insert_mixed_mkwrite(struct vm_area_struct *vma,
- 		unsigned long addr, unsigned long pfn);
  int vm_iomap_memory(struct vm_area_struct *vma, phys_addr_t start, unsigned long len);
  
  static inline vm_fault_t vmf_insert_page(struct vm_area_struct *vma,
@@@ -5344,8 -5315,7 +5315,7 @@@ static inline void print_vma_addr(char 
  #endif
  
  struct page * __populate_section_memmap(unsigned long pfn,
- 		unsigned long nr_pages, int nid, struct vmem_altmap *altmap,
- 		struct dev_pagemap *pgmap);
+ 		unsigned long nr_pages, int nid, struct vmem_altmap *altmap);
  void *vmemmap_alloc_block(unsigned long size, int node);
  struct vmem_altmap;
  void *vmemmap_alloc_block_buf(unsigned long size, int node,
@@@ -5361,8 -5331,6 +5331,6 @@@ int vmemmap_populate_hugepages(unsigne
  			       int node, struct vmem_altmap *altmap);
  int vmemmap_populate(unsigned long start, unsigned long end, int node,
  		struct vmem_altmap *altmap);
- void vmemmap_wrprotect_hvo(unsigned long start, unsigned long end, int node,
- 			  unsigned long headsize);
  void vmemmap_populate_print_last(void);
  #ifdef CONFIG_MEMORY_HOTPLUG
  void vmemmap_free(unsigned long start, unsigned long end,
@@@ -5395,42 -5363,6 +5363,6 @@@ static inline void vmem_altmap_free(str
  }
  #endif
  
- #ifdef CONFIG_ARCH_WANT_OPTIMIZE_DAX_VMEMMAP
- static inline bool __vmemmap_can_optimize(struct vmem_altmap *altmap,
- 					  struct dev_pagemap *pgmap)
- {
- 	unsigned long nr_pages;
- 	unsigned long nr_vmemmap_pages;
- 
- 	if (!IS_ENABLED(CONFIG_VMEMMAP_OPTIMIZATION))
- 		return false;
- 
- 	if (!pgmap || !is_power_of_2(sizeof(struct page)))
- 		return false;
- 
- 	nr_pages = pgmap_vmemmap_nr(pgmap);
- 	nr_vmemmap_pages = ((nr_pages * sizeof(struct page)) >> PAGE_SHIFT);
- 	/*
- 	 * For vmemmap optimization with DAX we need minimum 2 vmemmap
- 	 * pages. See layout diagram in Documentation/mm/vmemmap_dedup.rst
- 	 */
- 	return !altmap && (nr_vmemmap_pages > VMEMMAP_OPTIMIZATION_PAGES);
- }
- /*
-  * If we don't have an architecture override, use the generic rule
-  */
- #ifndef vmemmap_can_optimize
- #define vmemmap_can_optimize __vmemmap_can_optimize
- #endif
- 
- #else
- static inline bool vmemmap_can_optimize(struct vmem_altmap *altmap,
- 					   struct dev_pagemap *pgmap)
- {
- 	return false;
- }
- #endif
- 
  enum mf_flags {
  	MF_COUNT_INCREASED = 1 << 0,
  	MF_ACTION_REQUIRED = 1 << 1,

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

                 reply	other threads:[~2026-11-10 19:34 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=avNx2xUs15uvXX3f@sirena.org.uk \
    --to=broonie@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=david@kernel.org \
    --cc=kas@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=muchun.song@linux.dev \
    --cc=rppt@kernel.org \
    --cc=vbabka@kernel.org \
    /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

all inboxes | Powered by JetHome®