[bcain:bcain/qemu_boot 33/87] drivers/comedi/comedi_fops.c:2577:8: error: use of undeclared identifier 'PAGE_SHARED'
kernel test robot <[email protected]>
| Newsgroups | dev.linux.lists.oe-kbuild-all,dev.linux.lists.llvm |
|---|---|
| Message-ID | <[email protected]> |
Hi Brian, FYI, the error/warning still remains. tree: https://git.kernel.org/pub/scm/linux/kernel/git/bcain/linux.git bcain/qemu_boot head: 844bcfb5bee7bf0e713f61307dc2a4e16963c2f9 commit: 3c3a466cd42667b9df6f61b817cbd403056008a0 [33/87] hexagon: fix page table model for hexagon VM config: hexagon-randconfig-001-20260824 (https://download.01.org/0day-ci/archive/20260824/[email protected]/config) compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260824/[email protected]/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <[email protected]> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ All errors (new ones prefixed by >>): >> drivers/comedi/comedi_fops.c:2577:8: error: use of undeclared identifier 'PAGE_SHARED' 2577 | PAGE_SHARED); | ^ 1 error generated. -- >> drivers/video/fbdev/smscufx.c:802:52: error: use of undeclared identifier 'PAGE_SHARED' 802 | if (remap_pfn_range(vma, start, page, PAGE_SIZE, PAGE_SHARED)) | ^ 1 error generated. vim +/PAGE_SHARED +2577 drivers/comedi/comedi_fops.c ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2479 ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2480 static int comedi_mmap(struct file *file, struct vm_area_struct *vma) ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2481 { 20f083c07565cb7 drivers/staging/comedi/comedi_fops.c Ian Abbott 2014-11-04 2482 struct comedi_file *cfp = file->private_data; 20f083c07565cb7 drivers/staging/comedi/comedi_fops.c Ian Abbott 2014-11-04 2483 struct comedi_device *dev = cfp->dev; a52840a98bbb50a drivers/staging/comedi/comedi_fops.c H Hartley Sweeten 2012-12-19 2484 struct comedi_subdevice *s; a52840a98bbb50a drivers/staging/comedi/comedi_fops.c H Hartley Sweeten 2012-12-19 2485 struct comedi_async *async; b34aa86f12e8848 drivers/staging/comedi/comedi_fops.c Ian Abbott 2014-04-10 2486 struct comedi_buf_map *bm = NULL; e36472145aa706c drivers/staging/comedi/comedi_fops.c Ian Abbott 2019-06-25 2487 struct comedi_buf_page *buf; ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2488 unsigned long start = vma->vm_start; ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2489 unsigned long size; ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2490 int n_pages; ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2491 int i; e36472145aa706c drivers/staging/comedi/comedi_fops.c Ian Abbott 2019-06-25 2492 int retval = 0; 3ffab428f40849e drivers/staging/comedi/comedi_fops.c Bernd Porr 2011-11-08 2493 b34aa86f12e8848 drivers/staging/comedi/comedi_fops.c Ian Abbott 2014-04-10 2494 /* c1e8d7c6a7a682e drivers/staging/comedi/comedi_fops.c Michel Lespinasse 2020-06-08 2495 * 'trylock' avoids circular dependency with current->mm->mmap_lock b34aa86f12e8848 drivers/staging/comedi/comedi_fops.c Ian Abbott 2014-04-10 2496 * and down-reading &dev->attach_lock should normally succeed without b34aa86f12e8848 drivers/staging/comedi/comedi_fops.c Ian Abbott 2014-04-10 2497 * contention unless the device is in the process of being attached b34aa86f12e8848 drivers/staging/comedi/comedi_fops.c Ian Abbott 2014-04-10 2498 * or detached. b34aa86f12e8848 drivers/staging/comedi/comedi_fops.c Ian Abbott 2014-04-10 2499 */ b34aa86f12e8848 drivers/staging/comedi/comedi_fops.c Ian Abbott 2014-04-10 2500 if (!down_read_trylock(&dev->attach_lock)) b34aa86f12e8848 drivers/staging/comedi/comedi_fops.c Ian Abbott 2014-04-10 2501 return -EAGAIN; a52840a98bbb50a drivers/staging/comedi/comedi_fops.c H Hartley Sweeten 2012-12-19 2502 ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2503 if (!dev->attached) { 272850f07c47ab1 drivers/staging/comedi/comedi_fops.c H Hartley Sweeten 2013-11-26 2504 dev_dbg(dev->class_dev, "no driver attached\n"); ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2505 retval = -ENODEV; ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2506 goto done; ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2507 } a52840a98bbb50a drivers/staging/comedi/comedi_fops.c H Hartley Sweeten 2012-12-19 2508 476b847733636ce drivers/staging/comedi/comedi_fops.c Greg Kroah-Hartman 2008-11-13 2509 if (vma->vm_flags & VM_WRITE) 20f083c07565cb7 drivers/staging/comedi/comedi_fops.c Ian Abbott 2014-11-04 2510 s = comedi_file_write_subdevice(file); 476b847733636ce drivers/staging/comedi/comedi_fops.c Greg Kroah-Hartman 2008-11-13 2511 else 20f083c07565cb7 drivers/staging/comedi/comedi_fops.c Ian Abbott 2014-11-04 2512 s = comedi_file_read_subdevice(file); a52840a98bbb50a drivers/staging/comedi/comedi_fops.c H Hartley Sweeten 2012-12-19 2513 if (!s) { ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2514 retval = -EINVAL; ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2515 goto done; ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2516 } a52840a98bbb50a drivers/staging/comedi/comedi_fops.c H Hartley Sweeten 2012-12-19 2517 ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2518 async = s->async; a52840a98bbb50a drivers/staging/comedi/comedi_fops.c H Hartley Sweeten 2012-12-19 2519 if (!async) { ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2520 retval = -EINVAL; ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2521 goto done; ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2522 } ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2523 ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2524 if (vma->vm_pgoff != 0) { 272850f07c47ab1 drivers/staging/comedi/comedi_fops.c H Hartley Sweeten 2013-11-26 2525 dev_dbg(dev->class_dev, "mmap() offset must be 0.\n"); ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2526 retval = -EINVAL; ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2527 goto done; ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2528 } ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2529 ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2530 size = vma->vm_end - vma->vm_start; ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2531 if (size > async->prealloc_bufsz) { ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2532 retval = -EFAULT; ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2533 goto done; ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2534 } 44b8c793fc0d630 drivers/staging/comedi/comedi_fops.c Sandhya Bankar 2016-03-06 2535 if (offset_in_page(size)) { ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2536 retval = -EFAULT; ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2537 goto done; ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2538 } ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2539 ec9d0754e0c6401 drivers/staging/comedi/comedi_fops.c sayli karnik 2016-09-20 2540 n_pages = vma_pages(vma); b34aa86f12e8848 drivers/staging/comedi/comedi_fops.c Ian Abbott 2014-04-10 2541 b34aa86f12e8848 drivers/staging/comedi/comedi_fops.c Ian Abbott 2014-04-10 2542 /* get reference to current buf map (if any) */ b34aa86f12e8848 drivers/staging/comedi/comedi_fops.c Ian Abbott 2014-04-10 2543 bm = comedi_buf_map_from_subdev_get(s); af93da31634d6d5 drivers/staging/comedi/comedi_fops.c Ian Abbott 2013-11-08 2544 if (!bm || n_pages > bm->n_pages) { af93da31634d6d5 drivers/staging/comedi/comedi_fops.c Ian Abbott 2013-11-08 2545 retval = -EINVAL; af93da31634d6d5 drivers/staging/comedi/comedi_fops.c Ian Abbott 2013-11-08 2546 goto done; af93da31634d6d5 drivers/staging/comedi/comedi_fops.c Ian Abbott 2013-11-08 2547 } e36472145aa706c drivers/staging/comedi/comedi_fops.c Ian Abbott 2019-06-25 2548 if (bm->dma_dir != DMA_NONE) { fd1575e28a325b9 drivers/comedi/comedi_fops.c Ian Abbott 2025-04-15 2549 unsigned long vm_start = vma->vm_start; fd1575e28a325b9 drivers/comedi/comedi_fops.c Ian Abbott 2025-04-15 2550 unsigned long vm_end = vma->vm_end; fd1575e28a325b9 drivers/comedi/comedi_fops.c Ian Abbott 2025-04-15 2551 e36472145aa706c drivers/staging/comedi/comedi_fops.c Ian Abbott 2019-06-25 2552 /* fd1575e28a325b9 drivers/comedi/comedi_fops.c Ian Abbott 2025-04-15 2553 * Buffer pages are not contiguous, so temporarily modify VMA fd1575e28a325b9 drivers/comedi/comedi_fops.c Ian Abbott 2025-04-15 2554 * start and end addresses for each buffer page. e36472145aa706c drivers/staging/comedi/comedi_fops.c Ian Abbott 2019-06-25 2555 */ fd1575e28a325b9 drivers/comedi/comedi_fops.c Ian Abbott 2025-04-15 2556 for (i = 0; i < n_pages; ++i) { fd1575e28a325b9 drivers/comedi/comedi_fops.c Ian Abbott 2025-04-15 2557 buf = &bm->page_list[i]; fd1575e28a325b9 drivers/comedi/comedi_fops.c Ian Abbott 2025-04-15 2558 vma->vm_start = start; fd1575e28a325b9 drivers/comedi/comedi_fops.c Ian Abbott 2025-04-15 2559 vma->vm_end = start + PAGE_SIZE; fd1575e28a325b9 drivers/comedi/comedi_fops.c Ian Abbott 2025-04-15 2560 retval = dma_mmap_coherent(bm->dma_hw_dev, vma, fd1575e28a325b9 drivers/comedi/comedi_fops.c Ian Abbott 2025-04-15 2561 buf->virt_addr, fd1575e28a325b9 drivers/comedi/comedi_fops.c Ian Abbott 2025-04-15 2562 buf->dma_addr, PAGE_SIZE); fd1575e28a325b9 drivers/comedi/comedi_fops.c Ian Abbott 2025-04-15 2563 if (retval) fd1575e28a325b9 drivers/comedi/comedi_fops.c Ian Abbott 2025-04-15 2564 break; fd1575e28a325b9 drivers/comedi/comedi_fops.c Ian Abbott 2025-04-15 2565 fd1575e28a325b9 drivers/comedi/comedi_fops.c Ian Abbott 2025-04-15 2566 start += PAGE_SIZE; fd1575e28a325b9 drivers/comedi/comedi_fops.c Ian Abbott 2025-04-15 2567 } fd1575e28a325b9 drivers/comedi/comedi_fops.c Ian Abbott 2025-04-15 2568 vma->vm_start = vm_start; fd1575e28a325b9 drivers/comedi/comedi_fops.c Ian Abbott 2025-04-15 2569 vma->vm_end = vm_end; e36472145aa706c drivers/staging/comedi/comedi_fops.c Ian Abbott 2019-06-25 2570 } else { ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2571 for (i = 0; i < n_pages; ++i) { e36472145aa706c drivers/staging/comedi/comedi_fops.c Ian Abbott 2019-06-25 2572 unsigned long pfn; e36472145aa706c drivers/staging/comedi/comedi_fops.c Ian Abbott 2019-06-25 2573 e36472145aa706c drivers/staging/comedi/comedi_fops.c Ian Abbott 2019-06-25 2574 buf = &bm->page_list[i]; e36472145aa706c drivers/staging/comedi/comedi_fops.c Ian Abbott 2019-06-25 2575 pfn = page_to_pfn(virt_to_page(buf->virt_addr)); e36472145aa706c drivers/staging/comedi/comedi_fops.c Ian Abbott 2019-06-25 2576 retval = remap_pfn_range(vma, start, pfn, PAGE_SIZE, e36472145aa706c drivers/staging/comedi/comedi_fops.c Ian Abbott 2019-06-25 @2577 PAGE_SHARED); e36472145aa706c drivers/staging/comedi/comedi_fops.c Ian Abbott 2019-06-25 2578 if (retval) e36472145aa706c drivers/staging/comedi/comedi_fops.c Ian Abbott 2019-06-25 2579 break; a52840a98bbb50a drivers/staging/comedi/comedi_fops.c H Hartley Sweeten 2012-12-19 2580 ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2581 start += PAGE_SIZE; ed9eccbe8970f6e drivers/staging/comedi/comedi_fops.c David Schleef 2008-11-04 2582 } fd1575e28a325b9 drivers/comedi/comedi_fops.c Ian Abbott 2025-04-15 2583 } ce8f9fb651fac95 drivers/comedi/comedi_fops.c Jann Horn 2024-10-17 2584 :::::: The code at line 2577 was first introduced by commit :::::: e36472145aa706c186a6bb4f6419c613b0b1305c staging: comedi: use dma_mmap_coherent for DMA-able buffer mmap :::::: TO: Ian Abbott <[email protected]> :::::: CC: Greg Kroah-Hartman <[email protected]> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki