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:
"Another few small ARM fixes, mostly addressing some VDSO issues"

* 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
ARM: 8410/1: VDSO: fix coarse clock monotonicity regression
ARM: 8409/1: Mark ret_fast_syscall as a function
ARM: 8408/1: Fix the secondary_startup function in Big Endian case
ARM: 8405/1: VDSO: fix regression with toolchains lacking ld.bfd executable

+8 -5
+1
arch/arm/kernel/entry-common.S
··· 61 61 movlt scno, #(__NR_restart_syscall - __NR_SYSCALL_BASE) 62 62 ldmia sp, {r0 - r6} @ have to reload r0 - r6 63 63 b local_restart @ ... and off we go 64 + ENDPROC(ret_fast_syscall) 64 65 65 66 /* 66 67 * "slow" syscall return path. "why" tells us if this was a real syscall.
+3
arch/arm/kernel/head.S
··· 399 399 sub lr, r4, r5 @ mmu has been enabled 400 400 add r3, r7, lr 401 401 ldrd r4, [r3, #0] @ get secondary_data.pgdir 402 + ARM_BE8(eor r4, r4, r5) @ Swap r5 and r4 in BE: 403 + ARM_BE8(eor r5, r4, r5) @ it can be done in 3 steps 404 + ARM_BE8(eor r4, r4, r5) @ without using a temp reg. 402 405 ldr r8, [r3, #8] @ get secondary_data.swapper_pg_dir 403 406 badr lr, __enable_mmu @ return address 404 407 mov r13, r12 @ __secondary_switched address
+3 -4
arch/arm/kernel/vdso.c
··· 296 296 */ 297 297 void update_vsyscall(struct timekeeper *tk) 298 298 { 299 - struct timespec xtime_coarse; 300 299 struct timespec64 *wtm = &tk->wall_to_monotonic; 301 300 302 301 if (!cntvct_ok) { ··· 307 308 308 309 vdso_write_begin(vdso_data); 309 310 310 - xtime_coarse = __current_kernel_time(); 311 311 vdso_data->tk_is_cntvct = tk_is_cntvct(tk); 312 - vdso_data->xtime_coarse_sec = xtime_coarse.tv_sec; 313 - vdso_data->xtime_coarse_nsec = xtime_coarse.tv_nsec; 312 + vdso_data->xtime_coarse_sec = tk->xtime_sec; 313 + vdso_data->xtime_coarse_nsec = (u32)(tk->tkr_mono.xtime_nsec >> 314 + tk->tkr_mono.shift); 314 315 vdso_data->wtm_clock_sec = wtm->tv_sec; 315 316 vdso_data->wtm_clock_nsec = wtm->tv_nsec; 316 317
+1 -1
arch/arm/vdso/Makefile
··· 14 14 VDSO_LDFLAGS += -nostdlib -shared 15 15 VDSO_LDFLAGS += $(call cc-ldoption, -Wl$(comma)--hash-style=sysv) 16 16 VDSO_LDFLAGS += $(call cc-ldoption, -Wl$(comma)--build-id) 17 - VDSO_LDFLAGS += $(call cc-option, -fuse-ld=bfd) 17 + VDSO_LDFLAGS += $(call cc-ldoption, -fuse-ld=bfd) 18 18 19 19 obj-$(CONFIG_VDSO) += vdso.o 20 20 extra-$(CONFIG_VDSO) += vdso.lds