Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm

Pull ARM fixes from Russell King:
"The usual random collection of relatively small ARM fixes"

* 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
ARM: 8063/1: bL_switcher: fix individual online status reporting of removed CPUs
ARM: 8064/1: fix v7-M signal return
ARM: 8057/1: amba: Add Qualcomm vendor ID.
ARM: 8052/1: unwind: Fix handling of "Pop r4-r[4+nnn],r14" opcode
ARM: 8051/1: put_user: fix possible data corruption in put_user
ARM: 8048/1: fix v7-M setup stack location

+20 -8
+7 -3
arch/arm/common/bL_switcher.c
··· 433 433 { 434 434 int i; 435 435 436 - for_each_cpu(i, &bL_switcher_removed_logical_cpus) 437 - cpu_up(i); 436 + for_each_cpu(i, &bL_switcher_removed_logical_cpus) { 437 + struct device *cpu_dev = get_cpu_device(i); 438 + int ret = device_online(cpu_dev); 439 + if (ret) 440 + dev_err(cpu_dev, "switcher: unable to restore CPU\n"); 441 + } 438 442 } 439 443 440 444 static int bL_switcher_halve_cpus(void) ··· 525 521 continue; 526 522 } 527 523 528 - ret = cpu_down(i); 524 + ret = device_offline(get_cpu_device(i)); 529 525 if (ret) { 530 526 bL_switcher_restore_cpus(); 531 527 return ret;
+2 -1
arch/arm/include/asm/uaccess.h
··· 171 171 #define __put_user_check(x,p) \ 172 172 ({ \ 173 173 unsigned long __limit = current_thread_info()->addr_limit - 1; \ 174 + const typeof(*(p)) __user *__tmp_p = (p); \ 174 175 register const typeof(*(p)) __r2 asm("r2") = (x); \ 175 - register const typeof(*(p)) __user *__p asm("r0") = (p);\ 176 + register const typeof(*(p)) __user *__p asm("r0") = __tmp_p; \ 176 177 register unsigned long __l asm("r1") = __limit; \ 177 178 register int __e asm("r0"); \ 178 179 switch (sizeof(*(__p))) { \
+4
arch/arm/kernel/entry-header.S
··· 132 132 orrne r5, V7M_xPSR_FRAMEPTRALIGN 133 133 biceq r5, V7M_xPSR_FRAMEPTRALIGN 134 134 135 + @ ensure bit 0 is cleared in the PC, otherwise behaviour is 136 + @ unpredictable 137 + bic r4, #1 138 + 135 139 @ write basic exception frame 136 140 stmdb r2!, {r1, r3-r5} 137 141 ldmia sp, {r1, r3-r5}
+1 -1
arch/arm/kernel/unwind.c
··· 285 285 if (unwind_pop_register(ctrl, &vsp, reg)) 286 286 return -URC_FAILURE; 287 287 288 - if (insn & 0x80) 288 + if (insn & 0x8) 289 289 if (unwind_pop_register(ctrl, &vsp, 14)) 290 290 return -URC_FAILURE; 291 291
+5 -3
arch/arm/mm/proc-v7m.S
··· 123 123 mov pc, lr 124 124 ENDPROC(__v7m_setup) 125 125 126 + .align 2 127 + __v7m_setup_stack: 128 + .space 4 * 8 @ 8 registers 129 + __v7m_setup_stack_top: 130 + 126 131 define_processor_functions v7m, dabort=nommu_early_abort, pabort=legacy_pabort, nommu=1 127 132 128 133 .section ".rodata" ··· 157 152 .long nop_cache_fns @ proc_info_list.cache 158 153 .size __v7m_proc_info, . - __v7m_proc_info 159 154 160 - __v7m_setup_stack: 161 - .space 4 * 8 @ 8 registers 162 - __v7m_setup_stack_top:
+1
include/linux/amba/bus.h
··· 47 47 enum amba_vendor { 48 48 AMBA_VENDOR_ARM = 0x41, 49 49 AMBA_VENDOR_ST = 0x80, 50 + AMBA_VENDOR_QCOM = 0x51, 50 51 }; 51 52 52 53 extern struct bus_type amba_bustype;