commit: 437036d1af736c254ed24cae3357fb729a898ddd Author: Mike Pagano <mpagano <AT> gentoo <DOT> org> AuthorDate: Mon Feb 6 12:47:34 2023 +0000 Commit: Mike Pagano <mpagano <AT> gentoo <DOT> org> CommitDate: Mon Feb 6 12:47:34 2023 +0000 URL: https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=437036d1
Linux patch 5.10.167 Signed-off-by: Mike Pagano <mpagano <AT> gentoo.org> 0000_README | 4 + 1166_linux-5.10.167.patch | 203 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 207 insertions(+) diff --git a/0000_README b/0000_README index 3bb96c32..99a312cb 100644 --- a/0000_README +++ b/0000_README @@ -707,6 +707,10 @@ Patch: 1165_linux-5.10.166.patch From: http://www.kernel.org Desc: Linux 5.10.166 +Patch: 1166_linux-5.10.167.patch +From: http://www.kernel.org +Desc: Linux 5.10.167 + Patch: 1500_XATTR_USER_PREFIX.patch From: https://bugs.gentoo.org/show_bug.cgi?id=470644 Desc: Support for namespace user.pax.* on tmpfs. diff --git a/1166_linux-5.10.167.patch b/1166_linux-5.10.167.patch new file mode 100644 index 00000000..989d3996 --- /dev/null +++ b/1166_linux-5.10.167.patch @@ -0,0 +1,203 @@ +diff --git a/Makefile b/Makefile +index efdfb40a82abb..84b78e657357c 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,7 +1,7 @@ + # SPDX-License-Identifier: GPL-2.0 + VERSION = 5 + PATCHLEVEL = 10 +-SUBLEVEL = 166 ++SUBLEVEL = 167 + EXTRAVERSION = + NAME = Dare mighty things + +diff --git a/arch/arm/boot/dts/imx53-ppd.dts b/arch/arm/boot/dts/imx53-ppd.dts +index 006fbd7f54322..54e39db447c4d 100644 +--- a/arch/arm/boot/dts/imx53-ppd.dts ++++ b/arch/arm/boot/dts/imx53-ppd.dts +@@ -487,7 +487,7 @@ + scl-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>; + status = "okay"; + +- i2c-switch@70 { ++ i2c-mux@70 { + compatible = "nxp,pca9547"; + #address-cells = <1>; + #size-cells = <0>; +diff --git a/arch/arm/boot/dts/vf610-zii-dev-rev-b.dts b/arch/arm/boot/dts/vf610-zii-dev-rev-b.dts +index 6f1e0f0d4f0ae..073f5d196ca9b 100644 +--- a/arch/arm/boot/dts/vf610-zii-dev-rev-b.dts ++++ b/arch/arm/boot/dts/vf610-zii-dev-rev-b.dts +@@ -345,7 +345,7 @@ + }; + + &i2c2 { +- tca9548@70 { ++ i2c-mux@70 { + compatible = "nxp,pca9548"; + pinctrl-0 = <&pinctrl_i2c_mux_reset>; + pinctrl-names = "default"; +diff --git a/arch/arm/boot/dts/vf610-zii-dev-rev-c.dts b/arch/arm/boot/dts/vf610-zii-dev-rev-c.dts +index de79dcfd32e62..ba2001f373158 100644 +--- a/arch/arm/boot/dts/vf610-zii-dev-rev-c.dts ++++ b/arch/arm/boot/dts/vf610-zii-dev-rev-c.dts +@@ -340,7 +340,7 @@ + }; + + &i2c2 { +- tca9548@70 { ++ i2c-mux@70 { + compatible = "nxp,pca9548"; + pinctrl-0 = <&pinctrl_i2c_mux_reset>; + pinctrl-names = "default"; +diff --git a/arch/arm64/boot/dts/freescale/imx8mq-thor96.dts b/arch/arm64/boot/dts/freescale/imx8mq-thor96.dts +index 5d5aa6537225f..6e6182709d220 100644 +--- a/arch/arm64/boot/dts/freescale/imx8mq-thor96.dts ++++ b/arch/arm64/boot/dts/freescale/imx8mq-thor96.dts +@@ -339,7 +339,7 @@ + bus-width = <4>; + non-removable; + no-sd; +- no-emmc; ++ no-mmc; + status = "okay"; + + brcmf: wifi@1 { +@@ -359,7 +359,7 @@ + cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; + bus-width = <4>; + no-sdio; +- no-emmc; ++ no-mmc; + disable-wp; + status = "okay"; + }; +diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c +index 484c6b2dd264e..c623632c1cda0 100644 +--- a/block/blk-cgroup.c ++++ b/block/blk-cgroup.c +@@ -1370,6 +1370,10 @@ retry: + list_for_each_entry_reverse(blkg, &q->blkg_list, q_node) + pol->pd_init_fn(blkg->pd[pol->plid]); + ++ if (pol->pd_online_fn) ++ list_for_each_entry_reverse(blkg, &q->blkg_list, q_node) ++ pol->pd_online_fn(blkg->pd[pol->plid]); ++ + __set_bit(pol->plid, q->blkcg_pols); + ret = 0; + +diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c +index e5dd87ddc6b34..59781e765e0e2 100644 +--- a/drivers/acpi/processor_idle.c ++++ b/drivers/acpi/processor_idle.c +@@ -536,10 +536,27 @@ static void wait_for_freeze(void) + /* No delay is needed if we are in guest */ + if (boot_cpu_has(X86_FEATURE_HYPERVISOR)) + return; ++ /* ++ * Modern (>=Nehalem) Intel systems use ACPI via intel_idle, ++ * not this code. Assume that any Intel systems using this ++ * are ancient and may need the dummy wait. This also assumes ++ * that the motivating chipset issue was Intel-only. ++ */ ++ if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL) ++ return; + #endif +- /* Dummy wait op - must do something useless after P_LVL2 read +- because chipsets cannot guarantee that STPCLK# signal +- gets asserted in time to freeze execution properly. */ ++ /* ++ * Dummy wait op - must do something useless after P_LVL2 read ++ * because chipsets cannot guarantee that STPCLK# signal gets ++ * asserted in time to freeze execution properly ++ * ++ * This workaround has been in place since the original ACPI ++ * implementation was merged, circa 2002. ++ * ++ * If a profile is pointing to this instruction, please first ++ * consider moving your system to a more modern idle ++ * mechanism. ++ */ + inl(acpi_gbl_FADT.xpm_timer_block.address); + } + +diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c +index 2283dcd8bf91d..6514db824473c 100644 +--- a/drivers/dma/imx-sdma.c ++++ b/drivers/dma/imx-sdma.c +@@ -1363,10 +1363,12 @@ static struct sdma_desc *sdma_transfer_init(struct sdma_channel *sdmac, + sdma_config_ownership(sdmac, false, true, false); + + if (sdma_load_context(sdmac)) +- goto err_desc_out; ++ goto err_bd_out; + + return desc; + ++err_bd_out: ++ sdma_free_bd(desc); + err_desc_out: + kfree(desc); + err_out: +diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c +index a9e074769881f..ab4f51716645b 100644 +--- a/kernel/trace/bpf_trace.c ++++ b/kernel/trace/bpf_trace.c +@@ -1072,6 +1072,9 @@ static int bpf_send_signal_common(u32 sig, enum pid_type type) + return -EPERM; + if (unlikely(!nmi_uaccess_okay())) + return -EPERM; ++ /* Task should not be pid=1 to avoid kernel panic. */ ++ if (unlikely(is_global_init(current))) ++ return -EPERM; + + if (irqs_disabled()) { + /* Do an early check on signal validity. Otherwise, +diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c +index 954b29605c942..eb111504afc60 100644 +--- a/net/bluetooth/hci_event.c ++++ b/net/bluetooth/hci_event.c +@@ -4307,6 +4307,19 @@ static void hci_sync_conn_complete_evt(struct hci_dev *hdev, + struct hci_ev_sync_conn_complete *ev = (void *) skb->data; + struct hci_conn *conn; + ++ switch (ev->link_type) { ++ case SCO_LINK: ++ case ESCO_LINK: ++ break; ++ default: ++ /* As per Core 5.3 Vol 4 Part E 7.7.35 (p.2219), Link_Type ++ * for HCI_Synchronous_Connection_Complete is limited to ++ * either SCO or eSCO ++ */ ++ bt_dev_err(hdev, "Ignoring connect complete event for invalid link type"); ++ return; ++ } ++ + BT_DBG("%s status 0x%2.2x", hdev->name, ev->status); + + hci_dev_lock(hdev); +diff --git a/net/core/skbuff.c b/net/core/skbuff.c +index 2b12e0730b852..668a9d0fbbc6e 100644 +--- a/net/core/skbuff.c ++++ b/net/core/skbuff.c +@@ -3688,7 +3688,7 @@ struct sk_buff *skb_segment_list(struct sk_buff *skb, + + skb_shinfo(skb)->frag_list = NULL; + +- do { ++ while (list_skb) { + nskb = list_skb; + list_skb = list_skb->next; + +@@ -3732,8 +3732,7 @@ struct sk_buff *skb_segment_list(struct sk_buff *skb, + if (skb_needs_linearize(nskb, features) && + __skb_linearize(nskb)) + goto err_linearize; +- +- } while (list_skb); ++ } + + skb->truesize = skb->truesize - delta_truesize; + skb->data_len = skb->data_len - delta_len;
