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 'riscv-for-linus-6.1-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux

Pull RISC-V fixes from Palmer Dabbelt:

- A fix to add the missing PWM LEDs into the SiFive HiFive Unleashed
device tree.

- A fix to fully clear a task's registers on creation, as they end up
in userspace and thus leak kernel memory.

- A pair of VDSO-related build fixes that manifest on recent LLVM-based
toolchains.

- A fix to our early init to ensure the DT is adequately processed
before reserved memory nodes are processed.

* tag 'riscv-for-linus-6.1-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
RISC-V: vdso: Do not add missing symbols to version section in linker script
riscv: fix reserved memory setup
riscv: vdso: fix build with llvm
riscv: process: fix kernel info leakage
riscv: dts: sifive unleashed: Add PWM controlled LEDs

+47 -2
+38
arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts
··· 3 3 4 4 #include "fu540-c000.dtsi" 5 5 #include <dt-bindings/gpio/gpio.h> 6 + #include <dt-bindings/leds/common.h> 7 + #include <dt-bindings/pwm/pwm.h> 6 8 7 9 /* Clock frequency (in Hz) of the PCB crystal for rtcclk */ 8 10 #define RTCCLK_FREQ 1000000 ··· 43 41 gpio-restart { 44 42 compatible = "gpio-restart"; 45 43 gpios = <&gpio 10 GPIO_ACTIVE_LOW>; 44 + }; 45 + 46 + led-controller { 47 + compatible = "pwm-leds"; 48 + 49 + led-d1 { 50 + pwms = <&pwm0 0 7812500 PWM_POLARITY_INVERTED>; 51 + active-low; 52 + color = <LED_COLOR_ID_GREEN>; 53 + max-brightness = <255>; 54 + label = "d1"; 55 + }; 56 + 57 + led-d2 { 58 + pwms = <&pwm0 1 7812500 PWM_POLARITY_INVERTED>; 59 + active-low; 60 + color = <LED_COLOR_ID_GREEN>; 61 + max-brightness = <255>; 62 + label = "d2"; 63 + }; 64 + 65 + led-d3 { 66 + pwms = <&pwm0 2 7812500 PWM_POLARITY_INVERTED>; 67 + active-low; 68 + color = <LED_COLOR_ID_GREEN>; 69 + max-brightness = <255>; 70 + label = "d3"; 71 + }; 72 + 73 + led-d4 { 74 + pwms = <&pwm0 3 7812500 PWM_POLARITY_INVERTED>; 75 + active-low; 76 + color = <LED_COLOR_ID_GREEN>; 77 + max-brightness = <255>; 78 + label = "d4"; 79 + }; 46 80 }; 47 81 }; 48 82
+2
arch/riscv/kernel/process.c
··· 164 164 unsigned long tls = args->tls; 165 165 struct pt_regs *childregs = task_pt_regs(p); 166 166 167 + memset(&p->thread.s, 0, sizeof(p->thread.s)); 168 + 167 169 /* p->thread holds context to be restored by __switch_to() */ 168 170 if (unlikely(args->fn)) { 169 171 /* Kernel thread */
+1
arch/riscv/kernel/setup.c
··· 283 283 else 284 284 pr_err("No DTB found in kernel mappings\n"); 285 285 #endif 286 + early_init_fdt_scan_reserved_mem(); 286 287 misc_mem_init(); 287 288 288 289 init_resources();
+4 -1
arch/riscv/kernel/vdso/Makefile
··· 28 28 29 29 obj-y += vdso.o 30 30 CPPFLAGS_vdso.lds += -P -C -U$(ARCH) 31 + ifneq ($(filter vgettimeofday, $(vdso-syms)),) 32 + CPPFLAGS_vdso.lds += -DHAS_VGETTIMEOFDAY 33 + endif 31 34 32 35 # Disable -pg to prevent insert call site 33 - CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE) -Os 36 + CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE) 34 37 35 38 # Disable profiling and instrumentation for VDSO code 36 39 GCOV_PROFILE := n
+2
arch/riscv/kernel/vdso/vdso.lds.S
··· 68 68 LINUX_4.15 { 69 69 global: 70 70 __vdso_rt_sigreturn; 71 + #ifdef HAS_VGETTIMEOFDAY 71 72 __vdso_gettimeofday; 72 73 __vdso_clock_gettime; 73 74 __vdso_clock_getres; 75 + #endif 74 76 __vdso_getcpu; 75 77 __vdso_flush_icache; 76 78 local: *;
-1
arch/riscv/mm/init.c
··· 262 262 memblock_reserve(dtb_early_pa, fdt_totalsize(dtb_early_va)); 263 263 } 264 264 265 - early_init_fdt_scan_reserved_mem(); 266 265 dma_contiguous_reserve(dma32_phys_limit); 267 266 if (IS_ENABLED(CONFIG_64BIT)) 268 267 hugetlb_cma_reserve(PUD_SHIFT - PAGE_SHIFT);