From: Greg Kroah-Hartman Date: Mon, 19 Jul 2021 13:06:38 +0000 (+0200) Subject: 5.12-stable patches X-Git-Tag: v5.13.4~32 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=62383fc85695f23edd45a4f5d6f67ad4e68e03f1;p=thirdparty%2Fkernel%2Fstable-queue.git 5.12-stable patches added patches: drm-dp_mst-add-missing-drm-parameters-to-recently-added-call-to-drm_dbg_kms.patch drm-dp_mst-avoid-to-mess-up-payload-table-by-ports-in-stale-topology.patch drm-dp_mst-do-not-set-proposed-vcpi-directly.patch io_uring-fix-link-timeout-refs.patch io_uring-put-link-timeout-req-consistently.patch net-bridge-multicast-fix-mrd-advertisement-router-port-marking-race.patch net-bridge-multicast-fix-pim-hello-router-port-marking-race.patch --- diff --git a/queue-5.12/drm-dp_mst-add-missing-drm-parameters-to-recently-added-call-to-drm_dbg_kms.patch b/queue-5.12/drm-dp_mst-add-missing-drm-parameters-to-recently-added-call-to-drm_dbg_kms.patch new file mode 100644 index 00000000000..3d159ff93c0 --- /dev/null +++ b/queue-5.12/drm-dp_mst-add-missing-drm-parameters-to-recently-added-call-to-drm_dbg_kms.patch @@ -0,0 +1,53 @@ +From 24ff3dc18b99c4b912ab1746e803ddb3be5ced4c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= +Date: Wed, 16 Jun 2021 12:44:15 -0700 +Subject: drm/dp_mst: Add missing drm parameters to recently added call to drm_dbg_kms() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: José Roberto de Souza + +commit 24ff3dc18b99c4b912ab1746e803ddb3be5ced4c upstream. + +Commit 3769e4c0af5b ("drm/dp_mst: Avoid to mess up payload table by +ports in stale topology") added to calls to drm_dbg_kms() but it +missed the first parameter, the drm device breaking the build. + +Fixes: 3769e4c0af5b ("drm/dp_mst: Avoid to mess up payload table by ports in stale topology") +Cc: Wayne Lin +Cc: Lyude Paul +Cc: dri-devel@lists.freedesktop.org +Cc: stable@vger.kernel.org +Signed-off-by: José Roberto de Souza +Reviewed-by: Lyude Paul +Signed-off-by: Lyude Paul +Link: https://patchwork.freedesktop.org/patch/msgid/20210616194415.36926-1-jose.souza@intel.com +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/drm_dp_mst_topology.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +--- a/drivers/gpu/drm/drm_dp_mst_topology.c ++++ b/drivers/gpu/drm/drm_dp_mst_topology.c +@@ -3385,7 +3385,9 @@ int drm_dp_update_payload_part1(struct d + mutex_unlock(&mgr->lock); + + if (skip) { +- drm_dbg_kms("Virtual channel %d is not in current topology\n", i); ++ drm_dbg_kms(mgr->dev, ++ "Virtual channel %d is not in current topology\n", ++ i); + continue; + } + /* Validated ports don't matter if we're releasing +@@ -3400,7 +3402,8 @@ int drm_dp_update_payload_part1(struct d + payload->start_slot = req_payload.start_slot; + continue; + } else { +- drm_dbg_kms("Fail:set payload to invalid sink"); ++ drm_dbg_kms(mgr->dev, ++ "Fail:set payload to invalid sink"); + mutex_unlock(&mgr->payload_lock); + return -EINVAL; + } diff --git a/queue-5.12/drm-dp_mst-avoid-to-mess-up-payload-table-by-ports-in-stale-topology.patch b/queue-5.12/drm-dp_mst-avoid-to-mess-up-payload-table-by-ports-in-stale-topology.patch new file mode 100644 index 00000000000..d581d00fe25 --- /dev/null +++ b/queue-5.12/drm-dp_mst-avoid-to-mess-up-payload-table-by-ports-in-stale-topology.patch @@ -0,0 +1,121 @@ +From 3769e4c0af5b82c8ea21d037013cb9564dfaa51f Mon Sep 17 00:00:00 2001 +From: Wayne Lin +Date: Wed, 16 Jun 2021 11:55:01 +0800 +Subject: drm/dp_mst: Avoid to mess up payload table by ports in stale topology + +From: Wayne Lin + +commit 3769e4c0af5b82c8ea21d037013cb9564dfaa51f upstream. + +[Why] +After unplug/hotplug hub from the system, userspace might start to +clear stale payloads gradually. If we call drm_dp_mst_deallocate_vcpi() +to release stale VCPI of those ports which are not relating to current +topology, we have chane to wrongly clear active payload table entry for +current topology. + +E.g. +We have allocated VCPI 1 in current payload table and we call +drm_dp_mst_deallocate_vcpi() to clean VCPI 1 in stale topology. In +drm_dp_mst_deallocate_vcpi(), it will call drm_dp_mst_put_payload_id() +tp put VCPI 1 and which means ID 1 is available again. Thereafter, if we +want to allocate a new payload stream, it will find ID 1 is available by +drm_dp_mst_assign_payload_id(). However, ID 1 is being used + +[How] +Check target sink is relating to current topology or not before doing +any payload table update. +Searching upward to find the target sink's relevant root branch device. +If the found root branch device is not the same root of current +topology, don't update payload table. + +Changes since v1: +* Change debug macro to use drm_dbg_kms() instead +* Amend the commit message to add Cc tag. + +Signed-off-by: Wayne Lin +Cc: stable@vger.kernel.org +Signed-off-by: Lyude Paul +Link: https://patchwork.freedesktop.org/patch/msgid/20210616035501.3776-3-Wayne.Lin@amd.com +Reviewed-by: Lyude Paul +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/drm_dp_mst_topology.c | 29 +++++++++++++++++++++++++++++ + 1 file changed, 29 insertions(+) + +--- a/drivers/gpu/drm/drm_dp_mst_topology.c ++++ b/drivers/gpu/drm/drm_dp_mst_topology.c +@@ -94,6 +94,9 @@ static int drm_dp_mst_register_i2c_bus(s + static void drm_dp_mst_unregister_i2c_bus(struct drm_dp_mst_port *port); + static void drm_dp_mst_kick_tx(struct drm_dp_mst_topology_mgr *mgr); + ++static bool drm_dp_mst_port_downstream_of_branch(struct drm_dp_mst_port *port, ++ struct drm_dp_mst_branch *branch); ++ + #define DBG_PREFIX "[dp_mst]" + + #define DP_STR(x) [DP_ ## x] = #x +@@ -3362,6 +3365,7 @@ int drm_dp_update_payload_part1(struct d + struct drm_dp_mst_port *port; + int i, j; + int cur_slots = 1; ++ bool skip; + + mutex_lock(&mgr->payload_lock); + for (i = 0; i < mgr->max_payloads; i++) { +@@ -3376,6 +3380,14 @@ int drm_dp_update_payload_part1(struct d + port = container_of(vcpi, struct drm_dp_mst_port, + vcpi); + ++ mutex_lock(&mgr->lock); ++ skip = !drm_dp_mst_port_downstream_of_branch(port, mgr->mst_primary); ++ mutex_unlock(&mgr->lock); ++ ++ if (skip) { ++ drm_dbg_kms("Virtual channel %d is not in current topology\n", i); ++ continue; ++ } + /* Validated ports don't matter if we're releasing + * VCPI + */ +@@ -3475,6 +3487,7 @@ int drm_dp_update_payload_part2(struct d + struct drm_dp_mst_port *port; + int i; + int ret = 0; ++ bool skip; + + mutex_lock(&mgr->payload_lock); + for (i = 0; i < mgr->max_payloads; i++) { +@@ -3484,6 +3497,13 @@ int drm_dp_update_payload_part2(struct d + + port = container_of(mgr->proposed_vcpis[i], struct drm_dp_mst_port, vcpi); + ++ mutex_lock(&mgr->lock); ++ skip = !drm_dp_mst_port_downstream_of_branch(port, mgr->mst_primary); ++ mutex_unlock(&mgr->lock); ++ ++ if (skip) ++ continue; ++ + DRM_DEBUG_KMS("payload %d %d\n", i, mgr->payloads[i].payload_state); + if (mgr->payloads[i].payload_state == DP_PAYLOAD_LOCAL) { + ret = drm_dp_create_payload_step2(mgr, port, mgr->proposed_vcpis[i]->vcpi, &mgr->payloads[i]); +@@ -4565,9 +4585,18 @@ EXPORT_SYMBOL(drm_dp_mst_reset_vcpi_slot + void drm_dp_mst_deallocate_vcpi(struct drm_dp_mst_topology_mgr *mgr, + struct drm_dp_mst_port *port) + { ++ bool skip; ++ + if (!port->vcpi.vcpi) + return; + ++ mutex_lock(&mgr->lock); ++ skip = !drm_dp_mst_port_downstream_of_branch(port, mgr->mst_primary); ++ mutex_unlock(&mgr->lock); ++ ++ if (skip) ++ return; ++ + drm_dp_mst_put_payload_id(mgr, port->vcpi.vcpi); + port->vcpi.num_slots = 0; + port->vcpi.pbn = 0; diff --git a/queue-5.12/drm-dp_mst-do-not-set-proposed-vcpi-directly.patch b/queue-5.12/drm-dp_mst-do-not-set-proposed-vcpi-directly.patch new file mode 100644 index 00000000000..a30f908ad31 --- /dev/null +++ b/queue-5.12/drm-dp_mst-do-not-set-proposed-vcpi-directly.patch @@ -0,0 +1,126 @@ +From 35d3e8cb35e75450f87f87e3d314e2d418b6954b Mon Sep 17 00:00:00 2001 +From: Wayne Lin +Date: Wed, 16 Jun 2021 11:55:00 +0800 +Subject: drm/dp_mst: Do not set proposed vcpi directly + +From: Wayne Lin + +commit 35d3e8cb35e75450f87f87e3d314e2d418b6954b upstream. + +[Why] +When we receive CSN message to notify one port is disconnected, we will +implicitly set its corresponding num_slots to 0. Later on, we will +eventually call drm_dp_update_payload_part1() to arrange down streams. + +In drm_dp_update_payload_part1(), we iterate over all proposed_vcpis[] +to do the update. Not specific to a target sink only. For example, if we +light up 2 monitors, Monitor_A and Monitor_B, and then we unplug +Monitor_B. Later on, when we call drm_dp_update_payload_part1() to try +to update payload for Monitor_A, we'll also implicitly clean payload for +Monitor_B at the same time. And finally, when we try to call +drm_dp_update_payload_part1() to clean payload for Monitor_B, we will do +nothing at this time since payload for Monitor_B has been cleaned up +previously. + +For StarTech 1to3 DP hub, it seems like if we didn't update DPCD payload +ID table then polling for "ACT Handled"(BIT_1 of DPCD 002C0h) will fail +and this polling will last for 3 seconds. + +Therefore, guess the best way is we don't set the proposed_vcpi[] +diretly. Let user of these herlper functions to set the proposed_vcpi +directly. + +[How] +1. Revert commit 7617e9621bf2 ("drm/dp_mst: clear time slots for ports +invalid") +2. Tackle the issue in previous commit by skipping those trasient +proposed VCPIs. These stale VCPIs shoulde be explicitly cleared by +user later on. + +Changes since v1: +* Change debug macro to use drm_dbg_kms() instead +* Amend the commit message to add Fixed & Cc tags + +Signed-off-by: Wayne Lin +Fixes: 7617e9621bf2 ("drm/dp_mst: clear time slots for ports invalid") +Cc: Lyude Paul +Cc: Wayne Lin +Cc: Maarten Lankhorst +Cc: Maxime Ripard +Cc: Thomas Zimmermann +Cc: dri-devel@lists.freedesktop.org +Cc: # v5.5+ +Signed-off-by: Lyude Paul +Link: https://patchwork.freedesktop.org/patch/msgid/20210616035501.3776-2-Wayne.Lin@amd.com +Reviewed-by: Lyude Paul +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/drm_dp_mst_topology.c | 36 +++++++++------------------------- + 1 file changed, 10 insertions(+), 26 deletions(-) + +--- a/drivers/gpu/drm/drm_dp_mst_topology.c ++++ b/drivers/gpu/drm/drm_dp_mst_topology.c +@@ -2499,7 +2499,7 @@ drm_dp_mst_handle_conn_stat(struct drm_d + { + struct drm_dp_mst_topology_mgr *mgr = mstb->mgr; + struct drm_dp_mst_port *port; +- int old_ddps, old_input, ret, i; ++ int old_ddps, ret; + u8 new_pdt; + bool new_mcs; + bool dowork = false, create_connector = false; +@@ -2531,7 +2531,6 @@ drm_dp_mst_handle_conn_stat(struct drm_d + } + + old_ddps = port->ddps; +- old_input = port->input; + port->input = conn_stat->input_port; + port->ldps = conn_stat->legacy_device_plug_status; + port->ddps = conn_stat->displayport_device_plug_status; +@@ -2554,28 +2553,6 @@ drm_dp_mst_handle_conn_stat(struct drm_d + dowork = false; + } + +- if (!old_input && old_ddps != port->ddps && !port->ddps) { +- for (i = 0; i < mgr->max_payloads; i++) { +- struct drm_dp_vcpi *vcpi = mgr->proposed_vcpis[i]; +- struct drm_dp_mst_port *port_validated; +- +- if (!vcpi) +- continue; +- +- port_validated = +- container_of(vcpi, struct drm_dp_mst_port, vcpi); +- port_validated = +- drm_dp_mst_topology_get_port_validated(mgr, port_validated); +- if (!port_validated) { +- mutex_lock(&mgr->payload_lock); +- vcpi->num_slots = 0; +- mutex_unlock(&mgr->payload_lock); +- } else { +- drm_dp_mst_topology_put_port(port_validated); +- } +- } +- } +- + if (port->connector) + drm_modeset_unlock(&mgr->base.lock); + else if (create_connector) +@@ -3406,8 +3383,15 @@ int drm_dp_update_payload_part1(struct d + port = drm_dp_mst_topology_get_port_validated( + mgr, port); + if (!port) { +- mutex_unlock(&mgr->payload_lock); +- return -EINVAL; ++ if (vcpi->num_slots == payload->num_slots) { ++ cur_slots += vcpi->num_slots; ++ payload->start_slot = req_payload.start_slot; ++ continue; ++ } else { ++ drm_dbg_kms("Fail:set payload to invalid sink"); ++ mutex_unlock(&mgr->payload_lock); ++ return -EINVAL; ++ } + } + put_port = true; + } diff --git a/queue-5.12/io_uring-fix-link-timeout-refs.patch b/queue-5.12/io_uring-fix-link-timeout-refs.patch new file mode 100644 index 00000000000..64c0bbd9a58 --- /dev/null +++ b/queue-5.12/io_uring-fix-link-timeout-refs.patch @@ -0,0 +1,49 @@ +From a298232ee6b9a1d5d732aa497ff8be0d45b5bd82 Mon Sep 17 00:00:00 2001 +From: Pavel Begunkov +Date: Fri, 7 May 2021 21:06:38 +0100 +Subject: io_uring: fix link timeout refs + +From: Pavel Begunkov + +commit a298232ee6b9a1d5d732aa497ff8be0d45b5bd82 upstream. + +WARNING: CPU: 0 PID: 10242 at lib/refcount.c:28 refcount_warn_saturate+0x15b/0x1a0 lib/refcount.c:28 +RIP: 0010:refcount_warn_saturate+0x15b/0x1a0 lib/refcount.c:28 +Call Trace: + __refcount_sub_and_test include/linux/refcount.h:283 [inline] + __refcount_dec_and_test include/linux/refcount.h:315 [inline] + refcount_dec_and_test include/linux/refcount.h:333 [inline] + io_put_req fs/io_uring.c:2140 [inline] + io_queue_linked_timeout fs/io_uring.c:6300 [inline] + __io_queue_sqe+0xbef/0xec0 fs/io_uring.c:6354 + io_submit_sqe fs/io_uring.c:6534 [inline] + io_submit_sqes+0x2bbd/0x7c50 fs/io_uring.c:6660 + __do_sys_io_uring_enter fs/io_uring.c:9240 [inline] + __se_sys_io_uring_enter+0x256/0x1d60 fs/io_uring.c:9182 + +io_link_timeout_fn() should put only one reference of the linked timeout +request, however in case of racing with the master request's completion +first io_req_complete() puts one and then io_put_req_deferred() is +called. + +Cc: stable@vger.kernel.org # 5.12+ +Fixes: 9ae1f8dd372e0 ("io_uring: fix inconsistent lock state") +Reported-by: syzbot+a2910119328ce8e7996f@syzkaller.appspotmail.com +Signed-off-by: Pavel Begunkov +Link: https://lore.kernel.org/r/ff51018ff29de5ffa76f09273ef48cb24c720368.1620417627.git.asml.silence@gmail.com +Signed-off-by: Jens Axboe +Signed-off-by: Greg Kroah-Hartman +--- + fs/io_uring.c | 1 - + 1 file changed, 1 deletion(-) + +--- a/fs/io_uring.c ++++ b/fs/io_uring.c +@@ -6307,7 +6307,6 @@ static enum hrtimer_restart io_link_time + } else { + io_req_complete_post(req, -ETIME, 0); + } +- io_put_req_deferred(req, 1); + return HRTIMER_NORESTART; + } + diff --git a/queue-5.12/io_uring-put-link-timeout-req-consistently.patch b/queue-5.12/io_uring-put-link-timeout-req-consistently.patch new file mode 100644 index 00000000000..330e76c73b0 --- /dev/null +++ b/queue-5.12/io_uring-put-link-timeout-req-consistently.patch @@ -0,0 +1,57 @@ +From df9727affa058f4f18e388b30247650f8ae13cd8 Mon Sep 17 00:00:00 2001 +From: Pavel Begunkov +Date: Thu, 1 Apr 2021 15:43:59 +0100 +Subject: io_uring: put link timeout req consistently + +From: Pavel Begunkov + +commit df9727affa058f4f18e388b30247650f8ae13cd8 upstream. + +Don't put linked timeout req in io_async_find_and_cancel() but do it in +io_link_timeout_fn(), so we have only one point for that and won't have +to do it differently as it's now (put vs put_deferred). Btw, improve a +bit io_async_find_and_cancel()'s locking. + +Signed-off-by: Pavel Begunkov +Link: https://lore.kernel.org/r/d75b70957f245275ab7cba83e0ac9c1b86aae78a.1617287883.git.asml.silence@gmail.com +Signed-off-by: Jens Axboe +Signed-off-by: Greg Kroah-Hartman +--- + fs/io_uring.c | 10 +++------- + 1 file changed, 3 insertions(+), 7 deletions(-) + +--- a/fs/io_uring.c ++++ b/fs/io_uring.c +@@ -5727,12 +5727,9 @@ static void io_async_find_and_cancel(str + int ret; + + ret = io_async_cancel_one(req->task->io_uring, sqe_addr, ctx); +- if (ret != -ENOENT) { +- spin_lock_irqsave(&ctx->completion_lock, flags); +- goto done; +- } +- + spin_lock_irqsave(&ctx->completion_lock, flags); ++ if (ret != -ENOENT) ++ goto done; + ret = io_timeout_cancel(ctx, sqe_addr); + if (ret != -ENOENT) + goto done; +@@ -5747,7 +5744,6 @@ done: + + if (ret < 0) + req_set_fail_links(req); +- io_put_req(req); + } + + static int io_async_cancel_prep(struct io_kiocb *req, +@@ -6310,8 +6306,8 @@ static enum hrtimer_restart io_link_time + io_put_req_deferred(req, 1); + } else { + io_req_complete_post(req, -ETIME, 0); +- io_put_req_deferred(req, 1); + } ++ io_put_req_deferred(req, 1); + return HRTIMER_NORESTART; + } + diff --git a/queue-5.12/net-bridge-multicast-fix-mrd-advertisement-router-port-marking-race.patch b/queue-5.12/net-bridge-multicast-fix-mrd-advertisement-router-port-marking-race.patch new file mode 100644 index 00000000000..2ee37d83fcc --- /dev/null +++ b/queue-5.12/net-bridge-multicast-fix-mrd-advertisement-router-port-marking-race.patch @@ -0,0 +1,47 @@ +From 000b7287b67555fee39d39fff75229dedde0dcbf Mon Sep 17 00:00:00 2001 +From: Nikolay Aleksandrov +Date: Sun, 11 Jul 2021 12:56:29 +0300 +Subject: net: bridge: multicast: fix MRD advertisement router port marking race + +From: Nikolay Aleksandrov + +commit 000b7287b67555fee39d39fff75229dedde0dcbf upstream. + +When an MRD advertisement is received on a bridge port with multicast +snooping enabled, we mark it as a router port automatically, that +includes adding that port to the router port list. The multicast lock +protects that list, but it is not acquired in the MRD advertisement case +leading to a race condition, we need to take it to fix the race. + +Cc: stable@vger.kernel.org +Cc: linus.luessing@c0d3.blue +Fixes: 4b3087c7e37f ("bridge: Snoop Multicast Router Advertisements") +Signed-off-by: Nikolay Aleksandrov +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman +--- + net/bridge/br_multicast.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/net/bridge/br_multicast.c ++++ b/net/bridge/br_multicast.c +@@ -3100,7 +3100,9 @@ static int br_ip4_multicast_mrd_rcv(stru + igmp_hdr(skb)->type != IGMP_MRDISC_ADV) + return -ENOMSG; + ++ spin_lock(&br->multicast_lock); + br_multicast_mark_router(br, port); ++ spin_unlock(&br->multicast_lock); + + return 0; + } +@@ -3168,7 +3170,9 @@ static void br_ip6_multicast_mrd_rcv(str + if (icmp6_hdr(skb)->icmp6_type != ICMPV6_MRDISC_ADV) + return; + ++ spin_lock(&br->multicast_lock); + br_multicast_mark_router(br, port); ++ spin_unlock(&br->multicast_lock); + } + + static int br_multicast_ipv6_rcv(struct net_bridge *br, diff --git a/queue-5.12/net-bridge-multicast-fix-pim-hello-router-port-marking-race.patch b/queue-5.12/net-bridge-multicast-fix-pim-hello-router-port-marking-race.patch new file mode 100644 index 00000000000..04b8eb4eb56 --- /dev/null +++ b/queue-5.12/net-bridge-multicast-fix-pim-hello-router-port-marking-race.patch @@ -0,0 +1,36 @@ +From 04bef83a3358946bfc98a5ecebd1b0003d83d882 Mon Sep 17 00:00:00 2001 +From: Nikolay Aleksandrov +Date: Sun, 11 Jul 2021 12:56:28 +0300 +Subject: net: bridge: multicast: fix PIM hello router port marking race + +From: Nikolay Aleksandrov + +commit 04bef83a3358946bfc98a5ecebd1b0003d83d882 upstream. + +When a PIM hello packet is received on a bridge port with multicast +snooping enabled, we mark it as a router port automatically, that +includes adding that port the router port list. The multicast lock +protects that list, but it is not acquired in the PIM message case +leading to a race condition, we need to take it to fix the race. + +Cc: stable@vger.kernel.org +Fixes: 91b02d3d133b ("bridge: mcast: add router port on PIM hello message") +Signed-off-by: Nikolay Aleksandrov +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman +--- + net/bridge/br_multicast.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/net/bridge/br_multicast.c ++++ b/net/bridge/br_multicast.c +@@ -3087,7 +3087,9 @@ static void br_multicast_pim(struct net_ + pim_hdr_type(pimhdr) != PIM_TYPE_HELLO) + return; + ++ spin_lock(&br->multicast_lock); + br_multicast_mark_router(br, port); ++ spin_unlock(&br->multicast_lock); + } + + static int br_ip4_multicast_mrd_rcv(struct net_bridge *br, diff --git a/queue-5.12/series b/queue-5.12/series index a35f3d97826..e7bbe8287dd 100644 --- a/queue-5.12/series +++ b/queue-5.12/series @@ -24,3 +24,10 @@ btrfs-properly-split-extent_map-for-req_op_zone_append.patch btrfs-fix-deadlock-with-concurrent-chunk-allocations-involving-system-chunks.patch btrfs-rework-chunk-allocation-to-avoid-exhaustion-of-the-system-chunk-array.patch btrfs-zoned-fix-wrong-mutex-unlock-on-failure-to-allocate-log-root-tree.patch +drm-dp_mst-do-not-set-proposed-vcpi-directly.patch +drm-dp_mst-avoid-to-mess-up-payload-table-by-ports-in-stale-topology.patch +drm-dp_mst-add-missing-drm-parameters-to-recently-added-call-to-drm_dbg_kms.patch +io_uring-put-link-timeout-req-consistently.patch +io_uring-fix-link-timeout-refs.patch +net-bridge-multicast-fix-pim-hello-router-port-marking-race.patch +net-bridge-multicast-fix-mrd-advertisement-router-port-marking-race.patch