Merge branch 'akpm' (Andrew's patch-bomb)
Merge Andrew's remaining patches for 3.5: "Nine fixes" * Merge emailed patches from Andrew Morton <akpm@linux-foundation.org>: (9 commits) mm: fix lost kswapd wakeup in kswapd_stop() m32r: make memset() global for CONFIG_KERNEL_BZIP2=y m32r: add memcpy() for CONFIG_KERNEL_GZIP=y m32r: consistently use "suffix-$(...)" m32r: fix 'fix breakage from "m32r: use generic ptrace_resume code"' fallout m32r: fix pull clearing RESTORE_SIGMASK into block_sigmask() fallout m32r: remove duplicate definition of PTRACE_O_TRACESYSGOOD mn10300: fix "pull clearing RESTORE_SIGMASK into block_sigmask()" fallout bootmem: make ___alloc_bootmem_node_nopanic() really nopanic
This commit is contained in:
commit
de74646c60
|
@ -43,9 +43,9 @@ endif
|
||||||
|
|
||||||
OBJCOPYFLAGS += -R .empty_zero_page
|
OBJCOPYFLAGS += -R .empty_zero_page
|
||||||
|
|
||||||
suffix_$(CONFIG_KERNEL_GZIP) = gz
|
suffix-$(CONFIG_KERNEL_GZIP) = gz
|
||||||
suffix_$(CONFIG_KERNEL_BZIP2) = bz2
|
suffix-$(CONFIG_KERNEL_BZIP2) = bz2
|
||||||
suffix_$(CONFIG_KERNEL_LZMA) = lzma
|
suffix-$(CONFIG_KERNEL_LZMA) = lzma
|
||||||
|
|
||||||
$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix-y) FORCE
|
$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix-y) FORCE
|
||||||
$(call if_changed,ld)
|
$(call if_changed,ld)
|
||||||
|
|
|
@ -28,7 +28,7 @@ static unsigned long free_mem_ptr;
|
||||||
static unsigned long free_mem_end_ptr;
|
static unsigned long free_mem_end_ptr;
|
||||||
|
|
||||||
#ifdef CONFIG_KERNEL_BZIP2
|
#ifdef CONFIG_KERNEL_BZIP2
|
||||||
static void *memset(void *s, int c, size_t n)
|
void *memset(void *s, int c, size_t n)
|
||||||
{
|
{
|
||||||
char *ss = s;
|
char *ss = s;
|
||||||
|
|
||||||
|
@ -39,6 +39,16 @@ static void *memset(void *s, int c, size_t n)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_KERNEL_GZIP
|
#ifdef CONFIG_KERNEL_GZIP
|
||||||
|
void *memcpy(void *dest, const void *src, size_t n)
|
||||||
|
{
|
||||||
|
char *d = dest;
|
||||||
|
const char *s = src;
|
||||||
|
while (n--)
|
||||||
|
*d++ = *s++;
|
||||||
|
|
||||||
|
return dest;
|
||||||
|
}
|
||||||
|
|
||||||
#define BOOT_HEAP_SIZE 0x10000
|
#define BOOT_HEAP_SIZE 0x10000
|
||||||
#include "../../../../lib/decompress_inflate.c"
|
#include "../../../../lib/decompress_inflate.c"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -113,9 +113,6 @@ struct pt_regs {
|
||||||
|
|
||||||
#define PTRACE_OLDSETOPTIONS 21
|
#define PTRACE_OLDSETOPTIONS 21
|
||||||
|
|
||||||
/* options set using PTRACE_SETOPTIONS */
|
|
||||||
#define PTRACE_O_TRACESYSGOOD 0x00000001
|
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
#ifdef __KERNEL__
|
||||||
|
|
||||||
#include <asm/m32r.h> /* M32R_PSW_BSM, M32R_PSW_BPM */
|
#include <asm/m32r.h> /* M32R_PSW_BSM, M32R_PSW_BPM */
|
||||||
|
|
|
@ -591,17 +591,16 @@ void user_enable_single_step(struct task_struct *child)
|
||||||
|
|
||||||
if (access_process_vm(child, pc&~3, &insn, sizeof(insn), 0)
|
if (access_process_vm(child, pc&~3, &insn, sizeof(insn), 0)
|
||||||
!= sizeof(insn))
|
!= sizeof(insn))
|
||||||
return -EIO;
|
return;
|
||||||
|
|
||||||
compute_next_pc(insn, pc, &next_pc, child);
|
compute_next_pc(insn, pc, &next_pc, child);
|
||||||
if (next_pc & 0x80000000)
|
if (next_pc & 0x80000000)
|
||||||
return -EIO;
|
return;
|
||||||
|
|
||||||
if (embed_debug_trap(child, next_pc))
|
if (embed_debug_trap(child, next_pc))
|
||||||
return -EIO;
|
return;
|
||||||
|
|
||||||
invalidate_cache();
|
invalidate_cache();
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void user_disable_single_step(struct task_struct *child)
|
void user_disable_single_step(struct task_struct *child)
|
||||||
|
|
|
@ -286,7 +286,7 @@ handle_signal(unsigned long sig, struct k_sigaction *ka, siginfo_t *info,
|
||||||
case -ERESTARTNOINTR:
|
case -ERESTARTNOINTR:
|
||||||
regs->r0 = regs->orig_r0;
|
regs->r0 = regs->orig_r0;
|
||||||
if (prev_insn(regs) < 0)
|
if (prev_insn(regs) < 0)
|
||||||
return -EFAULT;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -459,10 +459,11 @@ static int handle_signal(int sig,
|
||||||
else
|
else
|
||||||
ret = setup_frame(sig, ka, oldset, regs);
|
ret = setup_frame(sig, ka, oldset, regs);
|
||||||
if (ret)
|
if (ret)
|
||||||
return;
|
return ret;
|
||||||
|
|
||||||
signal_delivered(sig, info, ka, regs,
|
signal_delivered(sig, info, ka, regs,
|
||||||
test_thread_flag(TIF_SINGLESTEP));
|
test_thread_flag(TIF_SINGLESTEP));
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -710,6 +710,10 @@ again:
|
||||||
if (ptr)
|
if (ptr)
|
||||||
return ptr;
|
return ptr;
|
||||||
|
|
||||||
|
/* do not panic in alloc_bootmem_bdata() */
|
||||||
|
if (limit && goal + size > limit)
|
||||||
|
limit = 0;
|
||||||
|
|
||||||
ptr = alloc_bootmem_bdata(pgdat->bdata, size, align, goal, limit);
|
ptr = alloc_bootmem_bdata(pgdat->bdata, size, align, goal, limit);
|
||||||
if (ptr)
|
if (ptr)
|
||||||
return ptr;
|
return ptr;
|
||||||
|
|
|
@ -2688,7 +2688,10 @@ static void kswapd_try_to_sleep(pg_data_t *pgdat, int order, int classzone_idx)
|
||||||
* them before going back to sleep.
|
* them before going back to sleep.
|
||||||
*/
|
*/
|
||||||
set_pgdat_percpu_threshold(pgdat, calculate_normal_threshold);
|
set_pgdat_percpu_threshold(pgdat, calculate_normal_threshold);
|
||||||
|
|
||||||
|
if (!kthread_should_stop())
|
||||||
schedule();
|
schedule();
|
||||||
|
|
||||||
set_pgdat_percpu_threshold(pgdat, calculate_pressure_threshold);
|
set_pgdat_percpu_threshold(pgdat, calculate_pressure_threshold);
|
||||||
} else {
|
} else {
|
||||||
if (remaining)
|
if (remaining)
|
||||||
|
|
Loading…
Reference in New Issue