Merge branch 'akpm' (patches from Andrew)
Merge more updates from Andrew Morton:
"147 patches, based on 7d2a07b769
.
Subsystems affected by this patch series: mm (memory-hotplug, rmap,
ioremap, highmem, cleanups, secretmem, kfence, damon, and vmscan),
alpha, percpu, procfs, misc, core-kernel, MAINTAINERS, lib,
checkpatch, epoll, init, nilfs2, coredump, fork, pids, criu, kconfig,
selftests, ipc, and scripts"
* emailed patches from Andrew Morton <akpm@linux-foundation.org>: (94 commits)
scripts: check_extable: fix typo in user error message
mm/workingset: correct kernel-doc notations
ipc: replace costly bailout check in sysvipc_find_ipc()
selftests/memfd: remove unused variable
Kconfig.debug: drop selecting non-existing HARDLOCKUP_DETECTOR_ARCH
configs: remove the obsolete CONFIG_INPUT_POLLDEV
prctl: allow to setup brk for et_dyn executables
pid: cleanup the stale comment mentioning pidmap_init().
kernel/fork.c: unexport get_{mm,task}_exe_file
coredump: fix memleak in dump_vma_snapshot()
fs/coredump.c: log if a core dump is aborted due to changed file permissions
nilfs2: use refcount_dec_and_lock() to fix potential UAF
nilfs2: fix memory leak in nilfs_sysfs_delete_snapshot_group
nilfs2: fix memory leak in nilfs_sysfs_create_snapshot_group
nilfs2: fix memory leak in nilfs_sysfs_delete_##name##_group
nilfs2: fix memory leak in nilfs_sysfs_create_##name##_group
nilfs2: fix NULL pointer in nilfs_##name##_attr_release
nilfs2: fix memory leak in nilfs_sysfs_create_device_group
trap: cleanup trap_init()
init: move usermodehelper_enable() to populate_rootfs()
...
This commit is contained in:
@@ -594,8 +594,6 @@ static int page_outside_zone_boundaries(struct zone *zone, struct page *page)
|
||||
|
||||
static int page_is_consistent(struct zone *zone, struct page *page)
|
||||
{
|
||||
if (!pfn_valid_within(page_to_pfn(page)))
|
||||
return 0;
|
||||
if (zone != page_zone(page))
|
||||
return 0;
|
||||
|
||||
@@ -1025,16 +1023,12 @@ buddy_merge_likely(unsigned long pfn, unsigned long buddy_pfn,
|
||||
if (order >= MAX_ORDER - 2)
|
||||
return false;
|
||||
|
||||
if (!pfn_valid_within(buddy_pfn))
|
||||
return false;
|
||||
|
||||
combined_pfn = buddy_pfn & pfn;
|
||||
higher_page = page + (combined_pfn - pfn);
|
||||
buddy_pfn = __find_buddy_pfn(combined_pfn, order + 1);
|
||||
higher_buddy = higher_page + (buddy_pfn - combined_pfn);
|
||||
|
||||
return pfn_valid_within(buddy_pfn) &&
|
||||
page_is_buddy(higher_page, higher_buddy, order + 1);
|
||||
return page_is_buddy(higher_page, higher_buddy, order + 1);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1095,8 +1089,6 @@ continue_merging:
|
||||
buddy_pfn = __find_buddy_pfn(pfn, order);
|
||||
buddy = page + (buddy_pfn - pfn);
|
||||
|
||||
if (!pfn_valid_within(buddy_pfn))
|
||||
goto done_merging;
|
||||
if (!page_is_buddy(page, buddy, order))
|
||||
goto done_merging;
|
||||
/*
|
||||
@@ -1754,9 +1746,7 @@ void __init memblock_free_pages(struct page *page, unsigned long pfn,
|
||||
/*
|
||||
* Check that the whole (or subset of) a pageblock given by the interval of
|
||||
* [start_pfn, end_pfn) is valid and within the same zone, before scanning it
|
||||
* with the migration of free compaction scanner. The scanners then need to
|
||||
* use only pfn_valid_within() check for arches that allow holes within
|
||||
* pageblocks.
|
||||
* with the migration of free compaction scanner.
|
||||
*
|
||||
* Return struct page pointer of start_pfn, or NULL if checks were not passed.
|
||||
*
|
||||
@@ -1872,8 +1862,6 @@ static inline void __init pgdat_init_report_one_done(void)
|
||||
*/
|
||||
static inline bool __init deferred_pfn_valid(unsigned long pfn)
|
||||
{
|
||||
if (!pfn_valid_within(pfn))
|
||||
return false;
|
||||
if (!(pfn & (pageblock_nr_pages - 1)) && !pfn_valid(pfn))
|
||||
return false;
|
||||
return true;
|
||||
@@ -2520,11 +2508,6 @@ static int move_freepages(struct zone *zone,
|
||||
int pages_moved = 0;
|
||||
|
||||
for (pfn = start_pfn; pfn <= end_pfn;) {
|
||||
if (!pfn_valid_within(pfn)) {
|
||||
pfn++;
|
||||
continue;
|
||||
}
|
||||
|
||||
page = pfn_to_page(pfn);
|
||||
if (!PageBuddy(page)) {
|
||||
/*
|
||||
@@ -7271,6 +7254,9 @@ static void __init calculate_node_totalpages(struct pglist_data *pgdat,
|
||||
zone->zone_start_pfn = 0;
|
||||
zone->spanned_pages = size;
|
||||
zone->present_pages = real_size;
|
||||
#if defined(CONFIG_MEMORY_HOTPLUG)
|
||||
zone->present_early_pages = real_size;
|
||||
#endif
|
||||
|
||||
totalpages += size;
|
||||
realtotalpages += real_size;
|
||||
@@ -8828,9 +8814,6 @@ struct page *has_unmovable_pages(struct zone *zone, struct page *page,
|
||||
}
|
||||
|
||||
for (; iter < pageblock_nr_pages - offset; iter++) {
|
||||
if (!pfn_valid_within(pfn + iter))
|
||||
continue;
|
||||
|
||||
page = pfn_to_page(pfn + iter);
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user