The patch titled Subject: merge fix up for "mm/memremap_pages: convert to 'struct range'" has been added to the -mm tree. Its filename is mm-memremap_pages-convert-to-struct-range-fix.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/mm-memremap_pages-convert-to-struct-range-fix.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/mm-memremap_pages-convert-to-struct-range-fix.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Subject: merge fix up for "mm/memremap_pages: convert to 'struct range'" Link: https://lkml.kernel.org/r/20200908200950.1368e71b@xxxxxxxxxxxxxxxx Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Roger Pau Monn <roger.pau@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/xen/unpopulated-alloc.c | 15 +++++++++------ fs/fuse/virtio_fs.c | 3 +-- 2 files changed, 10 insertions(+), 8 deletions(-) --- a/drivers/xen/unpopulated-alloc.c~mm-memremap_pages-convert-to-struct-range-fix +++ a/drivers/xen/unpopulated-alloc.c @@ -18,6 +18,7 @@ static unsigned int list_count; static int fill_list(unsigned int nr_pages) { struct dev_pagemap *pgmap; + struct resource res; void *vaddr; unsigned int i, alloc_pages = round_up(nr_pages, PAGES_PER_SECTION); int ret; @@ -27,10 +28,10 @@ static int fill_list(unsigned int nr_pag return -ENOMEM; pgmap->type = MEMORY_DEVICE_GENERIC; - pgmap->res.name = "Xen scratch"; - pgmap->res.flags = IORESOURCE_MEM | IORESOURCE_BUSY; + res.name = "Xen scratch"; + res.flags = IORESOURCE_MEM | IORESOURCE_BUSY; - ret = allocate_resource(&iomem_resource, &pgmap->res, + ret = allocate_resource(&iomem_resource, &res, alloc_pages * PAGE_SIZE, 0, -1, PAGES_PER_SECTION * PAGE_SIZE, NULL, NULL); if (ret < 0) { @@ -38,6 +39,8 @@ static int fill_list(unsigned int nr_pag kfree(pgmap); return ret; } + pgmap->range.start = res.start; + pgmap->range.end = res.end; #ifdef CONFIG_XEN_HAVE_PVMMU /* @@ -50,12 +53,12 @@ static int fill_list(unsigned int nr_pag * conflict with any devices. */ if (!xen_feature(XENFEAT_auto_translated_physmap)) { - xen_pfn_t pfn = PFN_DOWN(pgmap->res.start); + xen_pfn_t pfn = PFN_DOWN(res.start); for (i = 0; i < alloc_pages; i++) { if (!set_phys_to_machine(pfn + i, INVALID_P2M_ENTRY)) { pr_warn("set_phys_to_machine() failed, no memory added\n"); - release_resource(&pgmap->res); + release_resource(&res); kfree(pgmap); return -ENOMEM; } @@ -66,7 +69,7 @@ static int fill_list(unsigned int nr_pag vaddr = memremap_pages(pgmap, NUMA_NO_NODE); if (IS_ERR(vaddr)) { pr_err("Cannot remap memory range\n"); - release_resource(&pgmap->res); + release_resource(&res); kfree(pgmap); return PTR_ERR(vaddr); } --- a/fs/fuse/virtio_fs.c~mm-memremap_pages-convert-to-struct-range-fix +++ a/fs/fuse/virtio_fs.c @@ -835,8 +835,7 @@ static int virtio_fs_setup_dax(struct vi * initialize a struct resource from scratch (only the start * and end fields will be used). */ - pgmap->res = (struct resource){ - .name = "virtio-fs dax window", + pgmap->range = (struct range){ .start = (phys_addr_t) cache_reg.addr, .end = (phys_addr_t) cache_reg.addr + cache_reg.len - 1, }; _ Patches currently in -mm which might be from sfr@xxxxxxxxxxxxxxxx are mm-memremap_pages-convert-to-struct-range-fix.patch mm-madvise-introduce-process_madvise-syscall-an-external-memory-hinting-api-fix-fix-fix.patch