forked from luck/tmp_suning_uos_patched
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
|
||||
|
||||
suffix_$(CONFIG_KERNEL_GZIP) = gz
|
||||
suffix_$(CONFIG_KERNEL_BZIP2) = bz2
|
||||
suffix_$(CONFIG_KERNEL_LZMA) = lzma
|
||||
suffix-$(CONFIG_KERNEL_GZIP) = gz
|
||||
suffix-$(CONFIG_KERNEL_BZIP2) = bz2
|
||||
suffix-$(CONFIG_KERNEL_LZMA) = lzma
|
||||
|
||||
$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix-y) FORCE
|
||||
$(call if_changed,ld)
|
||||
|
|
|
@ -28,7 +28,7 @@ static unsigned long free_mem_ptr;
|
|||
static unsigned long free_mem_end_ptr;
|
||||
|
||||
#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;
|
||||
|
||||
|
@ -39,6 +39,16 @@ static void *memset(void *s, int c, size_t n)
|
|||
#endif
|
||||
|
||||
#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
|
||||
#include "../../../../lib/decompress_inflate.c"
|
||||
#endif
|
||||
|
|
|
@ -113,9 +113,6 @@ struct pt_regs {
|
|||
|
||||
#define PTRACE_OLDSETOPTIONS 21
|
||||
|
||||
/* options set using PTRACE_SETOPTIONS */
|
||||
#define PTRACE_O_TRACESYSGOOD 0x00000001
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#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)
|
||||
!= sizeof(insn))
|
||||
return -EIO;
|
||||
return;
|
||||
|
||||
compute_next_pc(insn, pc, &next_pc, child);
|
||||
if (next_pc & 0x80000000)
|
||||
return -EIO;
|
||||
return;
|
||||
|
||||
if (embed_debug_trap(child, next_pc))
|
||||
return -EIO;
|
||||
return;
|
||||
|
||||
invalidate_cache();
|
||||
return 0;
|
||||
}
|
||||
|
||||
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:
|
||||
regs->r0 = regs->orig_r0;
|
||||
if (prev_insn(regs) < 0)
|
||||
return -EFAULT;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -459,10 +459,11 @@ static int handle_signal(int sig,
|
|||
else
|
||||
ret = setup_frame(sig, ka, oldset, regs);
|
||||
if (ret)
|
||||
return;
|
||||
return ret;
|
||||
|
||||
signal_delivered(sig, info, ka, regs,
|
||||
test_thread_flag(TIF_SINGLESTEP));
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -710,6 +710,10 @@ void * __init ___alloc_bootmem_node_nopanic(pg_data_t *pgdat,
|
|||
if (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);
|
||||
if (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.
|
||||
*/
|
||||
set_pgdat_percpu_threshold(pgdat, calculate_normal_threshold);
|
||||
|
||||
if (!kthread_should_stop())
|
||||
schedule();
|
||||
|
||||
set_pgdat_percpu_threshold(pgdat, calculate_pressure_threshold);
|
||||
} else {
|
||||
if (remaining)
|
||||
|
|
Loading…
Reference in New Issue
Block a user