Re: [Intel-gfx] [PATCH] Remove custom dumb_map_offset implementations in i915 driver

From: kernel test robot
Date: Fri Nov 10 2023 - 15:26:30 EST


Hi Dipam,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-tip/drm-tip]

url: https://github.com/intel-lab-lkp/linux/commits/Dipam-Turkar/Remove-custom-dumb_map_offset-implementations-in-i915-driver/20231110-185942
base: git://anongit.freedesktop.org/drm/drm-tip drm-tip
patch link: https://lore.kernel.org/r/20231110105811.380646-1-dipamt1729%40gmail.com
patch subject: [Intel-gfx] [PATCH] Remove custom dumb_map_offset implementations in i915 driver
config: x86_64-randconfig-012-20231110 (https://download.01.org/0day-ci/archive/20231111/202311110053.K5lNjN1W-lkp@xxxxxxxxx/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231111/202311110053.K5lNjN1W-lkp@xxxxxxxxx/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 <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311110053.K5lNjN1W-lkp@xxxxxxxxx/

All error/warnings (new ones prefixed by >>):

drivers/gpu/drm/i915/gem/i915_gem_mman.c: In function 'i915_gem_mmap_offset_ioctl':
>> drivers/gpu/drm/i915/gem/i915_gem_mman.c:673:16: error: implicit declaration of function '__assign_mmap_offset_handle' [-Werror=implicit-function-declaration]
673 | return __assign_mmap_offset_handle(file, args->handle, type, &args->offset);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/gem/i915_gem_mman.c: In function 'i915_gem_fb_mmap':
>> drivers/gpu/drm/i915/gem/i915_gem_mman.c:896:23: error: implicit declaration of function 'mmap_offset_attach' [-Werror=implicit-function-declaration]
896 | mmo = mmap_offset_attach(obj, mmap_type, NULL);
| ^~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/i915/gem/i915_gem_mman.c:896:21: warning: assignment to 'struct i915_mmap_offset *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
896 | mmo = mmap_offset_attach(obj, mmap_type, NULL);
| ^
cc1: some warnings being treated as errors
--
>> drivers/gpu/drm/i915/i915_driver.c:1826:28: error: 'drm_gem_dumb_mmap_offset' undeclared here (not in a function); did you mean 'drm_gem_dumb_map_offset'?
1826 | .dumb_map_offset = drm_gem_dumb_mmap_offset,
| ^~~~~~~~~~~~~~~~~~~~~~~~
| drm_gem_dumb_map_offset


vim +/__assign_mmap_offset_handle +673 drivers/gpu/drm/i915/gem/i915_gem_mman.c

cc662126b4134e Abdiel Janulgue 2019-12-04 603
b414fcd5be0b00 Chris Wilson 2019-05-28 604 /**
cc662126b4134e Abdiel Janulgue 2019-12-04 605 * i915_gem_mmap_offset_ioctl - prepare an object for GTT mmap'ing
b414fcd5be0b00 Chris Wilson 2019-05-28 606 * @dev: DRM device
b414fcd5be0b00 Chris Wilson 2019-05-28 607 * @data: GTT mapping ioctl data
b414fcd5be0b00 Chris Wilson 2019-05-28 608 * @file: GEM object info
b414fcd5be0b00 Chris Wilson 2019-05-28 609 *
b414fcd5be0b00 Chris Wilson 2019-05-28 610 * Simply returns the fake offset to userspace so it can mmap it.
b414fcd5be0b00 Chris Wilson 2019-05-28 611 * The mmap call will end up in drm_gem_mmap(), which will set things
b414fcd5be0b00 Chris Wilson 2019-05-28 612 * up so we can get faults in the handler above.
b414fcd5be0b00 Chris Wilson 2019-05-28 613 *
b414fcd5be0b00 Chris Wilson 2019-05-28 614 * The fault handler will take care of binding the object into the GTT
b414fcd5be0b00 Chris Wilson 2019-05-28 615 * (since it may have been evicted to make room for something), allocating
b414fcd5be0b00 Chris Wilson 2019-05-28 616 * a fence register, and mapping the appropriate aperture address into
b414fcd5be0b00 Chris Wilson 2019-05-28 617 * userspace.
b414fcd5be0b00 Chris Wilson 2019-05-28 618 */
b414fcd5be0b00 Chris Wilson 2019-05-28 619 int
cc662126b4134e Abdiel Janulgue 2019-12-04 620 i915_gem_mmap_offset_ioctl(struct drm_device *dev, void *data,
b414fcd5be0b00 Chris Wilson 2019-05-28 621 struct drm_file *file)
b414fcd5be0b00 Chris Wilson 2019-05-28 622 {
cc662126b4134e Abdiel Janulgue 2019-12-04 623 struct drm_i915_private *i915 = to_i915(dev);
cc662126b4134e Abdiel Janulgue 2019-12-04 624 struct drm_i915_gem_mmap_offset *args = data;
cc662126b4134e Abdiel Janulgue 2019-12-04 625 enum i915_mmap_type type;
126d5de38542d4 Chris Wilson 2019-12-04 626 int err;
cc662126b4134e Abdiel Janulgue 2019-12-04 627
8d65859a4cbae9 Chris Wilson 2019-12-07 628 /*
8d65859a4cbae9 Chris Wilson 2019-12-07 629 * Historically we failed to check args.pad and args.offset
8d65859a4cbae9 Chris Wilson 2019-12-07 630 * and so we cannot use those fields for user input and we cannot
8d65859a4cbae9 Chris Wilson 2019-12-07 631 * add -EINVAL for them as the ABI is fixed, i.e. old userspace
8d65859a4cbae9 Chris Wilson 2019-12-07 632 * may be feeding in garbage in those fields.
8d65859a4cbae9 Chris Wilson 2019-12-07 633 *
8d65859a4cbae9 Chris Wilson 2019-12-07 634 * if (args->pad) return -EINVAL; is verbotten!
8d65859a4cbae9 Chris Wilson 2019-12-07 635 */
8d65859a4cbae9 Chris Wilson 2019-12-07 636
126d5de38542d4 Chris Wilson 2019-12-04 637 err = i915_user_extensions(u64_to_user_ptr(args->extensions),
126d5de38542d4 Chris Wilson 2019-12-04 638 NULL, 0, NULL);
126d5de38542d4 Chris Wilson 2019-12-04 639 if (err)
126d5de38542d4 Chris Wilson 2019-12-04 640 return err;
cc662126b4134e Abdiel Janulgue 2019-12-04 641
cc662126b4134e Abdiel Janulgue 2019-12-04 642 switch (args->flags) {
cc662126b4134e Abdiel Janulgue 2019-12-04 643 case I915_MMAP_OFFSET_GTT:
5c24c9d227e9bb Michał Winiarski 2021-12-19 644 if (!i915_ggtt_has_aperture(to_gt(i915)->ggtt))
cc662126b4134e Abdiel Janulgue 2019-12-04 645 return -ENODEV;
cc662126b4134e Abdiel Janulgue 2019-12-04 646 type = I915_MMAP_TYPE_GTT;
cc662126b4134e Abdiel Janulgue 2019-12-04 647 break;
cc662126b4134e Abdiel Janulgue 2019-12-04 648
cc662126b4134e Abdiel Janulgue 2019-12-04 649 case I915_MMAP_OFFSET_WC:
bdd8b6c98239ca Lucas De Marchi 2021-12-01 650 if (!pat_enabled())
cc662126b4134e Abdiel Janulgue 2019-12-04 651 return -ENODEV;
cc662126b4134e Abdiel Janulgue 2019-12-04 652 type = I915_MMAP_TYPE_WC;
cc662126b4134e Abdiel Janulgue 2019-12-04 653 break;
cc662126b4134e Abdiel Janulgue 2019-12-04 654
cc662126b4134e Abdiel Janulgue 2019-12-04 655 case I915_MMAP_OFFSET_WB:
cc662126b4134e Abdiel Janulgue 2019-12-04 656 type = I915_MMAP_TYPE_WB;
cc662126b4134e Abdiel Janulgue 2019-12-04 657 break;
cc662126b4134e Abdiel Janulgue 2019-12-04 658
cc662126b4134e Abdiel Janulgue 2019-12-04 659 case I915_MMAP_OFFSET_UC:
bdd8b6c98239ca Lucas De Marchi 2021-12-01 660 if (!pat_enabled())
cc662126b4134e Abdiel Janulgue 2019-12-04 661 return -ENODEV;
cc662126b4134e Abdiel Janulgue 2019-12-04 662 type = I915_MMAP_TYPE_UC;
cc662126b4134e Abdiel Janulgue 2019-12-04 663 break;
cc662126b4134e Abdiel Janulgue 2019-12-04 664
7961c5b60f23df Maarten Lankhorst 2021-07-14 665 case I915_MMAP_OFFSET_FIXED:
7961c5b60f23df Maarten Lankhorst 2021-07-14 666 type = I915_MMAP_TYPE_FIXED;
7961c5b60f23df Maarten Lankhorst 2021-07-14 667 break;
7961c5b60f23df Maarten Lankhorst 2021-07-14 668
cc662126b4134e Abdiel Janulgue 2019-12-04 669 default:
cc662126b4134e Abdiel Janulgue 2019-12-04 670 return -EINVAL;
cc662126b4134e Abdiel Janulgue 2019-12-04 671 }
cc662126b4134e Abdiel Janulgue 2019-12-04 672
cf3e3e86d77970 Maarten Lankhorst 2021-06-10 @673 return __assign_mmap_offset_handle(file, args->handle, type, &args->offset);
cc662126b4134e Abdiel Janulgue 2019-12-04 674 }
cc662126b4134e Abdiel Janulgue 2019-12-04 675

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki