- Fix UAF on rebind worker

- Fix ADL-N display integration
 -----BEGIN PGP SIGNATURE-----
 
 iQJNBAABCAA3FiEE6rM8lpABPHM5FqyDm6KlpjDL6lMFAmYzwBsZHGx1Y2FzLmRl
 bWFyY2hpQGludGVsLmNvbQAKCRCboqWmMMvqU1CtD/wN0VN/El51lYS/SZb0/PXA
 k1Ll+gVueVbiP2VdPq1e36B7PDZQXRCMPBCckTO5274fcaWdKF2/zHAEaMRoxn1n
 W3s00Tw36By6grD4fVQP5xBXiGOi1z7t80CHYblzK2lum3pEzWhwlvPtg1u8Y2p/
 /3O+kKh4BXNTBgqrc8aMnbB1Ph6Ze/FmqjjRGlr/laaJQ3y76YwDD1gWj6xs5ADE
 HjA0tNB4AtSSQ0HosKcyeIYI+43FYf2AJBIPx0iflD/NLsujkhzFjRHHa5L97Lqb
 QUTRaP63GE1Ub0rtMUAMqpBQS/6u8hFmDAOXYLUj8hqjXZqnCr0kX+MEbA++A5QT
 XDnM2F4EMhHIEZuoVdG4OyWT6U0WjGTkl+RADqoejKsHoGIcTg/UHsr48iE1dClv
 K8D0bfjYiNMA7Gvw91z6SAanBc5fsE4vZ79i/2/P85WzhBEx9AWD5e8uz1i4yUI3
 dteX/mHHW9+9fxkqSDeZm2ewzkiy1adzAy2zb/N8ARo7tldjB4BufRlR4a+HYCPP
 s2d+XWD7ia84ucQJlbkKhdRms252O5hsaXLJKe8aEr2pCfPYeZYPVsMghw7txXVQ
 FTGHfMo0AIZREdZ4r0z6gucI8B+Kr3mCT315f5PX09ubBmoBQMG9njcb7yPqD/nK
 skZ8MMPmd2ywoumBqbA32Q==
 =1BBP
 -----END PGP SIGNATURE-----

Merge tag 'drm-xe-fixes-2024-05-02' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-fixes

- Fix UAF on rebind worker
- Fix ADL-N display integration

Signed-off-by: Dave Airlie <airlied@redhat.com>

From: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/6bontwst3mbxozs6u3ad5n3g5zmaucrngbfwv4hkfhpscnwlym@wlwjgjx6pwue
This commit is contained in:
Dave Airlie 2024-05-03 11:04:52 +10:00
commit 5c75d68132
2 changed files with 5 additions and 1 deletions

View File

@ -84,7 +84,8 @@ static inline struct drm_i915_private *kdev_to_i915(struct device *kdev)
#define IS_ROCKETLAKE(dev_priv) IS_PLATFORM(dev_priv, XE_ROCKETLAKE)
#define IS_DG1(dev_priv) IS_PLATFORM(dev_priv, XE_DG1)
#define IS_ALDERLAKE_S(dev_priv) IS_PLATFORM(dev_priv, XE_ALDERLAKE_S)
#define IS_ALDERLAKE_P(dev_priv) IS_PLATFORM(dev_priv, XE_ALDERLAKE_P)
#define IS_ALDERLAKE_P(dev_priv) (IS_PLATFORM(dev_priv, XE_ALDERLAKE_P) || \
IS_PLATFORM(dev_priv, XE_ALDERLAKE_N))
#define IS_XEHPSDV(dev_priv) (dev_priv && 0)
#define IS_DG2(dev_priv) IS_PLATFORM(dev_priv, XE_DG2)
#define IS_PONTEVECCHIO(dev_priv) IS_PLATFORM(dev_priv, XE_PVC)

View File

@ -1606,6 +1606,9 @@ static void vm_destroy_work_func(struct work_struct *w)
/* xe_vm_close_and_put was not called? */
xe_assert(xe, !vm->size);
if (xe_vm_in_preempt_fence_mode(vm))
flush_work(&vm->preempt.rebind_work);
mutex_destroy(&vm->snap_mutex);
if (!(vm->flags & XE_VM_FLAG_MIGRATION))