Re: [PATCH v2 15/19] x86/vdso: Migrate to generic vdso_base

kernel test robot
2020-11-24T02:52:04Z

[-- Attachment #1: Type: text/plain, Size: 2284 bytes --]

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 <lkp@intel.com>

"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/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 37924 bytes --]