Hi Dmitry,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on 62918e6fd7b5751c1285c7f8c6cbd27eb6600c02]

url:    
https://github.com/0day-ci/linux/commits/Dmitry-Safonov/Add-generic-vdso_base-tracking/20201124-083732
base:    62918e6fd7b5751c1285c7f8c6cbd27eb6600c02
config: i386-randconfig-s001-20201123 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.3-134-gb59dbdaf-dirty
        # 
https://github.com/0day-ci/linux/commit/bef228ec5535f5941e842ca57e7bd54d23427cde
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Dmitry-Safonov/Add-generic-vdso_base-tracking/20201124-083732
        git checkout bef228ec5535f5941e842ca57e7bd54d23427cde
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


"sparse warnings: (new ones prefixed by >>)"
>> arch/x86/entry/vdso/extable.c:28:36: sparse: sparse: incompatible types in 
>> comparison expression (different address spaces):
>> arch/x86/entry/vdso/extable.c:28:36: sparse:    void [noderef] __user *
>> arch/x86/entry/vdso/extable.c:28:36: sparse:    void *

vim +28 arch/x86/entry/vdso/extable.c

    11  
    12  bool fixup_vdso_exception(struct pt_regs *regs, int trapnr,
    13                            unsigned long error_code, unsigned long 
fault_addr)
    14  {
    15          const struct vdso_image *image = 
current->mm->context.vdso_image;
    16          const struct vdso_exception_table_entry *extable;
    17          unsigned int nr_entries, i;
    18          unsigned long base;
    19  
    20          /*
    21           * Do not attempt to fixup #DB or #BP.  It's impossible to 
identify
    22           * whether or not a #DB/#BP originated from within an SGX 
enclave and
    23           * SGX enclaves are currently the only use case for vDSO fixup.
    24           */
    25          if (trapnr == X86_TRAP_DB || trapnr == X86_TRAP_BP)
    26                  return false;
    27  
  > 28          if (current->mm->vdso_base == (void *)UNMAPPED_VDSO_BASE)

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

Reply via email to