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

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

 



Hi Arnd,

thank you for testing my code.

On 28/02/2019 11:40, Arnd Bergmann wrote:
> 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.
> 

I agree with you on the principle, but I am unable to replicate the warnings.
Did you make any customization to the default defconfig? What is the top
commit-id you have on your tree?

>        Arnd
> 

-- 
Regards,
Vincenzo



[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