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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Feb 22, 2019 at 1:25 PM Vincenzo Frascino
<vincenzo.frascino@xxxxxxx> 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



[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux