From: Greg Kroah-Hartman Date: Mon, 17 Oct 2022 10:13:31 +0000 (+0200) Subject: 6.0-stable patches X-Git-Tag: v5.4.219~18 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8184cfb2de36ac4465380ee76353fb731700bab9;p=thirdparty%2Fkernel%2Fstable-queue.git 6.0-stable patches added patches: alsa-usb-audio-fix-last-interface-check-for-registration.patch blk-wbt-fix-that-rwb-wc-is-always-set-to-1-in-wbt_init.patch net-ieee802154-return-einval-for-unknown-addr-type.patch --- diff --git a/queue-6.0/alsa-usb-audio-fix-last-interface-check-for-registration.patch b/queue-6.0/alsa-usb-audio-fix-last-interface-check-for-registration.patch new file mode 100644 index 00000000000..bf7eb234bd8 --- /dev/null +++ b/queue-6.0/alsa-usb-audio-fix-last-interface-check-for-registration.patch @@ -0,0 +1,40 @@ +From 39efc9c8a973ddff5918191525d1679d0fb368ea Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Thu, 15 Sep 2022 10:59:47 +0200 +Subject: ALSA: usb-audio: Fix last interface check for registration + +From: Takashi Iwai + +commit 39efc9c8a973ddff5918191525d1679d0fb368ea upstream. + +The recent fix in commit 6392dcd1d0c7 ("ALSA: usb-audio: Register card +at the last interface") tried to delay the card registration until the +last found interface is probed. It assumed that the probe callback +gets called for those later interfaces, but it's not always true; as +the driver loops over the descriptor and probes the matching ones, +it's not separately called via multiple probe calls. This results in +the missing card registration, i.e. no sound device. + +For addressing this problem, replace the check whether the last +interface is processed with usb_interface_claimed() instead of the +comparison with the probe interface number. + +Fixes: 6392dcd1d0c7 ("ALSA: usb-audio: Register card at the last interface") +Link: https://lore.kernel.org/r/20220915085947.7922-1-tiwai@suse.de +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +--- + sound/usb/card.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/sound/usb/card.c ++++ b/sound/usb/card.c +@@ -884,7 +884,7 @@ static int usb_audio_probe(struct usb_in + * one given via option + */ + if (check_delayed_register_option(chip) == ifnum || +- chip->last_iface == ifnum) { ++ usb_interface_claimed(usb_ifnum_to_if(dev, chip->last_iface))) { + err = snd_card_register(chip->card); + if (err < 0) + goto __error; diff --git a/queue-6.0/blk-wbt-fix-that-rwb-wc-is-always-set-to-1-in-wbt_init.patch b/queue-6.0/blk-wbt-fix-that-rwb-wc-is-always-set-to-1-in-wbt_init.patch new file mode 100644 index 00000000000..014ed731c5a --- /dev/null +++ b/queue-6.0/blk-wbt-fix-that-rwb-wc-is-always-set-to-1-in-wbt_init.patch @@ -0,0 +1,45 @@ +From 285febabac4a16655372d23ff43e89ff6f216691 Mon Sep 17 00:00:00 2001 +From: Yu Kuai +Date: Sun, 9 Oct 2022 18:10:38 +0800 +Subject: blk-wbt: fix that 'rwb->wc' is always set to 1 in wbt_init() + +From: Yu Kuai + +commit 285febabac4a16655372d23ff43e89ff6f216691 upstream. + +commit 8c5035dfbb94 ("blk-wbt: call rq_qos_add() after wb_normal is +initialized") moves wbt_set_write_cache() before rq_qos_add(), which +is wrong because wbt_rq_qos() is still NULL. + +Fix the problem by removing wbt_set_write_cache() and setting 'rwb->wc' +directly. Noted that this patch also remove the redundant setting of +'rab->wc'. + +Fixes: 8c5035dfbb94 ("blk-wbt: call rq_qos_add() after wb_normal is initialized") +Reported-by: kernel test robot +Link: https://lore.kernel.org/r/202210081045.77ddf59b-yujie.liu@intel.com +Signed-off-by: Yu Kuai +Reviewed-by: Ming Lei +Link: https://lore.kernel.org/r/20221009101038.1692875-1-yukuai1@huaweicloud.com +Signed-off-by: Jens Axboe +Signed-off-by: Greg Kroah-Hartman +--- + block/blk-wbt.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +--- a/block/blk-wbt.c ++++ b/block/blk-wbt.c +@@ -841,12 +841,11 @@ int wbt_init(struct request_queue *q) + rwb->last_comp = rwb->last_issue = jiffies; + rwb->win_nsec = RWB_WINDOW_NSEC; + rwb->enable_state = WBT_STATE_ON_DEFAULT; +- rwb->wc = 1; ++ rwb->wc = test_bit(QUEUE_FLAG_WC, &q->queue_flags); + rwb->rq_depth.default_depth = RWB_DEF_DEPTH; + rwb->min_lat_nsec = wbt_default_latency_nsec(q); + + wbt_queue_depth_changed(&rwb->rqos); +- wbt_set_write_cache(q, test_bit(QUEUE_FLAG_WC, &q->queue_flags)); + + /* + * Assign rwb and add the stats callback. diff --git a/queue-6.0/net-ieee802154-return-einval-for-unknown-addr-type.patch b/queue-6.0/net-ieee802154-return-einval-for-unknown-addr-type.patch new file mode 100644 index 00000000000..47c874abf74 --- /dev/null +++ b/queue-6.0/net-ieee802154-return-einval-for-unknown-addr-type.patch @@ -0,0 +1,54 @@ +From 30393181fdbc1608cc683b4ee99dcce05ffcc8c7 Mon Sep 17 00:00:00 2001 +From: Alexander Aring +Date: Wed, 5 Oct 2022 22:02:37 -0400 +Subject: net: ieee802154: return -EINVAL for unknown addr type + +From: Alexander Aring + +commit 30393181fdbc1608cc683b4ee99dcce05ffcc8c7 upstream. + +This patch adds handling to return -EINVAL for an unknown addr type. The +current behaviour is to return 0 as successful but the size of an +unknown addr type is not defined and should return an error like -EINVAL. + +Fixes: 94160108a70c ("net/ieee802154: fix uninit value bug in dgram_sendmsg") +Signed-off-by: Alexander Aring +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman +--- + include/net/ieee802154_netdev.h | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +--- a/include/net/ieee802154_netdev.h ++++ b/include/net/ieee802154_netdev.h +@@ -185,21 +185,27 @@ static inline int + ieee802154_sockaddr_check_size(struct sockaddr_ieee802154 *daddr, int len) + { + struct ieee802154_addr_sa *sa; ++ int ret = 0; + + sa = &daddr->addr; + if (len < IEEE802154_MIN_NAMELEN) + return -EINVAL; + switch (sa->addr_type) { ++ case IEEE802154_ADDR_NONE: ++ break; + case IEEE802154_ADDR_SHORT: + if (len < IEEE802154_NAMELEN_SHORT) +- return -EINVAL; ++ ret = -EINVAL; + break; + case IEEE802154_ADDR_LONG: + if (len < IEEE802154_NAMELEN_LONG) +- return -EINVAL; ++ ret = -EINVAL; ++ break; ++ default: ++ ret = -EINVAL; + break; + } +- return 0; ++ return ret; + } + + static inline void ieee802154_addr_from_sa(struct ieee802154_addr *a, diff --git a/queue-6.0/series b/queue-6.0/series index d77d1959b5d..3f25fcbbbcc 100644 --- a/queue-6.0/series +++ b/queue-6.0/series @@ -937,3 +937,6 @@ io_uring-net-rename-io_sendzc.patch io_uring-net-don-t-skip-notifs-for-failed-requests.patch io_uring-net-fix-notif-cqe-reordering.patch mm-hugetlb-fix-uaf-in-hugetlb_handle_userfault.patch +net-ieee802154-return-einval-for-unknown-addr-type.patch +alsa-usb-audio-fix-last-interface-check-for-registration.patch +blk-wbt-fix-that-rwb-wc-is-always-set-to-1-in-wbt_init.patch