Merge branch 'akpm' (Andrew's patch-bomb)
Merge third batch of patches from Andrew Morton: - Some MM stragglers - core SMP library cleanups (on_each_cpu_mask) - Some IPI optimisations - kexec - kdump - IPMI - the radix-tree iterator work - various other misc bits. "That'll do for -rc1. I still have ~10 patches for 3.4, will send those along when they've baked a little more." * emailed from Andrew Morton <akpm@linux-foundation.org>: (35 commits) backlight: fix typo in tosa_lcd.c crc32: add help text for the algorithm select option mm: move hugepage test examples to tools/testing/selftests/vm mm: move slabinfo.c to tools/vm mm: move page-types.c from Documentation to tools/vm selftests/Makefile: make `run_tests' depend on `all' selftests: launch individual selftests from the main Makefile radix-tree: use iterators in find_get_pages* functions radix-tree: rewrite gang lookup using iterator radix-tree: introduce bit-optimized iterator fs/proc/namespaces.c: prevent crash when ns_entries[] is empty nbd: rename the nbd_device variable from lo to nbd pidns: add reboot_pid_ns() to handle the reboot syscall sysctl: use bitmap library functions ipmi: use locks on watchdog timeout set on reboot ipmi: simplify locking ipmi: fix message handling during panics ipmi: use a tasklet for handling received messages ipmi: increase KCS timeouts ipmi: decrease the IPMI message transaction time in interrupt mode ...
This commit is contained in:
@@ -550,7 +550,7 @@ int proc_pid_statm(struct seq_file *m, struct pid_namespace *ns,
|
||||
seq_put_decimal_ull(m, ' ', shared);
|
||||
seq_put_decimal_ull(m, ' ', text);
|
||||
seq_put_decimal_ull(m, ' ', 0);
|
||||
seq_put_decimal_ull(m, ' ', text);
|
||||
seq_put_decimal_ull(m, ' ', data);
|
||||
seq_put_decimal_ull(m, ' ', 0);
|
||||
seq_putc(m, '\n');
|
||||
|
||||
|
@@ -156,15 +156,15 @@ static struct dentry *proc_ns_dir_lookup(struct inode *dir,
|
||||
if (!ptrace_may_access(task, PTRACE_MODE_READ))
|
||||
goto out;
|
||||
|
||||
last = &ns_entries[ARRAY_SIZE(ns_entries) - 1];
|
||||
for (entry = ns_entries; entry <= last; entry++) {
|
||||
last = &ns_entries[ARRAY_SIZE(ns_entries)];
|
||||
for (entry = ns_entries; entry < last; entry++) {
|
||||
if (strlen((*entry)->name) != len)
|
||||
continue;
|
||||
if (!memcmp(dentry->d_name.name, (*entry)->name, len))
|
||||
break;
|
||||
}
|
||||
error = ERR_PTR(-ENOENT);
|
||||
if (entry > last)
|
||||
if (entry == last)
|
||||
goto out;
|
||||
|
||||
error = proc_ns_instantiate(dir, dentry, task, *entry);
|
||||
|
@@ -781,9 +781,6 @@ static int pagemap_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,
|
||||
int err = 0;
|
||||
pagemap_entry_t pme = make_pme(PM_NOT_PRESENT);
|
||||
|
||||
if (pmd_trans_unstable(pmd))
|
||||
return 0;
|
||||
|
||||
/* find the first VMA at or above 'addr' */
|
||||
vma = find_vma(walk->mm, addr);
|
||||
spin_lock(&walk->mm->page_table_lock);
|
||||
@@ -802,6 +799,8 @@ static int pagemap_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,
|
||||
return err;
|
||||
}
|
||||
|
||||
if (pmd_trans_unstable(pmd))
|
||||
return 0;
|
||||
for (; addr != end; addr += PAGE_SIZE) {
|
||||
|
||||
/* check to see if we've left 'vma' behind
|
||||
|
Reference in New Issue
Block a user