]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
6.17-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 Nov 2025 00:33:34 +0000 (09:33 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 Nov 2025 00:33:34 +0000 (09:33 +0900)
added patches:
acpi-spcr-check-for-table-version-when-using-precise-baudrate.patch
alsa-hda-tas2781-enable-init_profile_id-for-device-initialization.patch
drm-amd-display-fix-black-screen-with-hdmi-outputs.patch
drm-amd-display-fix-vupdate_offload_work-doc.patch
drm-amd-display-reject-modes-with-too-high-pixel-clock-on-dce6-10.patch
drm-amd-display-use-gfp_nowait-for-allocation-in-interrupt-handler.patch
drm-amdgpu-fix-function-header-names-in-amdgpu_connectors.c.patch
drm-amdgpu-fix-unintended-error-log-in-vcn5_0_0.patch
drm-amdgpu-userq-assign-an-error-code-for-invalid-userq-va.patch
drm-msm-dpu-fix-adjusted-mode-clock-check-for-3d-merge.patch
extcon-adc-jack-cleanup-wakeup-source-only-if-it-was-enabled.patch
kbuild-strip-trailing-padding-bytes-from-modules.builtin.modinfo.patch
kunit-extend-kconfig-help-text-for-kunit_uml_pci.patch
selftests-drv-net-reload-pkt-pointer-after-calling-filter_udphdr.patch

15 files changed:
queue-6.17/acpi-spcr-check-for-table-version-when-using-precise-baudrate.patch [new file with mode: 0644]
queue-6.17/alsa-hda-tas2781-enable-init_profile_id-for-device-initialization.patch [new file with mode: 0644]
queue-6.17/drm-amd-display-fix-black-screen-with-hdmi-outputs.patch [new file with mode: 0644]
queue-6.17/drm-amd-display-fix-vupdate_offload_work-doc.patch [new file with mode: 0644]
queue-6.17/drm-amd-display-reject-modes-with-too-high-pixel-clock-on-dce6-10.patch [new file with mode: 0644]
queue-6.17/drm-amd-display-use-gfp_nowait-for-allocation-in-interrupt-handler.patch [new file with mode: 0644]
queue-6.17/drm-amdgpu-fix-function-header-names-in-amdgpu_connectors.c.patch [new file with mode: 0644]
queue-6.17/drm-amdgpu-fix-unintended-error-log-in-vcn5_0_0.patch [new file with mode: 0644]
queue-6.17/drm-amdgpu-userq-assign-an-error-code-for-invalid-userq-va.patch [new file with mode: 0644]
queue-6.17/drm-msm-dpu-fix-adjusted-mode-clock-check-for-3d-merge.patch [new file with mode: 0644]
queue-6.17/extcon-adc-jack-cleanup-wakeup-source-only-if-it-was-enabled.patch [new file with mode: 0644]
queue-6.17/kbuild-strip-trailing-padding-bytes-from-modules.builtin.modinfo.patch [new file with mode: 0644]
queue-6.17/kunit-extend-kconfig-help-text-for-kunit_uml_pci.patch [new file with mode: 0644]
queue-6.17/selftests-drv-net-reload-pkt-pointer-after-calling-filter_udphdr.patch [new file with mode: 0644]
queue-6.17/series

diff --git a/queue-6.17/acpi-spcr-check-for-table-version-when-using-precise-baudrate.patch b/queue-6.17/acpi-spcr-check-for-table-version-when-using-precise-baudrate.patch
new file mode 100644 (file)
index 0000000..38f95a1
--- /dev/null
@@ -0,0 +1,41 @@
+From 543d35004007a06ef247acf2fc55efa8388aa741 Mon Sep 17 00:00:00 2001
+From: Punit Agrawal <punit.agrawal@oss.qualcomm.com>
+Date: Fri, 24 Oct 2025 13:31:25 +0100
+Subject: ACPI: SPCR: Check for table version when using precise baudrate
+
+From: Punit Agrawal <punit.agrawal@oss.qualcomm.com>
+
+commit 543d35004007a06ef247acf2fc55efa8388aa741 upstream.
+
+Commit 4d330fe54145 ("ACPI: SPCR: Support Precise Baud Rate field")
+added support to use the precise baud rate available since SPCR 1.09
+(revision 4) but failed to check the version of the table provided by
+the firmware.
+
+Accessing an older version of SPCR table causes accesses beyond the
+end of the table and can lead to garbage data to be used for the baud
+rate.
+
+Check the version of the firmware provided SPCR to ensure that the
+precise baudrate is vaild before using it.
+
+Fixes: 4d330fe54145 ("ACPI: SPCR: Support Precise Baud Rate field")
+Signed-off-by: Punit Agrawal <punit.agrawal@oss.qualcomm.com>
+Link: https://patch.msgid.link/20251024123125.1081612-1-punit.agrawal@oss.qualcomm.com
+Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/acpi/spcr.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/acpi/spcr.c
++++ b/drivers/acpi/spcr.c
+@@ -152,7 +152,7 @@ int __init acpi_parse_spcr(bool enable_e
+        * Baud Rate field. If this field is zero or not present, Configured
+        * Baud Rate is used.
+        */
+-      if (table->precise_baudrate)
++      if (table->header.revision >= 4 && table->precise_baudrate)
+               baud_rate = table->precise_baudrate;
+       else switch (table->baud_rate) {
+       case 0:
diff --git a/queue-6.17/alsa-hda-tas2781-enable-init_profile_id-for-device-initialization.patch b/queue-6.17/alsa-hda-tas2781-enable-init_profile_id-for-device-initialization.patch
new file mode 100644 (file)
index 0000000..e73eab6
--- /dev/null
@@ -0,0 +1,50 @@
+From 7ddb711b6e0d33e0a673b49f69dff0d950ed60b9 Mon Sep 17 00:00:00 2001
+From: Shenghao Ding <shenghao-ding@ti.com>
+Date: Tue, 7 Oct 2025 18:37:08 +0800
+Subject: ALSA: hda/tas2781: Enable init_profile_id for device initialization
+
+From: Shenghao Ding <shenghao-ding@ti.com>
+
+commit 7ddb711b6e0d33e0a673b49f69dff0d950ed60b9 upstream.
+
+Optimize the time consumption of profile switching, init_profile saves
+the common settings of different profiles, such as the dsp coefficients,
+etc, which can greatly reduce the profile switching time comsumption and
+remove the repetitive settings.
+
+Fixes: e83dcd139e77 ("ASoC: tas2781: Add keyword "init" in profile section")
+Signed-off-by: Shenghao Ding <shenghao-ding@ti.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/hda/codecs/side-codecs/tas2781_hda_i2c.c |   12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+--- a/sound/hda/codecs/side-codecs/tas2781_hda_i2c.c
++++ b/sound/hda/codecs/side-codecs/tas2781_hda_i2c.c
+@@ -472,6 +472,12 @@ static void tasdevice_dspfw_init(void *c
+       if (tas_priv->fmw->nr_configurations > 0)
+               tas_priv->cur_conf = 0;
++      /* Init common setting for different audio profiles */
++      if (tas_priv->rcabin.init_profile_id >= 0)
++              tasdevice_select_cfg_blk(tas_priv,
++                      tas_priv->rcabin.init_profile_id,
++                      TASDEVICE_BIN_BLK_PRE_POWER_UP);
++
+       /* If calibrated data occurs error, dsp will still works with default
+        * calibrated data inside algo.
+        */
+@@ -760,6 +766,12 @@ static int tas2781_system_resume(struct
+       tasdevice_reset(tas_hda->priv);
+       tasdevice_prmg_load(tas_hda->priv, tas_hda->priv->cur_prog);
++      /* Init common setting for different audio profiles */
++      if (tas_hda->priv->rcabin.init_profile_id >= 0)
++              tasdevice_select_cfg_blk(tas_hda->priv,
++                      tas_hda->priv->rcabin.init_profile_id,
++                      TASDEVICE_BIN_BLK_PRE_POWER_UP);
++
+       if (tas_hda->priv->playback_started)
+               tasdevice_tuning_switch(tas_hda->priv, 0);
diff --git a/queue-6.17/drm-amd-display-fix-black-screen-with-hdmi-outputs.patch b/queue-6.17/drm-amd-display-fix-black-screen-with-hdmi-outputs.patch
new file mode 100644 (file)
index 0000000..a93f90d
--- /dev/null
@@ -0,0 +1,44 @@
+From fdc93beeadc2439e5e85d056a8fe681dcced09da Mon Sep 17 00:00:00 2001
+From: Alex Hung <alex.hung@amd.com>
+Date: Wed, 22 Oct 2025 16:19:34 -0600
+Subject: drm/amd/display: Fix black screen with HDMI outputs
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Alex Hung <alex.hung@amd.com>
+
+commit fdc93beeadc2439e5e85d056a8fe681dcced09da upstream.
+
+[Why & How]
+This fixes the black screen issue on certain APUs with HDMI,
+accompanied by the following messages:
+
+amdgpu 0000:c4:00.0: amdgpu: [drm] Failed to setup vendor info
+                     frame on connector DP-1: -22
+amdgpu 0000:c4:00.0: [drm] Cannot find any crtc or sizes [drm]
+                     Cannot find any crtc or sizes
+
+Fixes: 489f0f600ce2 ("drm/amd/display: Fix DVI-D/HDMI adapters")
+Suggested-by: Timur Kristóf <timur.kristof@gmail.com>
+Reviewed-by: Harry Wentland <harry.wentland@amd.com>
+Signed-off-by: Alex Hung <alex.hung@amd.com>
+Signed-off-by: Ray Wu <ray.wu@amd.com>
+Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+(cherry picked from commit 678c901443a6d2e909e3b51331a20f9d8f84ce82)
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/gpu/drm/amd/display/dc/link/link_detection.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/gpu/drm/amd/display/dc/link/link_detection.c
++++ b/drivers/gpu/drm/amd/display/dc/link/link_detection.c
+@@ -1141,6 +1141,7 @@ static bool detect_link_and_local_sink(s
+                   !sink->edid_caps.edid_hdmi)
+                       sink->sink_signal = SIGNAL_TYPE_DVI_SINGLE_LINK;
+               else if (dc_is_dvi_signal(sink->sink_signal) &&
++                       dc_is_dvi_signal(link->connector_signal) &&
+                        aud_support->hdmi_audio_native &&
+                        sink->edid_caps.edid_hdmi)
+                       sink->sink_signal = SIGNAL_TYPE_HDMI_TYPE_A;
diff --git a/queue-6.17/drm-amd-display-fix-vupdate_offload_work-doc.patch b/queue-6.17/drm-amd-display-fix-vupdate_offload_work-doc.patch
new file mode 100644 (file)
index 0000000..e0063d5
--- /dev/null
@@ -0,0 +1,34 @@
+From e9c840d4505d5049da1873acf93744d384b12a0b Mon Sep 17 00:00:00 2001
+From: Aurabindo Pillai <aurabindo.pillai@amd.com>
+Date: Tue, 5 Aug 2025 10:02:07 -0400
+Subject: drm/amd/display: Fix vupdate_offload_work doc
+
+From: Aurabindo Pillai <aurabindo.pillai@amd.com>
+
+commit e9c840d4505d5049da1873acf93744d384b12a0b upstream.
+
+Fix the following warning in struct documentation:
+
+drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h:168: warning: expecting prototype for struct dm_vupdate_work. Prototype was for struct vupdate_offload_work instead
+
+Fixes: c210b757b400 ("drm/amd/display: fix dmub access race condition")
+Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
+Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
+@@ -153,7 +153,7 @@ struct idle_workqueue {
+ };
+ /**
+- * struct dm_vupdate_work - Work data for periodic action in idle
++ * struct vupdate_offload_work - Work data for offloading task from vupdate handler
+  * @work: Kernel work data for the work event
+  * @adev: amdgpu_device back pointer
+  * @stream: DC stream associated with the crtc
diff --git a/queue-6.17/drm-amd-display-reject-modes-with-too-high-pixel-clock-on-dce6-10.patch b/queue-6.17/drm-amd-display-reject-modes-with-too-high-pixel-clock-on-dce6-10.patch
new file mode 100644 (file)
index 0000000..9059654
--- /dev/null
@@ -0,0 +1,157 @@
+From 118800b0797a046adaa2a8e9dee9b971b78802a7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Timur=20Krist=C3=B3f?= <timur.kristof@gmail.com>
+Date: Wed, 24 Sep 2025 13:38:34 +0200
+Subject: drm/amd/display: Reject modes with too high pixel clock on DCE6-10
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Timur Kristóf <timur.kristof@gmail.com>
+
+commit 118800b0797a046adaa2a8e9dee9b971b78802a7 upstream.
+
+Reject modes with a pixel clock higher than the maximum display
+clock. Use 400 MHz as a fallback value when the maximum display
+clock is not known. Pixel clocks that are higher than the display
+clock just won't work and are not supported.
+
+With the addition of the YUV422        fallback, DC can now accidentally
+select a mode requiring higher pixel clock than actually supported
+when the DP version supports the required bandwidth but the clock
+is otherwise too high for the display engine. DCE 6-10 don't
+support these modes but they don't have a bandwidth calculation
+to reject them properly.
+
+Fixes: db291ed1732e ("drm/amd/display: Add fallback path for YCBCR422")
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
+Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c      |    3 +++
+ drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c     |    5 +++++
+ drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.c |   10 +++++++++-
+ drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c   |   10 +++++++++-
+ drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c   |   10 +++++++++-
+ 5 files changed, 35 insertions(+), 3 deletions(-)
+
+--- a/drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
++++ b/drivers/gpu/drm/amd/display/dc/clk_mgr/dce100/dce_clk_mgr.c
+@@ -463,6 +463,9 @@ void dce_clk_mgr_construct(
+               clk_mgr->max_clks_state = DM_PP_CLOCKS_STATE_NOMINAL;
+       clk_mgr->cur_min_clks_state = DM_PP_CLOCKS_STATE_INVALID;
++      base->clks.max_supported_dispclk_khz =
++              clk_mgr->max_clks_by_state[DM_PP_CLOCKS_STATE_PERFORMANCE].display_clk_khz;
++
+       dce_clock_read_integrated_info(clk_mgr);
+       dce_clock_read_ss_info(clk_mgr);
+ }
+--- a/drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c
++++ b/drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c
+@@ -147,6 +147,8 @@ void dce60_clk_mgr_construct(
+               struct dc_context *ctx,
+               struct clk_mgr_internal *clk_mgr)
+ {
++      struct clk_mgr *base = &clk_mgr->base;
++
+       dce_clk_mgr_construct(ctx, clk_mgr);
+       memcpy(clk_mgr->max_clks_by_state,
+@@ -157,5 +159,8 @@ void dce60_clk_mgr_construct(
+       clk_mgr->clk_mgr_shift = &disp_clk_shift;
+       clk_mgr->clk_mgr_mask = &disp_clk_mask;
+       clk_mgr->base.funcs = &dce60_funcs;
++
++      base->clks.max_supported_dispclk_khz =
++              clk_mgr->max_clks_by_state[DM_PP_CLOCKS_STATE_PERFORMANCE].display_clk_khz;
+ }
+--- a/drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.c
++++ b/drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.c
+@@ -29,6 +29,7 @@
+ #include "stream_encoder.h"
+ #include "resource.h"
++#include "clk_mgr.h"
+ #include "include/irq_service_interface.h"
+ #include "virtual/virtual_stream_encoder.h"
+ #include "dce110/dce110_resource.h"
+@@ -843,10 +844,17 @@ static enum dc_status dce100_validate_ba
+ {
+       int i;
+       bool at_least_one_pipe = false;
++      struct dc_stream_state *stream = NULL;
++      const uint32_t max_pix_clk_khz = max(dc->clk_mgr->clks.max_supported_dispclk_khz, 400000);
+       for (i = 0; i < dc->res_pool->pipe_count; i++) {
+-              if (context->res_ctx.pipe_ctx[i].stream)
++              stream = context->res_ctx.pipe_ctx[i].stream;
++              if (stream) {
+                       at_least_one_pipe = true;
++
++                      if (stream->timing.pix_clk_100hz >= max_pix_clk_khz * 10)
++                              return DC_FAIL_BANDWIDTH_VALIDATE;
++              }
+       }
+       if (at_least_one_pipe) {
+--- a/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
++++ b/drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c
+@@ -34,6 +34,7 @@
+ #include "stream_encoder.h"
+ #include "resource.h"
++#include "clk_mgr.h"
+ #include "include/irq_service_interface.h"
+ #include "irq/dce60/irq_service_dce60.h"
+ #include "dce110/dce110_timing_generator.h"
+@@ -870,10 +871,17 @@ static enum dc_status dce60_validate_ban
+ {
+       int i;
+       bool at_least_one_pipe = false;
++      struct dc_stream_state *stream = NULL;
++      const uint32_t max_pix_clk_khz = max(dc->clk_mgr->clks.max_supported_dispclk_khz, 400000);
+       for (i = 0; i < dc->res_pool->pipe_count; i++) {
+-              if (context->res_ctx.pipe_ctx[i].stream)
++              stream = context->res_ctx.pipe_ctx[i].stream;
++              if (stream) {
+                       at_least_one_pipe = true;
++
++                      if (stream->timing.pix_clk_100hz >= max_pix_clk_khz * 10)
++                              return DC_FAIL_BANDWIDTH_VALIDATE;
++              }
+       }
+       if (at_least_one_pipe) {
+--- a/drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c
++++ b/drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c
+@@ -32,6 +32,7 @@
+ #include "stream_encoder.h"
+ #include "resource.h"
++#include "clk_mgr.h"
+ #include "include/irq_service_interface.h"
+ #include "irq/dce80/irq_service_dce80.h"
+ #include "dce110/dce110_timing_generator.h"
+@@ -876,10 +877,17 @@ static enum dc_status dce80_validate_ban
+ {
+       int i;
+       bool at_least_one_pipe = false;
++      struct dc_stream_state *stream = NULL;
++      const uint32_t max_pix_clk_khz = max(dc->clk_mgr->clks.max_supported_dispclk_khz, 400000);
+       for (i = 0; i < dc->res_pool->pipe_count; i++) {
+-              if (context->res_ctx.pipe_ctx[i].stream)
++              stream = context->res_ctx.pipe_ctx[i].stream;
++              if (stream) {
+                       at_least_one_pipe = true;
++
++                      if (stream->timing.pix_clk_100hz >= max_pix_clk_khz * 10)
++                              return DC_FAIL_BANDWIDTH_VALIDATE;
++              }
+       }
+       if (at_least_one_pipe) {
diff --git a/queue-6.17/drm-amd-display-use-gfp_nowait-for-allocation-in-interrupt-handler.patch b/queue-6.17/drm-amd-display-use-gfp_nowait-for-allocation-in-interrupt-handler.patch
new file mode 100644 (file)
index 0000000..188283a
--- /dev/null
@@ -0,0 +1,44 @@
+From 72a1eb3cf573ab957ae412f0efb0cf6ff0876234 Mon Sep 17 00:00:00 2001
+From: Aurabindo Pillai <aurabindo.pillai@amd.com>
+Date: Thu, 25 Sep 2025 10:23:59 -0400
+Subject: drm/amd/display: use GFP_NOWAIT for allocation in interrupt handler
+
+From: Aurabindo Pillai <aurabindo.pillai@amd.com>
+
+commit 72a1eb3cf573ab957ae412f0efb0cf6ff0876234 upstream.
+
+schedule_dc_vmin_vmax() is called by dm_crtc_high_irq(). Hence, we
+cannot have the former sleep. Use GFP_NOWAIT for allocation in this
+function.
+
+Fixes: c210b757b400 ("drm/amd/display: fix dmub access race condition")
+Cc: Mario Limonciello <mario.limonciello@amd.com>
+Cc: Alex Deucher <alexander.deucher@amd.com>
+Reviewed-by: Sun peng (Leo) Li <sunpeng.li@amd.com>
+Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+(cherry picked from commit c04812cbe2f247a1c1e53a9b6c5e659963fe4065)
+Cc: stable@vger.kernel.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+@@ -561,13 +561,13 @@ static void schedule_dc_vmin_vmax(struct
+       struct dc_stream_state *stream,
+       struct dc_crtc_timing_adjust *adjust)
+ {
+-      struct vupdate_offload_work *offload_work = kzalloc(sizeof(*offload_work), GFP_KERNEL);
++      struct vupdate_offload_work *offload_work = kzalloc(sizeof(*offload_work), GFP_NOWAIT);
+       if (!offload_work) {
+               drm_dbg_driver(adev_to_drm(adev), "Failed to allocate vupdate_offload_work\n");
+               return;
+       }
+-      struct dc_crtc_timing_adjust *adjust_copy = kzalloc(sizeof(*adjust_copy), GFP_KERNEL);
++      struct dc_crtc_timing_adjust *adjust_copy = kzalloc(sizeof(*adjust_copy), GFP_NOWAIT);
+       if (!adjust_copy) {
+               drm_dbg_driver(adev_to_drm(adev), "Failed to allocate adjust_copy\n");
+               kfree(offload_work);
diff --git a/queue-6.17/drm-amdgpu-fix-function-header-names-in-amdgpu_connectors.c.patch b/queue-6.17/drm-amdgpu-fix-function-header-names-in-amdgpu_connectors.c.patch
new file mode 100644 (file)
index 0000000..f1ea701
--- /dev/null
@@ -0,0 +1,64 @@
+From 38ab33dbea594700c8d6cc81eec0a54e95d3eb2f Mon Sep 17 00:00:00 2001
+From: Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
+Date: Sun, 31 Aug 2025 15:29:56 +0530
+Subject: drm/amdgpu: Fix function header names in amdgpu_connectors.c
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
+
+commit 38ab33dbea594700c8d6cc81eec0a54e95d3eb2f upstream.
+
+Align the function headers for `amdgpu_max_hdmi_pixel_clock` and
+`amdgpu_connector_dvi_mode_valid` with the function implementations so
+they match the expected kdoc style.
+
+Fixes the below:
+drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c:1199: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
+ * Returns the maximum supported HDMI (TMDS) pixel clock in KHz.
+drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c:1212: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
+ * Validates the given display mode on DVI and HDMI connectors.
+
+Fixes: 585b2f685c56 ("drm/amdgpu: Respect max pixel clock for HDMI and DVI-D (v2)")
+Cc: Christian König <christian.koenig@amd.com>
+Cc: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c |   15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
+@@ -1196,7 +1196,10 @@ static void amdgpu_connector_dvi_force(s
+ }
+ /**
+- * Returns the maximum supported HDMI (TMDS) pixel clock in KHz.
++ * amdgpu_max_hdmi_pixel_clock - Return max supported HDMI (TMDS) pixel clock
++ * @adev: pointer to amdgpu_device
++ *
++ * Return: maximum supported HDMI (TMDS) pixel clock in KHz.
+  */
+ static int amdgpu_max_hdmi_pixel_clock(const struct amdgpu_device *adev)
+ {
+@@ -1209,8 +1212,14 @@ static int amdgpu_max_hdmi_pixel_clock(c
+ }
+ /**
+- * Validates the given display mode on DVI and HDMI connectors,
+- * including analog signals on DVI-I.
++ * amdgpu_connector_dvi_mode_valid - Validate a mode on DVI/HDMI connectors
++ * @connector: DRM connector to validate the mode on
++ * @mode: display mode to validate
++ *
++ * Validate the given display mode on DVI and HDMI connectors, including
++ * analog signals on DVI-I.
++ *
++ * Return: drm_mode_status indicating whether the mode is valid.
+  */
+ static enum drm_mode_status amdgpu_connector_dvi_mode_valid(struct drm_connector *connector,
+                                           const struct drm_display_mode *mode)
diff --git a/queue-6.17/drm-amdgpu-fix-unintended-error-log-in-vcn5_0_0.patch b/queue-6.17/drm-amdgpu-fix-unintended-error-log-in-vcn5_0_0.patch
new file mode 100644 (file)
index 0000000..27118ea
--- /dev/null
@@ -0,0 +1,35 @@
+From 46b0e6b9d749cfa891e6969d6565be1131c53aa2 Mon Sep 17 00:00:00 2001
+From: Sathishkumar S <sathishkumar.sundararaju@amd.com>
+Date: Mon, 28 Jul 2025 18:27:06 +0530
+Subject: drm/amdgpu: Fix unintended error log in VCN5_0_0
+
+From: Sathishkumar S <sathishkumar.sundararaju@amd.com>
+
+commit 46b0e6b9d749cfa891e6969d6565be1131c53aa2 upstream.
+
+The error log is supposed to be gaurded under if failure condition.
+
+Fixes: faab5ea08367 ("drm/amdgpu: Check vcn sram load return value")
+Signed-off-by: Sathishkumar S <sathishkumar.sundararaju@amd.com>
+Reviewed-by: Leo Liu <leo.liu@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c |    5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c
++++ b/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c
+@@ -769,9 +769,10 @@ static int vcn_v5_0_0_start_dpg_mode(str
+       if (indirect) {
+               ret = amdgpu_vcn_psp_update_sram(adev, inst_idx, 0);
+-              dev_err(adev->dev, "%s: vcn sram load failed %d\n", __func__, ret);
+-              if (ret)
++              if (ret) {
++                      dev_err(adev->dev, "%s: vcn sram load failed %d\n", __func__, ret);
+                       return ret;
++              }
+       }
+       ring = &adev->vcn.inst[inst_idx].ring_enc[0];
diff --git a/queue-6.17/drm-amdgpu-userq-assign-an-error-code-for-invalid-userq-va.patch b/queue-6.17/drm-amdgpu-userq-assign-an-error-code-for-invalid-userq-va.patch
new file mode 100644 (file)
index 0000000..2fc5a9f
--- /dev/null
@@ -0,0 +1,38 @@
+From 883bd89d00085c2c5f1efcd25861745cb039f9e3 Mon Sep 17 00:00:00 2001
+From: Prike Liang <Prike.Liang@amd.com>
+Date: Fri, 19 Sep 2025 14:31:50 +0800
+Subject: drm/amdgpu/userq: assign an error code for invalid userq va
+
+From: Prike Liang <Prike.Liang@amd.com>
+
+commit 883bd89d00085c2c5f1efcd25861745cb039f9e3 upstream.
+
+It should return an error code if userq VA validation fails.
+
+Fixes: 9e46b8bb0539 ("drm/amdgpu: validate userq buffer virtual address and size")
+Signed-off-by: Prike Liang <Prike.Liang@amd.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
+@@ -71,6 +71,7 @@ int amdgpu_userq_input_va_validate(struc
+               return 0;
+       }
++      r = -EINVAL;
+ out_err:
+       amdgpu_bo_unreserve(vm->root.bo);
+       return r;
+@@ -476,6 +477,7 @@ amdgpu_userq_create(struct drm_file *fil
+       if (amdgpu_userq_input_va_validate(&fpriv->vm, args->in.queue_va, args->in.queue_size) ||
+           amdgpu_userq_input_va_validate(&fpriv->vm, args->in.rptr_va, AMDGPU_GPU_PAGE_SIZE) ||
+           amdgpu_userq_input_va_validate(&fpriv->vm, args->in.wptr_va, AMDGPU_GPU_PAGE_SIZE)) {
++              r = -EINVAL;
+               kfree(queue);
+               goto unlock;
+       }
diff --git a/queue-6.17/drm-msm-dpu-fix-adjusted-mode-clock-check-for-3d-merge.patch b/queue-6.17/drm-msm-dpu-fix-adjusted-mode-clock-check-for-3d-merge.patch
new file mode 100644 (file)
index 0000000..edf5123
--- /dev/null
@@ -0,0 +1,40 @@
+From f5d079564c44baaeedf5e25f4b943aa042ea0eb1 Mon Sep 17 00:00:00 2001
+From: Jessica Zhang <jessica.zhang@oss.qualcomm.com>
+Date: Tue, 23 Sep 2025 16:03:50 -0700
+Subject: drm/msm/dpu: Fix adjusted mode clock check for 3d merge
+
+From: Jessica Zhang <jessica.zhang@oss.qualcomm.com>
+
+commit f5d079564c44baaeedf5e25f4b943aa042ea0eb1 upstream.
+
+Since 3D merge allows for larger modes to be supported across 2 layer
+mixers, filter modes based on adjusted mode clock / 2 when 3d merge is
+supported.
+
+Reported-by: Abel Vesa <abel.vesa@linaro.org>
+Fixes: 62b7d6835288 ("drm/msm/dpu: Filter modes based on adjusted mode clock")
+Signed-off-by: Jessica Zhang <jessica.zhang@oss.qualcomm.com>
+Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
+Reviewed-by: Abel Vesa <abel.vesa@linaro.org>
+Tested-by: Abel Vesa <abel.vesa@linaro.org>
+Tested-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
+Patchwork: https://patchwork.freedesktop.org/patch/676353/
+Link: https://lore.kernel.org/r/20250923-modeclk-fix-v2-1-01fcd0b2465a@oss.qualcomm.com
+Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c |    3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
++++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
+@@ -1546,6 +1546,9 @@ static enum drm_mode_status dpu_crtc_mod
+       adjusted_mode_clk = dpu_core_perf_adjusted_mode_clk(mode->clock,
+                                                           dpu_kms->perf.perf_cfg);
++      if (dpu_kms->catalog->caps->has_3d_merge)
++              adjusted_mode_clk /= 2;
++
+       /*
+        * The given mode, adjusted for the perf clock factor, should not exceed
+        * the max core clock rate
diff --git a/queue-6.17/extcon-adc-jack-cleanup-wakeup-source-only-if-it-was-enabled.patch b/queue-6.17/extcon-adc-jack-cleanup-wakeup-source-only-if-it-was-enabled.patch
new file mode 100644 (file)
index 0000000..79f6992
--- /dev/null
@@ -0,0 +1,36 @@
+From 92bac7d4de9c07933f6b76d8f1c7f8240f911f4f Mon Sep 17 00:00:00 2001
+From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
+Date: Fri, 9 May 2025 09:17:04 +0200
+Subject: extcon: adc-jack: Cleanup wakeup source only if it was enabled
+
+From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
+
+commit 92bac7d4de9c07933f6b76d8f1c7f8240f911f4f upstream.
+
+Driver in the probe enables wakeup source conditionally, so the cleanup
+path should do the same - do not release the wakeup source memory if it
+was not allocated.
+
+Link: https://lore.kernel.org/lkml/20250509071703.39442-2-krzysztof.kozlowski@linaro.org/
+Reported-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
+Closes: https://lore.kernel.org/r/22aaebb7-553b-4571-8a43-58a523241082@wanadoo.fr/
+Fixes: 78b6a991eb6c ("extcon: adc-jack: Fix wakeup source leaks on device unbind")
+Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
+Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/extcon/extcon-adc-jack.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/extcon/extcon-adc-jack.c
++++ b/drivers/extcon/extcon-adc-jack.c
+@@ -164,7 +164,8 @@ static void adc_jack_remove(struct platf
+ {
+       struct adc_jack_data *data = platform_get_drvdata(pdev);
+-      device_init_wakeup(&pdev->dev, false);
++      if (data->wakeup_source)
++              device_init_wakeup(&pdev->dev, false);
+       free_irq(data->irq, data);
+       cancel_work_sync(&data->handler.work);
+ }
diff --git a/queue-6.17/kbuild-strip-trailing-padding-bytes-from-modules.builtin.modinfo.patch b/queue-6.17/kbuild-strip-trailing-padding-bytes-from-modules.builtin.modinfo.patch
new file mode 100644 (file)
index 0000000..31b4869
--- /dev/null
@@ -0,0 +1,73 @@
+From a26a6c93edfeee82cb73f55e87d995eea59ddfe8 Mon Sep 17 00:00:00 2001
+From: Nathan Chancellor <nathan@kernel.org>
+Date: Wed, 5 Nov 2025 15:30:27 -0700
+Subject: kbuild: Strip trailing padding bytes from modules.builtin.modinfo
+
+From: Nathan Chancellor <nathan@kernel.org>
+
+commit a26a6c93edfeee82cb73f55e87d995eea59ddfe8 upstream.
+
+After commit d50f21091358 ("kbuild: align modinfo section for Secureboot
+Authenticode EDK2 compat"), running modules_install with certain
+versions of kmod (such as 29.1 in Ubuntu Jammy) in certain
+configurations may fail with:
+
+  depmod: ERROR: kmod_builtin_iter_next: unexpected string without modname prefix
+
+The additional padding bytes to ensure .modinfo is aligned within
+vmlinux.unstripped are unexpected by kmod, as this section has always
+just been null-terminated strings.
+
+Strip the trailing padding bytes from modules.builtin.modinfo after it
+has been extracted from vmlinux.unstripped to restore the format that
+kmod expects while keeping .modinfo aligned within vmlinux.unstripped to
+avoid regressing the Authenticode calculation fix for EDK2.
+
+Cc: stable@vger.kernel.org
+Fixes: d50f21091358 ("kbuild: align modinfo section for Secureboot Authenticode EDK2 compat")
+Reported-by: Omar Sandoval <osandov@fb.com>
+Reported-by: Samir M <samir@linux.ibm.com>
+Reported-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>
+Closes: https://lore.kernel.org/7fef7507-ad64-4e51-9bb8-c9fb6532e51e@linux.ibm.com/
+Tested-by: Omar Sandoval <osandov@fb.com>
+Tested-by: Samir M <samir@linux.ibm.com>
+Tested-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>
+Reviewed-by: Nicolas Schier <nsc@kernel.org>
+Link: https://patch.msgid.link/20251105-kbuild-fix-builtin-modinfo-for-kmod-v1-1-b419d8ad4606@kernel.org
+Signed-off-by: Nathan Chancellor <nathan@kernel.org>
+[nathan: Apply to scripts/Makefile.vmlinux_o, location of
+         modules.builtin.modinfo rule prior to 39cfd5b12160]
+Signed-off-by: Nathan Chancellor <nathan@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ scripts/Makefile.vmlinux_o |   15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+--- a/scripts/Makefile.vmlinux_o
++++ b/scripts/Makefile.vmlinux_o
+@@ -76,11 +76,24 @@ targets += vmlinux.o
+ # modules.builtin.modinfo
+ # ---------------------------------------------------------------------------
++# .modinfo in vmlinux.unstripped is aligned to 8 bytes for compatibility with
++# tools that expect vmlinux to have sufficiently aligned sections but the
++# additional bytes used for padding .modinfo to satisfy this requirement break
++# certain versions of kmod with
++#
++#   depmod: ERROR: kmod_builtin_iter_next: unexpected string without modname prefix
++#
++# Strip the trailing padding bytes after extracting .modinfo to comply with
++# what kmod expects to parse.
++quiet_cmd_modules_builtin_modinfo = GEN     $@
++      cmd_modules_builtin_modinfo = $(cmd_objcopy); \
++                                    sed -i 's/\x00\+$$/\x00/g' $@
++
+ OBJCOPYFLAGS_modules.builtin.modinfo := -j .modinfo -O binary
+ targets += modules.builtin.modinfo
+ modules.builtin.modinfo: vmlinux.o FORCE
+-      $(call if_changed,objcopy)
++      $(call if_changed,modules_builtin_modinfo)
+ # modules.builtin
+ # ---------------------------------------------------------------------------
diff --git a/queue-6.17/kunit-extend-kconfig-help-text-for-kunit_uml_pci.patch b/queue-6.17/kunit-extend-kconfig-help-text-for-kunit_uml_pci.patch
new file mode 100644 (file)
index 0000000..03004b8
--- /dev/null
@@ -0,0 +1,45 @@
+From 285cae57a51664cc94e85de0ff994f9965b3aca8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= <thomas.weissschuh@linutronix.de>
+Date: Tue, 16 Sep 2025 08:15:46 +0200
+Subject: kunit: Extend kconfig help text for KUNIT_UML_PCI
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
+
+commit 285cae57a51664cc94e85de0ff994f9965b3aca8 upstream.
+
+Checkpatch.pl expects at least 4 lines of help text.
+
+Extend the help text to make checkpatch.pl happy.
+
+Link: https://lore.kernel.org/r/20250916-kunit-pci-kconfig-v1-1-6d1369f06f2a@linutronix.de
+Fixes: 031cdd3bc3f3 ("kunit: Enable PCI on UML without triggering WARN()")
+Suggested-by: Shuah Khan <skhan@linuxfoundation.org>
+Link: https://lore.kernel.org/lkml/3dc95227-2be9-48a0-bdea-3f283d9b2a38@linuxfoundation.org/
+Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
+Reviewed-by: David Gow <davidgow@google.com>
+Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ lib/kunit/Kconfig | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/lib/kunit/Kconfig b/lib/kunit/Kconfig
+index 1823539e96da..7a6af361d2fc 100644
+--- a/lib/kunit/Kconfig
++++ b/lib/kunit/Kconfig
+@@ -112,5 +112,9 @@ config KUNIT_UML_PCI
+       select UML_PCI
+       help
+         Enables the PCI subsystem on UML for use by KUnit tests.
++        Some KUnit tests require the PCI core which is not enabled by
++        default on UML.
++
++        If unsure, say N.
+ endif # KUNIT
+-- 
+2.51.2
+
diff --git a/queue-6.17/selftests-drv-net-reload-pkt-pointer-after-calling-filter_udphdr.patch b/queue-6.17/selftests-drv-net-reload-pkt-pointer-after-calling-filter_udphdr.patch
new file mode 100644 (file)
index 0000000..1fd3712
--- /dev/null
@@ -0,0 +1,71 @@
+From 11ae737efea10a8cc1c48b6288bde93180946b8c Mon Sep 17 00:00:00 2001
+From: Amery Hung <ameryhung@gmail.com>
+Date: Thu, 25 Sep 2025 09:14:52 -0700
+Subject: selftests: drv-net: Reload pkt pointer after calling filter_udphdr
+
+From: Amery Hung <ameryhung@gmail.com>
+
+commit 11ae737efea10a8cc1c48b6288bde93180946b8c upstream.
+
+Fix a verification failure. filter_udphdr() calls bpf_xdp_pull_data(),
+which will invalidate all pkt pointers. Therefore, all ctx->data loaded
+before filter_udphdr() cannot be used. Reload it to prevent verification
+errors.
+
+The error may not appear on some compiler versions if they decide to
+load ctx->data after filter_udphdr() when it is first used.
+
+Fixes: efec2e55bdef ("selftests: drv-net: Pull data before parsing headers")
+Signed-off-by: Amery Hung <ameryhung@gmail.com>
+Acked-by: Martin KaFai Lau <martin.lau@kernel.org>
+Link: https://patch.msgid.link/20250925161452.1290694-1-ameryhung@gmail.com
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ tools/testing/selftests/net/lib/xdp_native.bpf.c | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/tools/testing/selftests/net/lib/xdp_native.bpf.c b/tools/testing/selftests/net/lib/xdp_native.bpf.c
+index df4eea5c192b..c368fc045f4b 100644
+--- a/tools/testing/selftests/net/lib/xdp_native.bpf.c
++++ b/tools/testing/selftests/net/lib/xdp_native.bpf.c
+@@ -420,7 +420,6 @@ static int xdp_adjst_tail_grow_data(struct xdp_md *ctx, __u16 offset)
+ static int xdp_adjst_tail(struct xdp_md *ctx, __u16 port)
+ {
+-      void *data = (void *)(long)ctx->data;
+       struct udphdr *udph = NULL;
+       __s32 *adjust_offset, *val;
+       __u32 key, hdr_len;
+@@ -432,7 +431,8 @@ static int xdp_adjst_tail(struct xdp_md *ctx, __u16 port)
+       if (!udph)
+               return XDP_PASS;
+-      hdr_len = (void *)udph - data + sizeof(struct udphdr);
++      hdr_len = (void *)udph - (void *)(long)ctx->data +
++                sizeof(struct udphdr);
+       key = XDP_ADJST_OFFSET;
+       adjust_offset = bpf_map_lookup_elem(&map_xdp_setup, &key);
+       if (!adjust_offset)
+@@ -572,8 +572,6 @@ static int xdp_adjst_head_grow_data(struct xdp_md *ctx, __u64 hdr_len,
+ static int xdp_head_adjst(struct xdp_md *ctx, __u16 port)
+ {
+-      void *data_end = (void *)(long)ctx->data_end;
+-      void *data = (void *)(long)ctx->data;
+       struct udphdr *udph_ptr = NULL;
+       __u32 key, size, hdr_len;
+       __s32 *val;
+@@ -584,7 +582,8 @@ static int xdp_head_adjst(struct xdp_md *ctx, __u16 port)
+       if (!udph_ptr)
+               return XDP_PASS;
+-      hdr_len = (void *)udph_ptr - data + sizeof(struct udphdr);
++      hdr_len = (void *)udph_ptr - (void *)(long)ctx->data +
++                sizeof(struct udphdr);
+       key = XDP_ADJST_OFFSET;
+       val = bpf_map_lookup_elem(&map_xdp_setup, &key);
+-- 
+2.51.2
+
index 5f9bd907a5caed558d75c6f86b07debab6d0dd7b..619d27af53129f5a277f831bfbd3980f4f38460f 100644 (file)
@@ -833,3 +833,17 @@ scsi-ufs-ufs-pci-set-ufshcd_quirk_perform_link_startup_once-for-intel-adl.patch
 scsi-ufs-core-add-a-quirk-to-suppress-link_startup_again.patch
 scsi-ufs-core-fix-invalid-probe-error-return-value.patch
 drm-amd-display-update-color-on-atomic-commit-time.patch
+extcon-adc-jack-cleanup-wakeup-source-only-if-it-was-enabled.patch
+kunit-extend-kconfig-help-text-for-kunit_uml_pci.patch
+alsa-hda-tas2781-enable-init_profile_id-for-device-initialization.patch
+acpi-spcr-check-for-table-version-when-using-precise-baudrate.patch
+kbuild-strip-trailing-padding-bytes-from-modules.builtin.modinfo.patch
+drm-amdgpu-fix-unintended-error-log-in-vcn5_0_0.patch
+drm-amd-display-fix-vupdate_offload_work-doc.patch
+drm-amdgpu-fix-function-header-names-in-amdgpu_connectors.c.patch
+drm-amdgpu-userq-assign-an-error-code-for-invalid-userq-va.patch
+drm-msm-dpu-fix-adjusted-mode-clock-check-for-3d-merge.patch
+drm-amd-display-reject-modes-with-too-high-pixel-clock-on-dce6-10.patch
+drm-amd-display-use-gfp_nowait-for-allocation-in-interrupt-handler.patch
+drm-amd-display-fix-black-screen-with-hdmi-outputs.patch
+selftests-drv-net-reload-pkt-pointer-after-calling-filter_udphdr.patch