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 tag 'mips_fixes_5.2_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux

Pull MIPS fixes from Paul Burton:

- Declare ginvt() __always_inline due to its use of an argument as an
inline asm immediate.

- A VDSO build fix following Kbuild changes made this cycle.

- A fix for boot failures on txx9 systems following memory
initialization changes made this cycle.

- Bounds check virt_addr_valid() to prevent it spuriously indicating
that bogus addresses are valid, in turn fixing hardened usercopy
failures that have been present since v4.12.

- Build uImage.gz for pistachio systems by default, since this is the
image we need in order to actually boot on a board.

- Remove an unused variable in our uprobes code.

* tag 'mips_fixes_5.2_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
MIPS: uprobes: remove set but not used variable 'epc'
MIPS: pistachio: Build uImage.gz by default
MIPS: Make virt_addr_valid() return bool
MIPS: Bounds check virt_addr_valid
MIPS: TXx9: Fix boot crash in free_initmem()
MIPS: remove a space after -I to cope with header search paths for VDSO
MIPS: mark ginvt() as __always_inline

+10 -13
+1 -1
arch/mips/include/asm/ginvt.h
··· 19 19 # define _ASM_SET_GINV 20 20 #endif 21 21 22 - static inline void ginvt(unsigned long addr, enum ginvt_type type) 22 + static __always_inline void ginvt(unsigned long addr, enum ginvt_type type) 23 23 { 24 24 asm volatile( 25 25 ".set push\n"
+1 -1
arch/mips/include/asm/page.h
··· 249 249 #define virt_to_pfn(kaddr) PFN_DOWN(virt_to_phys((void *)(kaddr))) 250 250 #define virt_to_page(kaddr) pfn_to_page(virt_to_pfn(kaddr)) 251 251 252 - extern int __virt_addr_valid(const volatile void *kaddr); 252 + extern bool __virt_addr_valid(const volatile void *kaddr); 253 253 #define virt_addr_valid(kaddr) \ 254 254 __virt_addr_valid((const volatile void *) (kaddr)) 255 255
-3
arch/mips/kernel/uprobes.c
··· 112 112 */ 113 113 aup->resume_epc = regs->cp0_epc + 4; 114 114 if (insn_has_delay_slot((union mips_instruction) aup->insn[0])) { 115 - unsigned long epc; 116 - 117 - epc = regs->cp0_epc; 118 115 __compute_return_epc_for_insn(regs, 119 116 (union mips_instruction) aup->insn[0]); 120 117 aup->resume_epc = regs->cp0_epc;
+6 -1
arch/mips/mm/mmap.c
··· 201 201 return ret; 202 202 } 203 203 204 - int __virt_addr_valid(const volatile void *kaddr) 204 + bool __virt_addr_valid(const volatile void *kaddr) 205 205 { 206 + unsigned long vaddr = (unsigned long)vaddr; 207 + 208 + if ((vaddr < PAGE_OFFSET) || (vaddr >= MAP_BASE)) 209 + return false; 210 + 206 211 return pfn_valid(PFN_DOWN(virt_to_phys(kaddr))); 207 212 } 208 213 EXPORT_SYMBOL_GPL(__virt_addr_valid);
+1
arch/mips/pistachio/Platform
··· 6 6 -I$(srctree)/arch/mips/include/asm/mach-pistachio 7 7 load-$(CONFIG_MACH_PISTACHIO) += 0xffffffff80400000 8 8 zload-$(CONFIG_MACH_PISTACHIO) += 0xffffffff81000000 9 + all-$(CONFIG_MACH_PISTACHIO) := uImage.gz
+1 -1
arch/mips/pnx833x/Platform
··· 1 1 # NXP STB225 2 2 platform-$(CONFIG_SOC_PNX833X) += pnx833x/ 3 - cflags-$(CONFIG_SOC_PNX833X) += -I $(srctree)/arch/mips/include/asm/mach-pnx833x 3 + cflags-$(CONFIG_SOC_PNX833X) += -I$(srctree)/arch/mips/include/asm/mach-pnx833x 4 4 load-$(CONFIG_NXP_STB220) += 0xffffffff80001000 5 5 load-$(CONFIG_NXP_STB225) += 0xffffffff80001000
-6
arch/mips/txx9/generic/setup.c
··· 33 33 #include <asm/time.h> 34 34 #include <asm/reboot.h> 35 35 #include <asm/r4kcache.h> 36 - #include <asm/sections.h> 37 36 #include <asm/setup.h> 38 37 #include <asm/txx9/generic.h> 39 38 #include <asm/txx9/pci.h> ··· 342 343 343 344 void __init prom_free_prom_memory(void) 344 345 { 345 - unsigned long saddr = PAGE_SIZE; 346 - unsigned long eaddr = __pa_symbol(&_text); 347 - 348 - if (saddr < eaddr) 349 - free_init_pages("prom memory", saddr, eaddr); 350 346 } 351 347 352 348 const char *get_system_type(void)