From 0bf9e576f51dcf1c7830cd4495ba0456b8996fbd Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 4 Jul 2023 08:35:53 +0100 Subject: [PATCH] 6.3-stable patches added patches: drm-amd-display-ensure-vmin-and-vmax-adjust-for-dce.patch gup-avoid-stack-expansion-warning-for-known-good-case.patch --- ...-ensure-vmin-and-vmax-adjust-for-dce.patch | 43 ++++++++++++++++++ ...xpansion-warning-for-known-good-case.patch | 45 +++++++++++++++++++ queue-6.3/series | 2 + 3 files changed, 90 insertions(+) create mode 100644 queue-6.3/drm-amd-display-ensure-vmin-and-vmax-adjust-for-dce.patch create mode 100644 queue-6.3/gup-avoid-stack-expansion-warning-for-known-good-case.patch diff --git a/queue-6.3/drm-amd-display-ensure-vmin-and-vmax-adjust-for-dce.patch b/queue-6.3/drm-amd-display-ensure-vmin-and-vmax-adjust-for-dce.patch new file mode 100644 index 00000000000..40494e3e2a8 --- /dev/null +++ b/queue-6.3/drm-amd-display-ensure-vmin-and-vmax-adjust-for-dce.patch @@ -0,0 +1,43 @@ +From 2820433be2a33beb44b13b367e155cf221f29610 Mon Sep 17 00:00:00 2001 +From: Rodrigo Siqueira +Date: Fri, 24 Feb 2023 11:35:43 -0700 +Subject: drm/amd/display: Ensure vmin and vmax adjust for DCE + +From: Rodrigo Siqueira + +commit 2820433be2a33beb44b13b367e155cf221f29610 upstream. + +[Why & How] +In the commit 32953485c558 ("drm/amd/display: Do not update DRR while +BW optimizations pending"), a modification was added to avoid adjusting +DRR if optimized bandwidth is set. This change was only intended for +DCN, but one part of the patch changed the code path for DCE devices and +caused regressions to the kms_vrr test. To address this problem, this +commit adds a modification in which dc_stream_adjust_vmin_vmax will be +fully executed in DCE devices. + +Fixes: 32953485c558 ("drm/amd/display: Do not update DRR while BW optimizations pending") +Reviewed-by: Aric Cyr +Acked-by: Qingqing Zhuo +Signed-off-by: Rodrigo Siqueira +Tested-by: Daniel Wheeler +Signed-off-by: Alex Deucher +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/amd/display/dc/core/dc.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +--- a/drivers/gpu/drm/amd/display/dc/core/dc.c ++++ b/drivers/gpu/drm/amd/display/dc/core/dc.c +@@ -404,8 +404,9 @@ bool dc_stream_adjust_vmin_vmax(struct d + * Don't adjust DRR while there's bandwidth optimizations pending to + * avoid conflicting with firmware updates. + */ +- if (dc->optimized_required || dc->wm_optimized_required) +- return false; ++ if (dc->ctx->dce_version > DCE_VERSION_MAX) ++ if (dc->optimized_required || dc->wm_optimized_required) ++ return false; + + stream->adjust.v_total_max = adjust->v_total_max; + stream->adjust.v_total_mid = adjust->v_total_mid; diff --git a/queue-6.3/gup-avoid-stack-expansion-warning-for-known-good-case.patch b/queue-6.3/gup-avoid-stack-expansion-warning-for-known-good-case.patch new file mode 100644 index 00000000000..fbfb1211c72 --- /dev/null +++ b/queue-6.3/gup-avoid-stack-expansion-warning-for-known-good-case.patch @@ -0,0 +1,45 @@ +From eee9c708cc89b4600c6e6cdda5bc2b8b4dad96cb Mon Sep 17 00:00:00 2001 +From: Linus Torvalds +Date: Thu, 29 Jun 2023 12:36:47 -0700 +Subject: gup: avoid stack expansion warning for known-good case + +From: Linus Torvalds + +commit eee9c708cc89b4600c6e6cdda5bc2b8b4dad96cb upstream. + +In commit a425ac5365f6 ("gup: add warning if some caller would seem to +want stack expansion") I added a temporary warning to catch any strange +GUP users that would be impacted by the fact that GUP no longer extends +the stack. + +But it turns out that the warning is most easily triggered through +__access_remote_vm(), that already knows to expand the stack - it just +does it *after* calling GUP. So the warning is easy to trigger by just +running gdb (or similar) and accessing things remotely under the stack. + +This just adds a temporary extra "expand stack early" to avoid the +warning for the already converted case - not because the warning is bad, +but because getting the warning for this known good case would then hide +any subsequent warnings for any actually interesting cases. + +Let's try to remember to revert this change when we remove the warnings. + +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman +--- + mm/memory.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/mm/memory.c ++++ b/mm/memory.c +@@ -5628,6 +5628,10 @@ int __access_remote_vm(struct mm_struct + return 0; + } + ++ /* Avoid triggering the temporary warning in __get_user_pages */ ++ if (!vma_lookup(mm, addr) && !expand_stack(mm, addr)) ++ return 0; ++ + /* ignore errors, just check how much was successfully transferred */ + while (len) { + int bytes, ret, offset; diff --git a/queue-6.3/series b/queue-6.3/series index 134ff7e7ea3..28aa1ba573e 100644 --- a/queue-6.3/series +++ b/queue-6.3/series @@ -11,3 +11,5 @@ scripts-tags.sh-resolve-gtags-empty-index-generation.patch docs-set-minimal-gtags-gnu-global-version-to-6.6.5.patch dm-ioctl-avoid-double-fetch-of-version.patch drm-amdgpu-validate-vm-ioctl-flags.patch +drm-amd-display-ensure-vmin-and-vmax-adjust-for-dce.patch +gup-avoid-stack-expansion-warning-for-known-good-case.patch -- 2.47.3