From 2807f84b629c1a05304e4b39447973084889d9de Mon Sep 17 00:00:00 2001 From: Koen Vandeputte Date: Mon, 5 Aug 2019 11:06:09 +0200 Subject: [PATCH] kernel: bump 4.9 to 4.9.187 Refreshed all patches. Altered patches: - 021-bridge-multicast-to-unicast.patch Remove upstreamed: - 001-um-Allow-building-and-running-on-older-hosts.patch - 003-um-Fix-check-for-_xstate-for-older-hosts.patch Fixes: - CVE-2019-10207 - CVE-2019-13648 Compile-tested on: ar71xx Runtime-tested on: ar71xx Signed-off-by: Koen Vandeputte --- include/kernel-version.mk | 4 +- .../950-0031-Add-dwc_otg-driver.patch | 2 +- .../021-bridge-multicast-to-unicast.patch | 34 ++-- ...90-net-generalize-napi_complete_done.patch | 2 +- .../hack-4.9/207-disable-modorder.patch | 4 +- .../generic/hack-4.9/220-gc_sections.patch | 2 +- .../generic/hack-4.9/259-regmap_dynamic.patch | 2 +- .../702-phy_add_aneg_done_function.patch | 2 +- .../generic/hack-4.9/902-debloat_proc.patch | 2 +- .../pending-4.9/201-extra_optimization.patch | 2 +- .../203-kallsyms_uncompressed.patch | 8 +- ...detach-callback-to-struct-phy_driver.patch | 2 +- .../811-pci_disable_usb_common_quirks.patch | 6 +- .../patches-4.9/160-delayed_uart_io.patch | 8 +- .../703-phy-support-layerscape.patch | 6 +- .../804-crypto-support-layerscape.patch | 166 +++++++++--------- .../817-usb-support-layerscape.patch | 2 +- ...-building-and-running-on-older-hosts.patch | 99 ----------- ...ix-check-for-_xstate-for-older-hosts.patch | 46 ----- 19 files changed, 127 insertions(+), 272 deletions(-) delete mode 100644 target/linux/uml/patches-4.9/001-um-Allow-building-and-running-on-older-hosts.patch delete mode 100644 target/linux/uml/patches-4.9/003-um-Fix-check-for-_xstate-for-older-hosts.patch diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 612261475b..2fe6bf2826 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -2,10 +2,10 @@ LINUX_RELEASE?=1 -LINUX_VERSION-4.9 = .186 +LINUX_VERSION-4.9 = .187 LINUX_VERSION-4.14 = .134 -LINUX_KERNEL_HASH-4.9.186 = 242484430d0729791d8efd92181b7d34b4021050646c6e00cf459866eab94b6a +LINUX_KERNEL_HASH-4.9.187 = 014bcd042cd25e073539c17bd34c616a936b19787a9c6a4c35d36a4f28afd1c7 LINUX_KERNEL_HASH-4.14.134 = 0b21e7b5effd92303a551b5be2380c9703d6fb87cfe5189fe0d795cc73903d2d remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) diff --git a/target/linux/brcm2708/patches-4.9/950-0031-Add-dwc_otg-driver.patch b/target/linux/brcm2708/patches-4.9/950-0031-Add-dwc_otg-driver.patch index fddcb3e4c6..5903e5ad6d 100644 --- a/target/linux/brcm2708/patches-4.9/950-0031-Add-dwc_otg-driver.patch +++ b/target/linux/brcm2708/patches-4.9/950-0031-Add-dwc_otg-driver.patch @@ -696,7 +696,7 @@ Signed-off-by: Noralf Trønnes } --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5081,7 +5081,7 @@ static void port_event(struct usb_hub *h +@@ -5088,7 +5088,7 @@ static void port_event(struct usb_hub *h if (portchange & USB_PORT_STAT_C_OVERCURRENT) { u16 status = 0, unused; diff --git a/target/linux/generic/backport-4.9/021-bridge-multicast-to-unicast.patch b/target/linux/generic/backport-4.9/021-bridge-multicast-to-unicast.patch index 1d3ce28128..8fc5880041 100644 --- a/target/linux/generic/backport-4.9/021-bridge-multicast-to-unicast.patch +++ b/target/linux/generic/backport-4.9/021-bridge-multicast-to-unicast.patch @@ -246,14 +246,14 @@ Signed-off-by: Linus Lüssing struct igmpv3_report *ih; struct igmpv3_grec *grec; int i; -@@ -1068,12 +1101,14 @@ static int br_ip4_multicast_igmp3_report +@@ -1070,12 +1103,14 @@ static int br_ip4_multicast_igmp3_report continue; } + src = eth_hdr(skb)->h_source; if ((type == IGMPV3_CHANGE_TO_INCLUDE || type == IGMPV3_MODE_IS_INCLUDE) && - ntohs(grec->grec_nsrcs) == 0) { + nsrcs == 0) { - br_ip4_multicast_leave_group(br, port, group, vid); + br_ip4_multicast_leave_group(br, port, group, vid, src); } else { @@ -263,7 +263,7 @@ Signed-off-by: Linus Lüssing if (err) break; } -@@ -1088,6 +1123,7 @@ static int br_ip6_multicast_mld2_report( +@@ -1090,6 +1125,7 @@ static int br_ip6_multicast_mld2_report( struct sk_buff *skb, u16 vid) { @@ -271,9 +271,9 @@ Signed-off-by: Linus Lüssing struct icmp6hdr *icmp6h; struct mld2_grec *grec; int i; -@@ -1139,10 +1175,11 @@ static int br_ip6_multicast_mld2_report( +@@ -1144,10 +1180,11 @@ static int br_ip6_multicast_mld2_report( grec->grec_type == MLD2_MODE_IS_INCLUDE) && - ntohs(*nsrcs) == 0) { + nsrcs == 0) { br_ip6_multicast_leave_group(br, port, &grec->grec_mca, - vid); + vid, src); @@ -285,7 +285,7 @@ Signed-off-by: Linus Lüssing if (err) break; } -@@ -1458,7 +1495,8 @@ br_multicast_leave_group(struct net_brid +@@ -1462,7 +1499,8 @@ br_multicast_leave_group(struct net_brid struct net_bridge_port *port, struct br_ip *group, struct bridge_mcast_other_query *other_query, @@ -295,7 +295,7 @@ Signed-off-by: Linus Lüssing { struct net_bridge_mdb_htable *mdb; struct net_bridge_mdb_entry *mp; -@@ -1482,7 +1520,7 @@ br_multicast_leave_group(struct net_brid +@@ -1486,7 +1524,7 @@ br_multicast_leave_group(struct net_brid for (pp = &mp->ports; (p = mlock_dereference(*pp, br)) != NULL; pp = &p->next) { @@ -304,7 +304,7 @@ Signed-off-by: Linus Lüssing continue; rcu_assign_pointer(*pp, p->next); -@@ -1513,7 +1551,7 @@ br_multicast_leave_group(struct net_brid +@@ -1517,7 +1555,7 @@ br_multicast_leave_group(struct net_brid for (p = mlock_dereference(mp->ports, br); p != NULL; p = mlock_dereference(p->next, br)) { @@ -313,7 +313,7 @@ Signed-off-by: Linus Lüssing continue; if (!hlist_unhashed(&p->mglist) && -@@ -1564,7 +1602,8 @@ out: +@@ -1568,7 +1606,8 @@ out: static void br_ip4_multicast_leave_group(struct net_bridge *br, struct net_bridge_port *port, __be32 group, @@ -323,7 +323,7 @@ Signed-off-by: Linus Lüssing { struct br_ip br_group; struct bridge_mcast_own_query *own_query; -@@ -1579,14 +1618,15 @@ static void br_ip4_multicast_leave_group +@@ -1583,14 +1622,15 @@ static void br_ip4_multicast_leave_group br_group.vid = vid; br_multicast_leave_group(br, port, &br_group, &br->ip4_other_query, @@ -341,7 +341,7 @@ Signed-off-by: Linus Lüssing { struct br_ip br_group; struct bridge_mcast_own_query *own_query; -@@ -1601,7 +1641,7 @@ static void br_ip6_multicast_leave_group +@@ -1605,7 +1645,7 @@ static void br_ip6_multicast_leave_group br_group.vid = vid; br_multicast_leave_group(br, port, &br_group, &br->ip6_other_query, @@ -350,7 +350,7 @@ Signed-off-by: Linus Lüssing } #endif -@@ -1644,6 +1684,7 @@ static int br_multicast_ipv4_rcv(struct +@@ -1648,6 +1688,7 @@ static int br_multicast_ipv4_rcv(struct u16 vid) { struct sk_buff *skb_trimmed = NULL; @@ -358,7 +358,7 @@ Signed-off-by: Linus Lüssing struct igmphdr *ih; int err; -@@ -1659,13 +1700,14 @@ static int br_multicast_ipv4_rcv(struct +@@ -1663,13 +1704,14 @@ static int br_multicast_ipv4_rcv(struct } ih = igmp_hdr(skb); @@ -374,7 +374,7 @@ Signed-off-by: Linus Lüssing break; case IGMPV3_HOST_MEMBERSHIP_REPORT: err = br_ip4_multicast_igmp3_report(br, port, skb_trimmed, vid); -@@ -1674,7 +1716,7 @@ static int br_multicast_ipv4_rcv(struct +@@ -1678,7 +1720,7 @@ static int br_multicast_ipv4_rcv(struct err = br_ip4_multicast_query(br, port, skb_trimmed, vid); break; case IGMP_HOST_LEAVE_MESSAGE: @@ -383,7 +383,7 @@ Signed-off-by: Linus Lüssing break; } -@@ -1694,6 +1736,7 @@ static int br_multicast_ipv6_rcv(struct +@@ -1698,6 +1740,7 @@ static int br_multicast_ipv6_rcv(struct u16 vid) { struct sk_buff *skb_trimmed = NULL; @@ -391,7 +391,7 @@ Signed-off-by: Linus Lüssing struct mld_msg *mld; int err; -@@ -1713,8 +1756,10 @@ static int br_multicast_ipv6_rcv(struct +@@ -1717,8 +1760,10 @@ static int br_multicast_ipv6_rcv(struct switch (mld->mld_type) { case ICMPV6_MGM_REPORT: @@ -403,7 +403,7 @@ Signed-off-by: Linus Lüssing break; case ICMPV6_MLD2_REPORT: err = br_ip6_multicast_mld2_report(br, port, skb_trimmed, vid); -@@ -1723,7 +1768,8 @@ static int br_multicast_ipv6_rcv(struct +@@ -1727,7 +1772,8 @@ static int br_multicast_ipv6_rcv(struct err = br_ip6_multicast_query(br, port, skb_trimmed, vid); break; case ICMPV6_MGM_REDUCTION: diff --git a/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch b/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch index 6c1f762e8d..bc71e90a2f 100644 --- a/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch +++ b/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch @@ -388,7 +388,7 @@ Signed-off-by: David S. Miller BNX2_PCICFG_INT_ACK_CMD_INDEX_VALID | --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c -@@ -3236,7 +3236,7 @@ static int bnx2x_poll(struct napi_struct +@@ -3239,7 +3239,7 @@ static int bnx2x_poll(struct napi_struct * has been updated when NAPI was scheduled. */ if (IS_FCOE_FP(fp)) { diff --git a/target/linux/generic/hack-4.9/207-disable-modorder.patch b/target/linux/generic/hack-4.9/207-disable-modorder.patch index e92f4fa0bf..c66a4db200 100644 --- a/target/linux/generic/hack-4.9/207-disable-modorder.patch +++ b/target/linux/generic/hack-4.9/207-disable-modorder.patch @@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau --- a/Makefile +++ b/Makefile -@@ -1226,7 +1226,6 @@ all: modules +@@ -1227,7 +1227,6 @@ all: modules PHONY += modules modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin @@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau @$(kecho) ' Building modules, stage 2.'; $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_modbuild -@@ -1256,7 +1255,6 @@ _modinst_: +@@ -1257,7 +1256,6 @@ _modinst_: rm -f $(MODLIB)/build ; \ ln -s $(CURDIR) $(MODLIB)/build ; \ fi diff --git a/target/linux/generic/hack-4.9/220-gc_sections.patch b/target/linux/generic/hack-4.9/220-gc_sections.patch index b9bf183145..1baa1bf21f 100644 --- a/target/linux/generic/hack-4.9/220-gc_sections.patch +++ b/target/linux/generic/hack-4.9/220-gc_sections.patch @@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos # Read KERNELRELEASE from include/config/kernel.release (if it exists) KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null) KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION) -@@ -650,11 +655,6 @@ KBUILD_CFLAGS += $(call cc-disable-warni +@@ -651,11 +656,6 @@ KBUILD_CFLAGS += $(call cc-disable-warni KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member) KBUILD_CFLAGS += $(call cc-disable-warning, attribute-alias) diff --git a/target/linux/generic/hack-4.9/259-regmap_dynamic.patch b/target/linux/generic/hack-4.9/259-regmap_dynamic.patch index 85c9d79159..97b89aa390 100644 --- a/target/linux/generic/hack-4.9/259-regmap_dynamic.patch +++ b/target/linux/generic/hack-4.9/259-regmap_dynamic.patch @@ -85,7 +85,7 @@ Signed-off-by: Felix Fietkau #include #include #include -@@ -2913,3 +2914,5 @@ static int __init regmap_initcall(void) +@@ -2915,3 +2916,5 @@ static int __init regmap_initcall(void) return 0; } postcore_initcall(regmap_initcall); diff --git a/target/linux/generic/hack-4.9/702-phy_add_aneg_done_function.patch b/target/linux/generic/hack-4.9/702-phy_add_aneg_done_function.patch index 1862375be2..b58584091b 100644 --- a/target/linux/generic/hack-4.9/702-phy_add_aneg_done_function.patch +++ b/target/linux/generic/hack-4.9/702-phy_add_aneg_done_function.patch @@ -15,7 +15,7 @@ --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1309,6 +1309,9 @@ int genphy_update_link(struct phy_device +@@ -1315,6 +1315,9 @@ int genphy_update_link(struct phy_device { int status; diff --git a/target/linux/generic/hack-4.9/902-debloat_proc.patch b/target/linux/generic/hack-4.9/902-debloat_proc.patch index 50431de8dc..c887233416 100644 --- a/target/linux/generic/hack-4.9/902-debloat_proc.patch +++ b/target/linux/generic/hack-4.9/902-debloat_proc.patch @@ -221,7 +221,7 @@ Signed-off-by: Felix Fietkau if (!root_irq_dir) --- a/kernel/time/timer_list.c +++ b/kernel/time/timer_list.c -@@ -399,6 +399,9 @@ static int __init init_timer_list_procfs +@@ -400,6 +400,9 @@ static int __init init_timer_list_procfs { struct proc_dir_entry *pe; diff --git a/target/linux/generic/pending-4.9/201-extra_optimization.patch b/target/linux/generic/pending-4.9/201-extra_optimization.patch index bce7a911da..f5ff7081ee 100644 --- a/target/linux/generic/pending-4.9/201-extra_optimization.patch +++ b/target/linux/generic/pending-4.9/201-extra_optimization.patch @@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau --- a/Makefile +++ b/Makefile -@@ -656,12 +656,12 @@ KBUILD_CFLAGS += $(call cc-option,-fdata +@@ -657,12 +657,12 @@ KBUILD_CFLAGS += $(call cc-option,-fdata endif ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE diff --git a/target/linux/generic/pending-4.9/203-kallsyms_uncompressed.patch b/target/linux/generic/pending-4.9/203-kallsyms_uncompressed.patch index f275194739..759357549b 100644 --- a/target/linux/generic/pending-4.9/203-kallsyms_uncompressed.patch +++ b/target/linux/generic/pending-4.9/203-kallsyms_uncompressed.patch @@ -65,7 +65,7 @@ Signed-off-by: Felix Fietkau static int absolute_percpu = 0; static char symbol_prefix_char = '\0'; static int base_relative = 0; -@@ -446,6 +447,9 @@ static void write_src(void) +@@ -449,6 +450,9 @@ static void write_src(void) free(markers); @@ -75,7 +75,7 @@ Signed-off-by: Felix Fietkau output_label("kallsyms_token_table"); off = 0; for (i = 0; i < 256; i++) { -@@ -504,6 +508,9 @@ static void *find_token(unsigned char *s +@@ -507,6 +511,9 @@ static void *find_token(unsigned char *s { int i; @@ -85,7 +85,7 @@ Signed-off-by: Felix Fietkau for (i = 0; i < len - 1; i++) { if (str[i] == token[0] && str[i+1] == token[1]) return &str[i]; -@@ -576,6 +583,9 @@ static void optimize_result(void) +@@ -579,6 +586,9 @@ static void optimize_result(void) { int i, best; @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau /* using the '\0' symbol last allows compress_symbols to use standard * fast string functions */ for (i = 255; i >= 0; i--) { -@@ -764,6 +774,8 @@ int main(int argc, char **argv) +@@ -767,6 +777,8 @@ int main(int argc, char **argv) symbol_prefix_char = *p; } else if (strcmp(argv[i], "--base-relative") == 0) base_relative = 1; diff --git a/target/linux/generic/pending-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch b/target/linux/generic/pending-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch index 5c7ae72bcb..28181d16f1 100644 --- a/target/linux/generic/pending-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch +++ b/target/linux/generic/pending-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch @@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -998,6 +998,9 @@ void phy_detach(struct phy_device *phyde +@@ -1004,6 +1004,9 @@ void phy_detach(struct phy_device *phyde struct mii_bus *bus; int i; diff --git a/target/linux/generic/pending-4.9/811-pci_disable_usb_common_quirks.patch b/target/linux/generic/pending-4.9/811-pci_disable_usb_common_quirks.patch index 9dbb2ca8cd..6c8178d187 100644 --- a/target/linux/generic/pending-4.9/811-pci_disable_usb_common_quirks.patch +++ b/target/linux/generic/pending-4.9/811-pci_disable_usb_common_quirks.patch @@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau static struct amd_chipset_info { struct pci_dev *nb_dev; struct pci_dev *smbus_dev; -@@ -511,6 +513,10 @@ void usb_amd_dev_put(void) +@@ -518,6 +520,10 @@ void usb_amd_dev_put(void) } EXPORT_SYMBOL_GPL(usb_amd_dev_put); @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau /* * Make sure the controller is completely inactive, unable to * generate interrupts or do DMA. -@@ -590,8 +596,17 @@ reset_needed: +@@ -597,8 +603,17 @@ reset_needed: uhci_reset_hc(pdev, base); return 1; } @@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau static inline int io_type_enabled(struct pci_dev *pdev, unsigned int mask) { u16 cmd; -@@ -1158,3 +1173,4 @@ static void quirk_usb_early_handoff(stru +@@ -1165,3 +1180,4 @@ static void quirk_usb_early_handoff(stru } DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_SERIAL_USB, 8, quirk_usb_early_handoff); diff --git a/target/linux/ixp4xx/patches-4.9/160-delayed_uart_io.patch b/target/linux/ixp4xx/patches-4.9/160-delayed_uart_io.patch index 5f9f5a4b6e..3b94280179 100644 --- a/target/linux/ixp4xx/patches-4.9/160-delayed_uart_io.patch +++ b/target/linux/ixp4xx/patches-4.9/160-delayed_uart_io.patch @@ -18,7 +18,7 @@ uart->capabilities = up->capabilities; --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c -@@ -2254,6 +2254,7 @@ uart_report_port(struct uart_driver *drv +@@ -2259,6 +2259,7 @@ uart_report_port(struct uart_driver *drv snprintf(address, sizeof(address), "I/O 0x%lx offset 0x%x", port->iobase, port->hub6); break; @@ -26,7 +26,7 @@ case UPIO_MEM: case UPIO_MEM16: case UPIO_MEM32: -@@ -2926,6 +2927,7 @@ int uart_match_port(struct uart_port *po +@@ -2931,6 +2932,7 @@ int uart_match_port(struct uart_port *po case UPIO_HUB6: return (port1->iobase == port2->iobase) && (port1->hub6 == port2->hub6); @@ -105,7 +105,7 @@ case UPIO_AU: p->serial_out(p, offset, value); p->serial_in(p, UART_LCR); /* safe, no side-effects */ -@@ -2758,6 +2778,7 @@ static int serial8250_request_std_resour +@@ -2759,6 +2779,7 @@ static int serial8250_request_std_resour case UPIO_MEM32BE: case UPIO_MEM16: case UPIO_MEM: @@ -113,7 +113,7 @@ if (!port->mapbase) break; -@@ -2796,6 +2817,7 @@ static void serial8250_release_std_resou +@@ -2797,6 +2818,7 @@ static void serial8250_release_std_resou case UPIO_MEM32BE: case UPIO_MEM16: case UPIO_MEM: diff --git a/target/linux/layerscape/patches-4.9/703-phy-support-layerscape.patch b/target/linux/layerscape/patches-4.9/703-phy-support-layerscape.patch index a94b7ea7d4..d8d550380e 100644 --- a/target/linux/layerscape/patches-4.9/703-phy-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.9/703-phy-support-layerscape.patch @@ -1695,7 +1695,7 @@ Signed-off-by: Yangbo Lu EXPORT_SYMBOL(phy_ethtool_get_wol); --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1043,7 +1043,7 @@ int phy_suspend(struct phy_device *phyde +@@ -1049,7 +1049,7 @@ int phy_suspend(struct phy_device *phyde if (wol.wolopts) return -EBUSY; @@ -1704,7 +1704,7 @@ Signed-off-by: Yangbo Lu ret = phydrv->suspend(phydev); if (ret) -@@ -1060,7 +1060,7 @@ int phy_resume(struct phy_device *phydev +@@ -1066,7 +1066,7 @@ int phy_resume(struct phy_device *phydev struct phy_driver *phydrv = to_phy_driver(phydev->mdio.dev.driver); int ret = 0; @@ -1713,7 +1713,7 @@ Signed-off-by: Yangbo Lu ret = phydrv->resume(phydev); if (ret) -@@ -1717,7 +1717,7 @@ static int phy_remove(struct device *dev +@@ -1723,7 +1723,7 @@ static int phy_remove(struct device *dev phydev->state = PHY_DOWN; mutex_unlock(&phydev->lock); diff --git a/target/linux/layerscape/patches-4.9/804-crypto-support-layerscape.patch b/target/linux/layerscape/patches-4.9/804-crypto-support-layerscape.patch index 326446f4e4..3605550576 100644 --- a/target/linux/layerscape/patches-4.9/804-crypto-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.9/804-crypto-support-layerscape.patch @@ -9133,7 +9133,7 @@ Signed-off-by: Yangbo Lu } if (iv_dma) -@@ -2021,8 +890,7 @@ static void ablkcipher_encrypt_done(stru +@@ -2022,8 +891,7 @@ static void ablkcipher_encrypt_done(stru dev_err(jrdev, "%s %d: err 0x%x\n", __func__, __LINE__, err); #endif @@ -9143,7 +9143,7 @@ Signed-off-by: Yangbo Lu if (err) caam_jr_strstatus(jrdev, err); -@@ -2031,10 +899,10 @@ static void ablkcipher_encrypt_done(stru +@@ -2032,10 +900,10 @@ static void ablkcipher_encrypt_done(stru print_hex_dump(KERN_ERR, "dstiv @"__stringify(__LINE__)": ", DUMP_PREFIX_ADDRESS, 16, 4, req->info, edesc->src_nents > 1 ? 100 : ivsize, 1); @@ -9157,7 +9157,7 @@ Signed-off-by: Yangbo Lu ablkcipher_unmap(jrdev, edesc, req); -@@ -2062,8 +930,7 @@ static void ablkcipher_decrypt_done(stru +@@ -2065,8 +933,7 @@ static void ablkcipher_decrypt_done(stru dev_err(jrdev, "%s %d: err 0x%x\n", __func__, __LINE__, err); #endif @@ -9167,7 +9167,7 @@ Signed-off-by: Yangbo Lu if (err) caam_jr_strstatus(jrdev, err); -@@ -2071,10 +938,10 @@ static void ablkcipher_decrypt_done(stru +@@ -2074,10 +941,10 @@ static void ablkcipher_decrypt_done(stru print_hex_dump(KERN_ERR, "dstiv @"__stringify(__LINE__)": ", DUMP_PREFIX_ADDRESS, 16, 4, req->info, ivsize, 1); @@ -9181,7 +9181,7 @@ Signed-off-by: Yangbo Lu ablkcipher_unmap(jrdev, edesc, req); -@@ -2114,7 +981,7 @@ static void init_aead_job(struct aead_re +@@ -2118,7 +985,7 @@ static void init_aead_job(struct aead_re init_job_desc_shared(desc, ptr, len, HDR_SHARE_DEFER | HDR_REVERSE); if (all_contig) { @@ -9190,7 +9190,7 @@ Signed-off-by: Yangbo Lu in_options = 0; } else { src_dma = edesc->sec4_sg_dma; -@@ -2129,7 +996,7 @@ static void init_aead_job(struct aead_re +@@ -2133,7 +1000,7 @@ static void init_aead_job(struct aead_re out_options = in_options; if (unlikely(req->src != req->dst)) { @@ -9199,7 +9199,7 @@ Signed-off-by: Yangbo Lu dst_dma = sg_dma_address(req->dst); out_options = 0; } else { -@@ -2148,9 +1015,6 @@ static void init_aead_job(struct aead_re +@@ -2152,9 +1019,6 @@ static void init_aead_job(struct aead_re append_seq_out_ptr(desc, dst_dma, req->assoclen + req->cryptlen - authsize, out_options); @@ -9209,7 +9209,7 @@ Signed-off-by: Yangbo Lu } static void init_gcm_job(struct aead_request *req, -@@ -2165,6 +1029,7 @@ static void init_gcm_job(struct aead_req +@@ -2169,6 +1033,7 @@ static void init_gcm_job(struct aead_req unsigned int last; init_aead_job(req, edesc, all_contig, encrypt); @@ -9217,7 +9217,7 @@ Signed-off-by: Yangbo Lu /* BUG This should not be specific to generic GCM. */ last = 0; -@@ -2176,7 +1041,7 @@ static void init_gcm_job(struct aead_req +@@ -2180,7 +1045,7 @@ static void init_gcm_job(struct aead_req FIFOLD_TYPE_IV | FIFOLD_TYPE_FLUSH1 | 12 | last); /* Append Salt */ if (!generic_gcm) @@ -9226,7 +9226,7 @@ Signed-off-by: Yangbo Lu /* Append IV */ append_data(desc, req->iv, ivsize); /* End of blank commands */ -@@ -2191,7 +1056,8 @@ static void init_authenc_job(struct aead +@@ -2195,7 +1060,8 @@ static void init_authenc_job(struct aead struct caam_aead_alg, aead); unsigned int ivsize = crypto_aead_ivsize(aead); struct caam_ctx *ctx = crypto_aead_ctx(aead); @@ -9236,7 +9236,7 @@ Signed-off-by: Yangbo Lu OP_ALG_AAI_CTR_MOD128); const bool is_rfc3686 = alg->caam.rfc3686; u32 *desc = edesc->hw_desc; -@@ -2214,6 +1080,15 @@ static void init_authenc_job(struct aead +@@ -2218,6 +1084,15 @@ static void init_authenc_job(struct aead init_aead_job(req, edesc, all_contig, encrypt); @@ -9252,7 +9252,7 @@ Signed-off-by: Yangbo Lu if (ivsize && ((is_rfc3686 && encrypt) || !alg->caam.geniv)) append_load_as_imm(desc, req->iv, ivsize, LDST_CLASS_1_CCB | -@@ -2237,16 +1112,15 @@ static void init_ablkcipher_job(u32 *sh_ +@@ -2241,16 +1116,15 @@ static void init_ablkcipher_job(u32 *sh_ int len, sec4_sg_index = 0; #ifdef DEBUG @@ -9274,7 +9274,7 @@ Signed-off-by: Yangbo Lu len = desc_len(sh_desc); init_job_desc_shared(desc, ptr, len, HDR_SHARE_DEFER | HDR_REVERSE); -@@ -2262,7 +1136,7 @@ static void init_ablkcipher_job(u32 *sh_ +@@ -2266,7 +1140,7 @@ static void init_ablkcipher_job(u32 *sh_ append_seq_in_ptr(desc, src_dma, req->nbytes + ivsize, in_options); if (likely(req->src == req->dst)) { @@ -9283,7 +9283,7 @@ Signed-off-by: Yangbo Lu dst_dma = sg_dma_address(req->src); } else { dst_dma = edesc->sec4_sg_dma + -@@ -2270,7 +1144,7 @@ static void init_ablkcipher_job(u32 *sh_ +@@ -2274,7 +1148,7 @@ static void init_ablkcipher_job(u32 *sh_ out_options = LDST_SGF; } } else { @@ -9292,7 +9292,7 @@ Signed-off-by: Yangbo Lu dst_dma = sg_dma_address(req->dst); } else { dst_dma = edesc->sec4_sg_dma + -@@ -2297,20 +1171,18 @@ static void init_ablkcipher_giv_job(u32 +@@ -2301,20 +1175,18 @@ static void init_ablkcipher_giv_job(u32 int len, sec4_sg_index = 0; #ifdef DEBUG @@ -9317,7 +9317,7 @@ Signed-off-by: Yangbo Lu src_dma = sg_dma_address(req->src); in_options = 0; } else { -@@ -2341,87 +1213,100 @@ static struct aead_edesc *aead_edesc_all +@@ -2345,87 +1217,100 @@ static struct aead_edesc *aead_edesc_all struct crypto_aead *aead = crypto_aead_reqtfm(req); struct caam_ctx *ctx = crypto_aead_ctx(aead); struct device *jrdev = ctx->jrdev; @@ -9473,7 +9473,7 @@ Signed-off-by: Yangbo Lu edesc->sec4_sg + sec4_sg_index, 0); } -@@ -2574,13 +1459,9 @@ static int aead_decrypt(struct aead_requ +@@ -2578,13 +1463,9 @@ static int aead_decrypt(struct aead_requ u32 *desc; int ret = 0; @@ -9490,7 +9490,7 @@ Signed-off-by: Yangbo Lu /* allocate extended descriptor */ edesc = aead_edesc_alloc(req, AUTHENC_DESC_JOB_IO_LEN, -@@ -2620,51 +1501,80 @@ static struct ablkcipher_edesc *ablkciph +@@ -2624,51 +1505,80 @@ static struct ablkcipher_edesc *ablkciph struct device *jrdev = ctx->jrdev; gfp_t flags = (req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP) ? GFP_KERNEL : GFP_ATOMIC; @@ -9594,7 +9594,7 @@ Signed-off-by: Yangbo Lu return ERR_PTR(-ENOMEM); } -@@ -2674,23 +1584,24 @@ static struct ablkcipher_edesc *ablkciph +@@ -2678,23 +1588,24 @@ static struct ablkcipher_edesc *ablkciph edesc->sec4_sg = (void *)edesc + sizeof(struct ablkcipher_edesc) + desc_bytes; @@ -9626,7 +9626,7 @@ Signed-off-by: Yangbo Lu return ERR_PTR(-ENOMEM); } -@@ -2702,7 +1613,7 @@ static struct ablkcipher_edesc *ablkciph +@@ -2706,7 +1617,7 @@ static struct ablkcipher_edesc *ablkciph sec4_sg_bytes, 1); #endif @@ -9635,7 +9635,7 @@ Signed-off-by: Yangbo Lu return edesc; } -@@ -2793,30 +1704,54 @@ static struct ablkcipher_edesc *ablkciph +@@ -2797,30 +1708,54 @@ static struct ablkcipher_edesc *ablkciph struct crypto_ablkcipher *ablkcipher = crypto_ablkcipher_reqtfm(req); struct caam_ctx *ctx = crypto_ablkcipher_ctx(ablkcipher); struct device *jrdev = ctx->jrdev; @@ -9706,7 +9706,7 @@ Signed-off-by: Yangbo Lu } /* -@@ -2826,21 +1761,29 @@ static struct ablkcipher_edesc *ablkciph +@@ -2830,21 +1765,29 @@ static struct ablkcipher_edesc *ablkciph iv_dma = dma_map_single(jrdev, greq->giv, ivsize, DMA_TO_DEVICE); if (dma_mapping_error(jrdev, iv_dma)) { dev_err(jrdev, "unable to map IV\n"); @@ -9742,7 +9742,7 @@ Signed-off-by: Yangbo Lu return ERR_PTR(-ENOMEM); } -@@ -2850,24 +1793,24 @@ static struct ablkcipher_edesc *ablkciph +@@ -2854,24 +1797,24 @@ static struct ablkcipher_edesc *ablkciph edesc->sec4_sg = (void *)edesc + sizeof(struct ablkcipher_edesc) + desc_bytes; @@ -9777,7 +9777,7 @@ Signed-off-by: Yangbo Lu return ERR_PTR(-ENOMEM); } edesc->iv_dma = iv_dma; -@@ -2879,7 +1822,7 @@ static struct ablkcipher_edesc *ablkciph +@@ -2883,7 +1826,7 @@ static struct ablkcipher_edesc *ablkciph sec4_sg_bytes, 1); #endif @@ -9786,7 +9786,7 @@ Signed-off-by: Yangbo Lu return edesc; } -@@ -2890,7 +1833,7 @@ static int ablkcipher_givencrypt(struct +@@ -2894,7 +1837,7 @@ static int ablkcipher_givencrypt(struct struct crypto_ablkcipher *ablkcipher = crypto_ablkcipher_reqtfm(req); struct caam_ctx *ctx = crypto_ablkcipher_ctx(ablkcipher); struct device *jrdev = ctx->jrdev; @@ -9795,7 +9795,7 @@ Signed-off-by: Yangbo Lu u32 *desc; int ret = 0; -@@ -2934,7 +1877,6 @@ struct caam_alg_template { +@@ -2938,7 +1881,6 @@ struct caam_alg_template { } template_u; u32 class1_alg_type; u32 class2_alg_type; @@ -9803,7 +9803,7 @@ Signed-off-by: Yangbo Lu }; static struct caam_alg_template driver_algs[] = { -@@ -3119,7 +2061,6 @@ static struct caam_aead_alg driver_aeads +@@ -3123,7 +2065,6 @@ static struct caam_aead_alg driver_aeads .caam = { .class2_alg_type = OP_ALG_ALGSEL_MD5 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9811,7 +9811,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -3141,7 +2082,6 @@ static struct caam_aead_alg driver_aeads +@@ -3145,7 +2086,6 @@ static struct caam_aead_alg driver_aeads .caam = { .class2_alg_type = OP_ALG_ALGSEL_SHA1 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9819,7 +9819,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -3163,7 +2103,6 @@ static struct caam_aead_alg driver_aeads +@@ -3167,7 +2107,6 @@ static struct caam_aead_alg driver_aeads .caam = { .class2_alg_type = OP_ALG_ALGSEL_SHA224 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9827,7 +9827,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -3185,7 +2124,6 @@ static struct caam_aead_alg driver_aeads +@@ -3189,7 +2128,6 @@ static struct caam_aead_alg driver_aeads .caam = { .class2_alg_type = OP_ALG_ALGSEL_SHA256 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9835,7 +9835,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -3207,7 +2145,6 @@ static struct caam_aead_alg driver_aeads +@@ -3211,7 +2149,6 @@ static struct caam_aead_alg driver_aeads .caam = { .class2_alg_type = OP_ALG_ALGSEL_SHA384 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9843,7 +9843,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -3229,7 +2166,6 @@ static struct caam_aead_alg driver_aeads +@@ -3233,7 +2170,6 @@ static struct caam_aead_alg driver_aeads .caam = { .class2_alg_type = OP_ALG_ALGSEL_SHA512 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9851,7 +9851,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -3251,7 +2187,6 @@ static struct caam_aead_alg driver_aeads +@@ -3255,7 +2191,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_AES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_MD5 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9859,7 +9859,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -3274,7 +2209,6 @@ static struct caam_aead_alg driver_aeads +@@ -3278,7 +2213,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_AES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_MD5 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9867,7 +9867,7 @@ Signed-off-by: Yangbo Lu .geniv = true, }, }, -@@ -3297,7 +2231,6 @@ static struct caam_aead_alg driver_aeads +@@ -3301,7 +2235,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_AES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA1 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9875,7 +9875,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -3320,7 +2253,6 @@ static struct caam_aead_alg driver_aeads +@@ -3324,7 +2257,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_AES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA1 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9883,7 +9883,7 @@ Signed-off-by: Yangbo Lu .geniv = true, }, }, -@@ -3343,7 +2275,6 @@ static struct caam_aead_alg driver_aeads +@@ -3347,7 +2279,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_AES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA224 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9891,7 +9891,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -3366,7 +2297,6 @@ static struct caam_aead_alg driver_aeads +@@ -3370,7 +2301,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_AES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA224 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9899,7 +9899,7 @@ Signed-off-by: Yangbo Lu .geniv = true, }, }, -@@ -3389,7 +2319,6 @@ static struct caam_aead_alg driver_aeads +@@ -3393,7 +2323,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_AES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA256 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9907,7 +9907,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -3412,7 +2341,6 @@ static struct caam_aead_alg driver_aeads +@@ -3416,7 +2345,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_AES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA256 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9915,7 +9915,7 @@ Signed-off-by: Yangbo Lu .geniv = true, }, }, -@@ -3435,7 +2363,6 @@ static struct caam_aead_alg driver_aeads +@@ -3439,7 +2367,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_AES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA384 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9923,7 +9923,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -3458,7 +2385,6 @@ static struct caam_aead_alg driver_aeads +@@ -3462,7 +2389,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_AES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA384 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9931,7 +9931,7 @@ Signed-off-by: Yangbo Lu .geniv = true, }, }, -@@ -3481,7 +2407,6 @@ static struct caam_aead_alg driver_aeads +@@ -3485,7 +2411,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_AES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA512 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9939,7 +9939,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -3504,7 +2429,6 @@ static struct caam_aead_alg driver_aeads +@@ -3508,7 +2433,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_AES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA512 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9947,7 +9947,7 @@ Signed-off-by: Yangbo Lu .geniv = true, }, }, -@@ -3527,7 +2451,6 @@ static struct caam_aead_alg driver_aeads +@@ -3531,7 +2455,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_3DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_MD5 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9955,7 +9955,7 @@ Signed-off-by: Yangbo Lu } }, { -@@ -3550,7 +2473,6 @@ static struct caam_aead_alg driver_aeads +@@ -3554,7 +2477,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_3DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_MD5 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9963,7 +9963,7 @@ Signed-off-by: Yangbo Lu .geniv = true, } }, -@@ -3574,7 +2496,6 @@ static struct caam_aead_alg driver_aeads +@@ -3578,7 +2500,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_3DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA1 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9971,7 +9971,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -3598,7 +2519,6 @@ static struct caam_aead_alg driver_aeads +@@ -3602,7 +2523,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_3DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA1 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9979,7 +9979,7 @@ Signed-off-by: Yangbo Lu .geniv = true, }, }, -@@ -3622,7 +2542,6 @@ static struct caam_aead_alg driver_aeads +@@ -3626,7 +2546,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_3DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA224 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9987,7 +9987,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -3646,7 +2565,6 @@ static struct caam_aead_alg driver_aeads +@@ -3650,7 +2569,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_3DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA224 | OP_ALG_AAI_HMAC_PRECOMP, @@ -9995,7 +9995,7 @@ Signed-off-by: Yangbo Lu .geniv = true, }, }, -@@ -3670,7 +2588,6 @@ static struct caam_aead_alg driver_aeads +@@ -3674,7 +2592,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_3DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA256 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10003,7 +10003,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -3694,7 +2611,6 @@ static struct caam_aead_alg driver_aeads +@@ -3698,7 +2615,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_3DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA256 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10011,7 +10011,7 @@ Signed-off-by: Yangbo Lu .geniv = true, }, }, -@@ -3718,7 +2634,6 @@ static struct caam_aead_alg driver_aeads +@@ -3722,7 +2638,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_3DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA384 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10019,7 +10019,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -3742,7 +2657,6 @@ static struct caam_aead_alg driver_aeads +@@ -3746,7 +2661,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_3DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA384 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10027,7 +10027,7 @@ Signed-off-by: Yangbo Lu .geniv = true, }, }, -@@ -3766,7 +2680,6 @@ static struct caam_aead_alg driver_aeads +@@ -3770,7 +2684,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_3DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA512 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10035,7 +10035,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -3790,7 +2703,6 @@ static struct caam_aead_alg driver_aeads +@@ -3794,7 +2707,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_3DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA512 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10043,7 +10043,7 @@ Signed-off-by: Yangbo Lu .geniv = true, }, }, -@@ -3813,7 +2725,6 @@ static struct caam_aead_alg driver_aeads +@@ -3817,7 +2729,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_MD5 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10051,7 +10051,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -3836,7 +2747,6 @@ static struct caam_aead_alg driver_aeads +@@ -3840,7 +2751,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_MD5 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10059,7 +10059,7 @@ Signed-off-by: Yangbo Lu .geniv = true, }, }, -@@ -3859,7 +2769,6 @@ static struct caam_aead_alg driver_aeads +@@ -3863,7 +2773,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA1 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10067,7 +10067,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -3882,7 +2791,6 @@ static struct caam_aead_alg driver_aeads +@@ -3886,7 +2795,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA1 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10075,7 +10075,7 @@ Signed-off-by: Yangbo Lu .geniv = true, }, }, -@@ -3905,7 +2813,6 @@ static struct caam_aead_alg driver_aeads +@@ -3909,7 +2817,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA224 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10083,7 +10083,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -3928,7 +2835,6 @@ static struct caam_aead_alg driver_aeads +@@ -3932,7 +2839,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA224 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10091,7 +10091,7 @@ Signed-off-by: Yangbo Lu .geniv = true, }, }, -@@ -3951,7 +2857,6 @@ static struct caam_aead_alg driver_aeads +@@ -3955,7 +2861,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA256 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10099,7 +10099,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -3974,7 +2879,6 @@ static struct caam_aead_alg driver_aeads +@@ -3978,7 +2883,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA256 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10107,7 +10107,7 @@ Signed-off-by: Yangbo Lu .geniv = true, }, }, -@@ -3997,7 +2901,6 @@ static struct caam_aead_alg driver_aeads +@@ -4001,7 +2905,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA384 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10115,7 +10115,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -4020,7 +2923,6 @@ static struct caam_aead_alg driver_aeads +@@ -4024,7 +2927,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA384 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10123,7 +10123,7 @@ Signed-off-by: Yangbo Lu .geniv = true, }, }, -@@ -4043,7 +2945,6 @@ static struct caam_aead_alg driver_aeads +@@ -4047,7 +2949,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA512 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10131,7 +10131,7 @@ Signed-off-by: Yangbo Lu }, }, { -@@ -4066,7 +2967,6 @@ static struct caam_aead_alg driver_aeads +@@ -4070,7 +2971,6 @@ static struct caam_aead_alg driver_aeads .class1_alg_type = OP_ALG_ALGSEL_DES | OP_ALG_AAI_CBC, .class2_alg_type = OP_ALG_ALGSEL_SHA512 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10139,7 +10139,7 @@ Signed-off-by: Yangbo Lu .geniv = true, }, }, -@@ -4091,7 +2991,6 @@ static struct caam_aead_alg driver_aeads +@@ -4095,7 +2995,6 @@ static struct caam_aead_alg driver_aeads OP_ALG_AAI_CTR_MOD128, .class2_alg_type = OP_ALG_ALGSEL_MD5 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10147,7 +10147,7 @@ Signed-off-by: Yangbo Lu .rfc3686 = true, }, }, -@@ -4116,7 +3015,6 @@ static struct caam_aead_alg driver_aeads +@@ -4120,7 +3019,6 @@ static struct caam_aead_alg driver_aeads OP_ALG_AAI_CTR_MOD128, .class2_alg_type = OP_ALG_ALGSEL_MD5 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10155,7 +10155,7 @@ Signed-off-by: Yangbo Lu .rfc3686 = true, .geniv = true, }, -@@ -4142,7 +3040,6 @@ static struct caam_aead_alg driver_aeads +@@ -4146,7 +3044,6 @@ static struct caam_aead_alg driver_aeads OP_ALG_AAI_CTR_MOD128, .class2_alg_type = OP_ALG_ALGSEL_SHA1 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10163,7 +10163,7 @@ Signed-off-by: Yangbo Lu .rfc3686 = true, }, }, -@@ -4167,7 +3064,6 @@ static struct caam_aead_alg driver_aeads +@@ -4171,7 +3068,6 @@ static struct caam_aead_alg driver_aeads OP_ALG_AAI_CTR_MOD128, .class2_alg_type = OP_ALG_ALGSEL_SHA1 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10171,7 +10171,7 @@ Signed-off-by: Yangbo Lu .rfc3686 = true, .geniv = true, }, -@@ -4193,7 +3089,6 @@ static struct caam_aead_alg driver_aeads +@@ -4197,7 +3093,6 @@ static struct caam_aead_alg driver_aeads OP_ALG_AAI_CTR_MOD128, .class2_alg_type = OP_ALG_ALGSEL_SHA224 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10179,7 +10179,7 @@ Signed-off-by: Yangbo Lu .rfc3686 = true, }, }, -@@ -4218,7 +3113,6 @@ static struct caam_aead_alg driver_aeads +@@ -4222,7 +3117,6 @@ static struct caam_aead_alg driver_aeads OP_ALG_AAI_CTR_MOD128, .class2_alg_type = OP_ALG_ALGSEL_SHA224 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10187,7 +10187,7 @@ Signed-off-by: Yangbo Lu .rfc3686 = true, .geniv = true, }, -@@ -4244,7 +3138,6 @@ static struct caam_aead_alg driver_aeads +@@ -4248,7 +3142,6 @@ static struct caam_aead_alg driver_aeads OP_ALG_AAI_CTR_MOD128, .class2_alg_type = OP_ALG_ALGSEL_SHA256 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10195,7 +10195,7 @@ Signed-off-by: Yangbo Lu .rfc3686 = true, }, }, -@@ -4269,7 +3162,6 @@ static struct caam_aead_alg driver_aeads +@@ -4273,7 +3166,6 @@ static struct caam_aead_alg driver_aeads OP_ALG_AAI_CTR_MOD128, .class2_alg_type = OP_ALG_ALGSEL_SHA256 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10203,7 +10203,7 @@ Signed-off-by: Yangbo Lu .rfc3686 = true, .geniv = true, }, -@@ -4295,7 +3187,6 @@ static struct caam_aead_alg driver_aeads +@@ -4299,7 +3191,6 @@ static struct caam_aead_alg driver_aeads OP_ALG_AAI_CTR_MOD128, .class2_alg_type = OP_ALG_ALGSEL_SHA384 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10211,7 +10211,7 @@ Signed-off-by: Yangbo Lu .rfc3686 = true, }, }, -@@ -4320,7 +3211,6 @@ static struct caam_aead_alg driver_aeads +@@ -4324,7 +3215,6 @@ static struct caam_aead_alg driver_aeads OP_ALG_AAI_CTR_MOD128, .class2_alg_type = OP_ALG_ALGSEL_SHA384 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10219,7 +10219,7 @@ Signed-off-by: Yangbo Lu .rfc3686 = true, .geniv = true, }, -@@ -4346,7 +3236,6 @@ static struct caam_aead_alg driver_aeads +@@ -4350,7 +3240,6 @@ static struct caam_aead_alg driver_aeads OP_ALG_AAI_CTR_MOD128, .class2_alg_type = OP_ALG_ALGSEL_SHA512 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10227,7 +10227,7 @@ Signed-off-by: Yangbo Lu .rfc3686 = true, }, }, -@@ -4371,7 +3260,6 @@ static struct caam_aead_alg driver_aeads +@@ -4375,7 +3264,6 @@ static struct caam_aead_alg driver_aeads OP_ALG_AAI_CTR_MOD128, .class2_alg_type = OP_ALG_ALGSEL_SHA512 | OP_ALG_AAI_HMAC_PRECOMP, @@ -10235,7 +10235,7 @@ Signed-off-by: Yangbo Lu .rfc3686 = true, .geniv = true, }, -@@ -4386,16 +3274,34 @@ struct caam_crypto_alg { +@@ -4390,16 +3278,34 @@ struct caam_crypto_alg { static int caam_init_common(struct caam_ctx *ctx, struct caam_alg_entry *caam) { @@ -10273,7 +10273,7 @@ Signed-off-by: Yangbo Lu return 0; } -@@ -4422,25 +3328,9 @@ static int caam_aead_init(struct crypto_ +@@ -4426,25 +3332,9 @@ static int caam_aead_init(struct crypto_ static void caam_exit_common(struct caam_ctx *ctx) { @@ -10302,7 +10302,7 @@ Signed-off-by: Yangbo Lu caam_jr_free(ctx->jrdev); } -@@ -4516,7 +3406,6 @@ static struct caam_crypto_alg *caam_alg_ +@@ -4520,7 +3410,6 @@ static struct caam_crypto_alg *caam_alg_ t_alg->caam.class1_alg_type = template->class1_alg_type; t_alg->caam.class2_alg_type = template->class2_alg_type; diff --git a/target/linux/layerscape/patches-4.9/817-usb-support-layerscape.patch b/target/linux/layerscape/patches-4.9/817-usb-support-layerscape.patch index 06d2c9653c..47a7027dbc 100644 --- a/target/linux/layerscape/patches-4.9/817-usb-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.9/817-usb-support-layerscape.patch @@ -156,7 +156,7 @@ Signed-off-by: Yangbo Lu int ret; --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -4440,6 +4440,14 @@ hub_port_init(struct usb_hub *hub, struc +@@ -4447,6 +4447,14 @@ hub_port_init(struct usb_hub *hub, struc else speed = usb_speed_string(udev->speed); diff --git a/target/linux/uml/patches-4.9/001-um-Allow-building-and-running-on-older-hosts.patch b/target/linux/uml/patches-4.9/001-um-Allow-building-and-running-on-older-hosts.patch deleted file mode 100644 index 501cca82f7..0000000000 --- a/target/linux/uml/patches-4.9/001-um-Allow-building-and-running-on-older-hosts.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 0a987645672ebde7844a9c0732a5a25f3d4bb6c6 Mon Sep 17 00:00:00 2001 -From: Florian Fainelli -Date: Thu, 25 May 2017 11:36:26 -0700 -Subject: [PATCH] um: Allow building and running on older hosts - -[ Upstream commit 0a987645672ebde7844a9c0732a5a25f3d4bb6c6 ] - -Commit a78ff1112263 ("um: add extended processor state save/restore -support") and b6024b21fec8 ("um: extend fpstate to _xstate to support -YMM registers") forced the use of the x86 FP _xstate and -PTRACE_GETREGSET/SETREGSET. On older hosts, we would neither be able to -build UML nor run it anymore with these two commits applied because we -don't have definitions for struct _xstate nor these two ptrace requests. - -We can determine at build time which fp context structure to check -against, just like we can keep using the old i387 fp save/restore if -PTRACE_GETRESET/SETREGSET are not defined. - -Fixes: a78ff1112263 ("um: add extended processor state save/restore support") -Fixes: b6024b21fec8 ("um: extend fpstate to _xstate to support YMM registers") -Signed-off-by: Florian Fainelli -Signed-off-by: Richard Weinberger ---- - arch/x86/um/os-Linux/registers.c | 12 ++++++++---- - arch/x86/um/user-offsets.c | 4 ++++ - 2 files changed, 12 insertions(+), 4 deletions(-) - ---- a/arch/x86/um/os-Linux/registers.c -+++ b/arch/x86/um/os-Linux/registers.c -@@ -26,6 +26,7 @@ int save_i387_registers(int pid, unsigne - - int save_fp_registers(int pid, unsigned long *fp_regs) - { -+#ifdef PTRACE_GETREGSET - struct iovec iov; - - if (have_xstate_support) { -@@ -34,9 +35,9 @@ int save_fp_registers(int pid, unsigned - if (ptrace(PTRACE_GETREGSET, pid, NT_X86_XSTATE, &iov) < 0) - return -errno; - return 0; -- } else { -+ } else -+#endif - return save_i387_registers(pid, fp_regs); -- } - } - - int restore_i387_registers(int pid, unsigned long *fp_regs) -@@ -48,6 +49,7 @@ int restore_i387_registers(int pid, unsi - - int restore_fp_registers(int pid, unsigned long *fp_regs) - { -+#ifdef PTRACE_SETREGSET - struct iovec iov; - - if (have_xstate_support) { -@@ -56,9 +58,9 @@ int restore_fp_registers(int pid, unsign - if (ptrace(PTRACE_SETREGSET, pid, NT_X86_XSTATE, &iov) < 0) - return -errno; - return 0; -- } else { -+ } else -+#endif - return restore_i387_registers(pid, fp_regs); -- } - } - - #ifdef __i386__ -@@ -122,6 +124,7 @@ int put_fp_registers(int pid, unsigned l - - void arch_init_registers(int pid) - { -+#ifdef PTRACE_GETREGSET - struct _xstate fp_regs; - struct iovec iov; - -@@ -129,6 +132,7 @@ void arch_init_registers(int pid) - iov.iov_len = sizeof(struct _xstate); - if (ptrace(PTRACE_GETREGSET, pid, NT_X86_XSTATE, &iov) == 0) - have_xstate_support = 1; -+#endif - } - #endif - ---- a/arch/x86/um/user-offsets.c -+++ b/arch/x86/um/user-offsets.c -@@ -50,7 +50,11 @@ void foo(void) - DEFINE(HOST_GS, GS); - DEFINE(HOST_ORIG_AX, ORIG_EAX); - #else -+#if defined(PTRACE_GETREGSET) && defined(PTRACE_SETREGSET) - DEFINE(HOST_FP_SIZE, sizeof(struct _xstate) / sizeof(unsigned long)); -+#else -+ DEFINE(HOST_FP_SIZE, sizeof(struct _fpstate) / sizeof(unsigned long)); -+#endif - DEFINE_LONGS(HOST_BX, RBX); - DEFINE_LONGS(HOST_CX, RCX); - DEFINE_LONGS(HOST_DI, RDI); diff --git a/target/linux/uml/patches-4.9/003-um-Fix-check-for-_xstate-for-older-hosts.patch b/target/linux/uml/patches-4.9/003-um-Fix-check-for-_xstate-for-older-hosts.patch deleted file mode 100644 index b31ca4191b..0000000000 --- a/target/linux/uml/patches-4.9/003-um-Fix-check-for-_xstate-for-older-hosts.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 2fb44600fe784449404c6639de26af8361999ec7 Mon Sep 17 00:00:00 2001 -From: Florian Fainelli -Date: Tue, 18 Jul 2017 16:43:47 -0700 -Subject: [PATCH] um: Fix check for _xstate for older hosts - -Commit 0a987645672e ("um: Allow building and running on older -hosts") attempted to check for PTRACE_{GET,SET}REGSET under the premise -that these ptrace(2) parameters were directly linked with the presence -of the _xstate structure. - -After Richard's commit 61e8d462457f ("um: Correctly check for -PTRACE_GETRESET/SETREGSET") which properly included linux/ptrace.h -instead of asm/ptrace.h, we could get into the original build failure -that I reported: - -arch/x86/um/user-offsets.c: In function 'foo': -arch/x86/um/user-offsets.c:54: error: invalid application of 'sizeof' to -incomplete type 'struct _xstate' - -On this particular host, we do have PTRACE_GETREGSET and -PTRACE_SETREGSET defined in linux/ptrace.h, but not the structure -_xstate that should be pulled from the following include chain: signal.h --> bits/sigcontext.h. - -Correctly fix this by checking for FP_XSTATE_MAGIC1 which is the correct -way to see if struct _xstate is available or not on the host. - -Fixes: 61e8d462457f ("um: Correctly check for PTRACE_GETRESET/SETREGSET") -Fixes: 0a987645672e ("um: Allow building and running on older hosts") -Signed-off-by: Florian Fainelli -Signed-off-by: Richard Weinberger ---- - arch/x86/um/user-offsets.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/arch/x86/um/user-offsets.c -+++ b/arch/x86/um/user-offsets.c -@@ -50,7 +50,7 @@ void foo(void) - DEFINE(HOST_GS, GS); - DEFINE(HOST_ORIG_AX, ORIG_EAX); - #else --#if defined(PTRACE_GETREGSET) && defined(PTRACE_SETREGSET) -+#ifdef FP_XSTATE_MAGIC1 - DEFINE(HOST_FP_SIZE, sizeof(struct _xstate) / sizeof(unsigned long)); - #else - DEFINE(HOST_FP_SIZE, sizeof(struct _fpstate) / sizeof(unsigned long)); -- 2.30.2