CC: [email protected]
TO: Maarten Lankhorst <[email protected]>
CC: "Thomas Hellström" <[email protected]>

tree:   git://people.freedesktop.org/~thomash/linux thellstrom/locking-rework
head:   ab40727c3ac11d71edeb62fd40c1a92ec77d7467
commit: 7a3b755cf2c7d3c1a00c484c0fb4d4d4d7b796b8 [22/63] drm/i915: Pass ww ctx 
to intel_pin_to_display_plane
:::::: branch date: 21 hours ago
:::::: commit date: 21 hours ago
config: x86_64-randconfig-m001-20201026 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

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

New smatch warnings:
drivers/gpu/drm/i915/gem/selftests/i915_gem_phys.c:57 mock_phys_object() error: 
double unlocked '*obj->base.resv' (orig line 36)
drivers/gpu/drm/i915/display/intel_display.c:2355 intel_pin_and_fence_fb_obj() 
error: uninitialized symbol 'vma'.

Old smatch warnings:
drivers/gpu/drm/i915/gem/i915_gem_object.h:139 __i915_gem_object_lock() error: 
we previously assumed 'ww' could be null (see line 131)
drivers/gpu/drm/i915/gem/i915_gem_object.h:139 __i915_gem_object_lock() error: 
we previously assumed 'ww' could be null (see line 131)
drivers/gpu/drm/i915/display/intel_display.c:6273 skl_update_scaler_plane() 
error: we previously assumed 'fb' could be null (see line 6257)

vim +57 drivers/gpu/drm/i915/gem/selftests/i915_gem_phys.c

f033428db28bdff Chris Wilson      2019-05-28  10  
f033428db28bdff Chris Wilson      2019-05-28  11  static int 
mock_phys_object(void *arg)
f033428db28bdff Chris Wilson      2019-05-28  12  {
f033428db28bdff Chris Wilson      2019-05-28  13        struct drm_i915_private 
*i915 = arg;
f033428db28bdff Chris Wilson      2019-05-28  14        struct 
drm_i915_gem_object *obj;
f033428db28bdff Chris Wilson      2019-05-28  15        int err;
f033428db28bdff Chris Wilson      2019-05-28  16  
f033428db28bdff Chris Wilson      2019-05-28  17        /* Create an object and 
bind it to a contiguous set of physical pages,
f033428db28bdff Chris Wilson      2019-05-28  18         * i.e. exercise the 
i915_gem_object_phys API.
f033428db28bdff Chris Wilson      2019-05-28  19         */
f033428db28bdff Chris Wilson      2019-05-28  20  
f033428db28bdff Chris Wilson      2019-05-28  21        obj = 
i915_gem_object_create_shmem(i915, PAGE_SIZE);
f033428db28bdff Chris Wilson      2019-05-28  22        if (IS_ERR(obj)) {
f033428db28bdff Chris Wilson      2019-05-28  23                err = 
PTR_ERR(obj);
f033428db28bdff Chris Wilson      2019-05-28  24                
pr_err("i915_gem_object_create failed, err=%d\n", err);
f033428db28bdff Chris Wilson      2019-05-28  25                goto out;
f033428db28bdff Chris Wilson      2019-05-28  26        }
f033428db28bdff Chris Wilson      2019-05-28  27  
4e683075529d60d Maarten Lankhorst 2020-09-11  28        if 
(!i915_gem_object_has_struct_page(obj)) {
4e683075529d60d Maarten Lankhorst 2020-09-11  29                err = -EINVAL;
4e683075529d60d Maarten Lankhorst 2020-09-11  30                pr_err("shmem 
has no struct page\n");
4e683075529d60d Maarten Lankhorst 2020-09-11  31                goto out_obj;
4e683075529d60d Maarten Lankhorst 2020-09-11  32        }
4e683075529d60d Maarten Lankhorst 2020-09-11  33  
7a3b755cf2c7d3c Maarten Lankhorst 2020-09-02  34        
i915_gem_object_lock(obj, NULL);
f033428db28bdff Chris Wilson      2019-05-28  35        err = 
i915_gem_object_attach_phys(obj, PAGE_SIZE);
7a3b755cf2c7d3c Maarten Lankhorst 2020-09-02 @36        
i915_gem_object_unlock(obj);
f033428db28bdff Chris Wilson      2019-05-28  37        if (err) {
f033428db28bdff Chris Wilson      2019-05-28  38                
pr_err("i915_gem_object_attach_phys failed, err=%d\n", err);
f033428db28bdff Chris Wilson      2019-05-28  39                goto out_obj;
f033428db28bdff Chris Wilson      2019-05-28  40        }
f033428db28bdff Chris Wilson      2019-05-28  41  
4e683075529d60d Maarten Lankhorst 2020-09-11  42        if 
(i915_gem_object_has_struct_page(obj)) {
f033428db28bdff Chris Wilson      2019-05-28  43                
pr_err("i915_gem_object_attach_phys did not create a phys object\n");
f033428db28bdff Chris Wilson      2019-05-28  44                err = -EINVAL;
f033428db28bdff Chris Wilson      2019-05-28  45                goto out_obj;
f033428db28bdff Chris Wilson      2019-05-28  46        }
f033428db28bdff Chris Wilson      2019-05-28  47  
f033428db28bdff Chris Wilson      2019-05-28  48        if 
(!atomic_read(&obj->mm.pages_pin_count)) {
f033428db28bdff Chris Wilson      2019-05-28  49                
pr_err("i915_gem_object_attach_phys did not pin its phys pages\n");
f033428db28bdff Chris Wilson      2019-05-28  50                err = -EINVAL;
f033428db28bdff Chris Wilson      2019-05-28  51                goto out_obj;
f033428db28bdff Chris Wilson      2019-05-28  52        }
f033428db28bdff Chris Wilson      2019-05-28  53  
f033428db28bdff Chris Wilson      2019-05-28  54        /* Make the object 
dirty so that put_pages must do copy back the data */
80f0b679d6f0683 Maarten Lankhorst 2020-08-19  55        
i915_gem_object_lock(obj, NULL);
f033428db28bdff Chris Wilson      2019-05-28  56        err = 
i915_gem_object_set_to_gtt_domain(obj, true);
6951e5893b4821f Chris Wilson      2019-05-28 @57        
i915_gem_object_unlock(obj);
f033428db28bdff Chris Wilson      2019-05-28  58        if (err) {
f033428db28bdff Chris Wilson      2019-05-28  59                
pr_err("i915_gem_object_set_to_gtt_domain failed with err=%d\n",
f033428db28bdff Chris Wilson      2019-05-28  60                       err);
f033428db28bdff Chris Wilson      2019-05-28  61                goto out_obj;
f033428db28bdff Chris Wilson      2019-05-28  62        }
f033428db28bdff Chris Wilson      2019-05-28  63  
f033428db28bdff Chris Wilson      2019-05-28  64  out_obj:
f033428db28bdff Chris Wilson      2019-05-28  65        
i915_gem_object_put(obj);
f033428db28bdff Chris Wilson      2019-05-28  66  out:
f033428db28bdff Chris Wilson      2019-05-28  67        return err;
f033428db28bdff Chris Wilson      2019-05-28  68  }
f033428db28bdff Chris Wilson      2019-05-28  69  

:::::: The code at line 57 was first introduced by commit
:::::: 6951e5893b4821f68a48022842f67c3033ca7b30 drm/i915: Move GEM object 
domain management from struct_mutex to local

:::::: TO: Chris Wilson <[email protected]>
:::::: CC: Chris Wilson <[email protected]>

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

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to