1. 19 Apr, 2024 1 commit
    • Ashutosh Dixit's avatar
      drm/i915/hwmon: Get rid of devm · 5bc9de06
      Ashutosh Dixit authored
      When both hwmon and hwmon drvdata (on which hwmon depends) are device
      managed resources, the expectation, on device unbind, is that hwmon will be
      released before drvdata. However, in i915 there are two separate code
      paths, which both release either drvdata or hwmon and either can be
      released before the other. These code paths (for device unbind) are as
      follows (see also the bug referenced below):
      
      Call Trace:
      release_nodes+0x11/0x70
      devres_release_group+0xb2/0x110
      component_unbind_all+0x8d/0xa0
      component_del+0xa5/0x140
      intel_pxp_tee_component_fini+0x29/0x40 [i915]
      intel_pxp_fini+0x33/0x80 [i915]
      i915_driver_remove+0x4c/0x120 [i915]
      i915_pci_remove+0x19/0x30 [i915]
      pci_device_remove+0x32/0xa0
      device_release_driver_internal+0x19c/0x200
      unbind_store+0x9c/0xb0
      
      and
      
      Call Trace:
      release_nodes+0x11/0x70
      devres_release_all+0x8a/0xc0
      device_unbind_cleanup+0x9/0x70
      device_release_driver_internal+0x1c1/0x200
      unbind_store+0x9c/0xb0
      
      This means that in i915, if use devm, we cannot gurantee that hwmon will
      always be released before drvdata. Which means that we have a uaf if hwmon
      sysfs is accessed when drvdata has been released but hwmon hasn't.
      
      The only way out of this seems to be do get rid of devm_ and release/free
      everything explicitly during device unbind.
      
      v2: Change commit message and other minor code changes
      v3: Cleanup from i915_hwmon_register on error (Armin Wolf)
      v4: Eliminate potential static analyzer warning (Rodrigo)
          Eliminate fetch_and_zero (Jani)
      v5: Restore previous logic for ddat_gt->hwmon_dev error return (Andi)
      
      Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/10366Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: default avatarAshutosh Dixit <ashutosh.dixit@intel.com>
      Reviewed-by: default avatarAndi Shyti <andi.shyti@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20240417145646.793223-1-ashutosh.dixit@intel.com
      5bc9de06
  2. 18 Apr, 2024 18 commits
  3. 17 Apr, 2024 6 commits
  4. 16 Apr, 2024 9 commits
  5. 15 Apr, 2024 1 commit
  6. 12 Apr, 2024 5 commits