Thread (60 messages) 60 messages, 5 authors, 2019-02-28

Re: [PATCH v5 00/23] Unify vDSOs across more architectures

From: Arnd Bergmann <arnd@arndb.de>
Date: 2019-02-28 11:40:52
Also in: linux-arch

On Fri, Feb 22, 2019 at 1:25 PM Vincenzo Frascino
[off-list ref] wrote:
vDSO (virtual dynamic shared object) is a mechanism that the Linux
kernel provides as an alternative to system calls to reduce where
possible the costs in terms of cycles.
This is possible because certain syscalls like gettimeofday() do
not write any data and return one or more values that are stored
in the kernel, which makes relatively safe calling them directly
as a library function.
I tried applying the series on top of v5.0-rc7, and got a set of
build warnings with arm64 defconfig:

In file included from /git/arm-soc/arch/arm64/include/asm/thread_info.h:30:0,
                 from /git/arm-soc/include/linux/thread_info.h:38,
                 from /git/arm-soc/arch/arm64/include/asm/preempt.h:5,
                 from /git/arm-soc/include/linux/preempt.h:78,
                 from /git/arm-soc/include/linux/spinlock.h:51,
                 from /git/arm-soc/include/linux/seqlock.h:36,
                 from /git/arm-soc/include/linux/time.h:6,
                 from /git/arm-soc/lib/vdso/gettimeofday.c:7,
                 from <command-line>:0:
/git/arm-soc/arch/arm64/include/asm/memory.h: In function ‘kaslr_offset’:
/git/arm-soc/arch/arm64/include/asm/memory.h:191:2: warning: left
shift count >= width of type [enabled by default]
  return kimage_vaddr - KIMAGE_VADDR;
  ^
/git/arm-soc/arch/arm64/include/asm/memory.h: In function ‘virt_to_phys’:
/git/arm-soc/arch/arm64/include/asm/memory.h:283:2: warning: left
shift count >= width of type [enabled by default]
  return __virt_to_phys((unsigned long)(x));
  ^
/git/arm-soc/arch/arm64/include/asm/memory.h:283:2: warning: left
shift count >= width of type [enabled by default]
/git/arm-soc/arch/arm64/include/asm/memory.h: In function ‘phys_to_virt’:
/git/arm-soc/arch/arm64/include/asm/memory.h:289:2: warning: left
shift count >= width of type [enabled by default]
  return (void *)(__phys_to_virt(x));
  ^
In file included from /git/arm-soc/arch/arm64/include/asm/pgtable-hwdef.h:19:0,
                 from /git/arm-soc/arch/arm64/include/asm/processor.h:46,
                 from /git/arm-soc/arch/arm64/include/asm/elf.h:129,
                 from /git/arm-soc/include/linux/elf.h:5,
                 from /git/arm-soc/include/linux/elfnote.h:62,
                 from /git/arm-soc/arch/arm64/kernel/vdso32/note.c:11:
/git/arm-soc/arch/arm64/include/asm/memory.h: In function ‘kaslr_offset’:
/git/arm-soc/arch/arm64/include/asm/memory.h:191:2: warning: left
shift count >= width of type [enabled by default]
  return kimage_vaddr - KIMAGE_VADDR;
  ^
/git/arm-soc/arch/arm64/include/asm/memory.h: In function ‘virt_to_phys’:
/git/arm-soc/arch/arm64/include/asm/memory.h:283:2: warning: left
shift count >= width of type [enabled by default]
  return __virt_to_phys((unsigned long)(x));
  ^
/git/arm-soc/arch/arm64/include/asm/memory.h:283:2: warning: left
shift count >= width of type [enabled by default]
/git/arm-soc/arch/arm64/include/asm/memory.h: In function ‘phys_to_virt’:
/git/arm-soc/arch/arm64/include/asm/memory.h:289:2: warning: left
shift count >= width of type [enabled by default]
  return (void *)(__phys_to_virt(x));
  ^

I think this is all harmless, but we need to limit the set of header files
that can be included indirectly when compiling the vdso in arm32 mode.

       Arnd

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help