From b9e685eed53e1ac98a080ed5d2516949d90467c9 Mon Sep 17 00:00:00 2001 From: Koen Vandeputte Date: Mon, 18 Nov 2019 10:22:09 +0100 Subject: [PATCH] kernel: bump 4.9 to 4.9.202 Refreshed all patches. Altered patches: - 902-debloat_proc.patch - 817-usb-support-layerscape.patch New symbols: X86_INTEL_MEMORY_PROTECTION_KEYS X86_INTEL_TSX_MODE_OFF X86_INTEL_TSX_MODE_ON X86_INTEL_TSX_MODE_AUTO Compile-tested on: ar71xx Runtime-tested on: ar71xx Signed-off-by: Koen Vandeputte --- include/kernel-version.mk | 4 +-- ...or-releasing-multiple-instances-of-a.patch | 2 +- ...c_page_frag-to-page_frag_alloc-and-_.patch | 4 +-- ..._frag-functions-to-__page_frag_cache.patch | 2 +- ...90-net-generalize-napi_complete_done.patch | 4 +-- .../hack-4.9/207-disable-modorder.patch | 4 +-- .../hack-4.9/660-fq_codel_defaults.patch | 2 +- .../generic/hack-4.9/721-phy_packets.patch | 4 +-- .../generic/hack-4.9/902-debloat_proc.patch | 4 +-- .../pending-4.9/655-increase_skb_pad.patch | 2 +- .../202-core-linux-support-layerscape.patch | 2 +- .../817-usb-support-layerscape.patch | 35 ++++--------------- target/linux/x86/config-4.9 | 4 +++ 13 files changed, 28 insertions(+), 45 deletions(-) diff --git a/include/kernel-version.mk b/include/kernel-version.mk index e602b2dde5..91ab41b87e 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -2,10 +2,10 @@ LINUX_RELEASE?=1 -LINUX_VERSION-4.9 = .199 +LINUX_VERSION-4.9 = .202 LINUX_VERSION-4.14 = .152 -LINUX_KERNEL_HASH-4.9.199 = 0f2531f0908e320ee49954e8d84406db659073b202abc514bcc999ceaa3f7ed5 +LINUX_KERNEL_HASH-4.9.202 = 8108ec1cd10fc40821c84e9f087dba10b1767aad66596f4a36925faef55e4ebf LINUX_KERNEL_HASH-4.14.152 = a9239fd9d341aae07b48a8e7a2afd528fe5cde2617d783454c71e6f3dae2b0aa remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) diff --git a/target/linux/generic/backport-4.9/040-mm-add-support-for-releasing-multiple-instances-of-a.patch b/target/linux/generic/backport-4.9/040-mm-add-support-for-releasing-multiple-instances-of-a.patch index d4b60d4559..4656bb1db3 100644 --- a/target/linux/generic/backport-4.9/040-mm-add-support-for-releasing-multiple-instances-of-a.patch +++ b/target/linux/generic/backport-4.9/040-mm-add-support-for-releasing-multiple-instances-of-a.patch @@ -41,7 +41,7 @@ Signed-off-by: Linus Torvalds --- a/include/linux/gfp.h +++ b/include/linux/gfp.h -@@ -506,6 +506,8 @@ extern void free_hot_cold_page(struct pa +@@ -529,6 +529,8 @@ extern void free_hot_cold_page(struct pa extern void free_hot_cold_page_list(struct list_head *list, bool cold); struct page_frag_cache; diff --git a/target/linux/generic/backport-4.9/041-mm-rename-__alloc_page_frag-to-page_frag_alloc-and-_.patch b/target/linux/generic/backport-4.9/041-mm-rename-__alloc_page_frag-to-page_frag_alloc-and-_.patch index facc43004e..03481d13c8 100644 --- a/target/linux/generic/backport-4.9/041-mm-rename-__alloc_page_frag-to-page_frag_alloc-and-_.patch +++ b/target/linux/generic/backport-4.9/041-mm-rename-__alloc_page_frag-to-page_frag_alloc-and-_.patch @@ -37,7 +37,7 @@ Signed-off-by: Linus Torvalds --- a/include/linux/gfp.h +++ b/include/linux/gfp.h -@@ -508,9 +508,9 @@ extern void free_hot_cold_page_list(stru +@@ -531,9 +531,9 @@ extern void free_hot_cold_page_list(stru struct page_frag_cache; extern void __page_frag_drain(struct page *page, unsigned int order, unsigned int count); @@ -52,7 +52,7 @@ Signed-off-by: Linus Torvalds #define free_page(addr) free_pages((addr), 0) --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2476,7 +2476,7 @@ static inline struct sk_buff *netdev_all +@@ -2477,7 +2477,7 @@ static inline struct sk_buff *netdev_all static inline void skb_free_frag(void *addr) { diff --git a/target/linux/generic/backport-4.9/042-mm-rename-__page_frag-functions-to-__page_frag_cache.patch b/target/linux/generic/backport-4.9/042-mm-rename-__page_frag-functions-to-__page_frag_cache.patch index 31b57167b4..cb2bdfc7ee 100644 --- a/target/linux/generic/backport-4.9/042-mm-rename-__page_frag-functions-to-__page_frag_cache.patch +++ b/target/linux/generic/backport-4.9/042-mm-rename-__page_frag-functions-to-__page_frag_cache.patch @@ -21,7 +21,7 @@ Signed-off-by: Linus Torvalds --- a/include/linux/gfp.h +++ b/include/linux/gfp.h -@@ -506,8 +506,7 @@ extern void free_hot_cold_page(struct pa +@@ -529,8 +529,7 @@ extern void free_hot_cold_page(struct pa extern void free_hot_cold_page_list(struct list_head *list, bool cold); struct page_frag_cache; 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 3eae2ef0bd..4fd101db27 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 @@ -137,7 +137,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/can/c_can/c_can.c +++ b/drivers/net/can/c_can/c_can.c -@@ -1070,7 +1070,7 @@ static int c_can_poll(struct napi_struct +@@ -1079,7 +1079,7 @@ static int c_can_poll(struct napi_struct end: if (work_done < quota) { @@ -668,7 +668,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/hisilicon/hip04_eth.c +++ b/drivers/net/ethernet/hisilicon/hip04_eth.c -@@ -559,7 +559,7 @@ refill: +@@ -561,7 +561,7 @@ refill: priv->reg_inten |= RCV_INT; writel_relaxed(priv->reg_inten, priv->base + PPE_INTEN); } 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 f03c62e025..62f67ac95d 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 -@@ -1228,7 +1228,6 @@ all: modules +@@ -1240,7 +1240,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 -@@ -1258,7 +1257,6 @@ _modinst_: +@@ -1270,7 +1269,6 @@ _modinst_: rm -f $(MODLIB)/build ; \ ln -s $(CURDIR) $(MODLIB)/build ; \ fi diff --git a/target/linux/generic/hack-4.9/660-fq_codel_defaults.patch b/target/linux/generic/hack-4.9/660-fq_codel_defaults.patch index ea461e189d..db77f691e7 100644 --- a/target/linux/generic/hack-4.9/660-fq_codel_defaults.patch +++ b/target/linux/generic/hack-4.9/660-fq_codel_defaults.patch @@ -24,4 +24,4 @@ Signed-off-by: Felix Fietkau +#endif q->drop_batch_size = 64; q->quantum = psched_mtu(qdisc_dev(sch)); - q->perturbation = prandom_u32(); + get_random_bytes(&q->perturbation, sizeof(q->perturbation)); diff --git a/target/linux/generic/hack-4.9/721-phy_packets.patch b/target/linux/generic/hack-4.9/721-phy_packets.patch index d22c873032..feb3569f04 100644 --- a/target/linux/generic/hack-4.9/721-phy_packets.patch +++ b/target/linux/generic/hack-4.9/721-phy_packets.patch @@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau */ --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2339,6 +2339,10 @@ static inline int pskb_trim(struct sk_bu +@@ -2340,6 +2340,10 @@ static inline int pskb_trim(struct sk_bu return (len < skb->len) ? __pskb_trim(skb, len) : 0; } @@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau /** * pskb_trim_unique - remove end from a paged unique (not cloned) buffer * @skb: buffer to alter -@@ -2459,16 +2463,6 @@ static inline struct sk_buff *dev_alloc_ +@@ -2460,16 +2464,6 @@ static inline struct sk_buff *dev_alloc_ } 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 8bed139d1b..cb13f0ff02 100644 --- a/target/linux/generic/hack-4.9/902-debloat_proc.patch +++ b/target/linux/generic/hack-4.9/902-debloat_proc.patch @@ -249,10 +249,10 @@ Signed-off-by: Felix Fietkau #endif #ifdef CONFIG_PROC_FS - proc_create("buddyinfo", S_IRUGO, NULL, &fragmentation_file_operations); -- proc_create("pagetypeinfo", S_IRUGO, NULL, &pagetypeinfo_file_ops); +- proc_create("pagetypeinfo", 0400, NULL, &pagetypeinfo_file_ops); + if (!IS_ENABLED(CONFIG_PROC_STRIPPED)) { + proc_create("buddyinfo", S_IRUGO, NULL, &fragmentation_file_operations); -+ proc_create("pagetypeinfo", S_IRUGO, NULL, &pagetypeinfo_file_ops); ++ proc_create("pagetypeinfo", 0400, NULL, &pagetypeinfo_file_ops); + proc_create("zoneinfo", S_IRUGO, NULL, &proc_zoneinfo_file_operations); + } proc_create("vmstat", S_IRUGO, NULL, &proc_vmstat_file_operations); diff --git a/target/linux/generic/pending-4.9/655-increase_skb_pad.patch b/target/linux/generic/pending-4.9/655-increase_skb_pad.patch index de96d9a41d..87f9bb6a95 100644 --- a/target/linux/generic/pending-4.9/655-increase_skb_pad.patch +++ b/target/linux/generic/pending-4.9/655-increase_skb_pad.patch @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2303,7 +2303,7 @@ static inline int pskb_network_may_pull( +@@ -2304,7 +2304,7 @@ static inline int pskb_network_may_pull( * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8) */ #ifndef NET_SKB_PAD diff --git a/target/linux/layerscape/patches-4.9/202-core-linux-support-layerscape.patch b/target/linux/layerscape/patches-4.9/202-core-linux-support-layerscape.patch index 95d8aaf6f0..2ffe1b20f0 100644 --- a/target/linux/layerscape/patches-4.9/202-core-linux-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.9/202-core-linux-support-layerscape.patch @@ -384,7 +384,7 @@ Signed-off-by: Yangbo Lu void __kfree_skb(struct sk_buff *skb); extern struct kmem_cache *skbuff_head_cache; -@@ -3082,6 +3083,7 @@ static inline void skb_free_datagram_loc +@@ -3083,6 +3084,7 @@ static inline void skb_free_datagram_loc } int skb_kill_datagram(struct sock *sk, struct sk_buff *skb, unsigned int flags); int skb_copy_bits(const struct sk_buff *skb, int offset, void *to, int len); 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 3463058695..126829ad3b 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 @@ -206,19 +206,7 @@ Signed-off-by: Yangbo Lu if (IS_ENABLED(CONFIG_USB_DWC3_HOST)) mode = USB_DR_MODE_HOST; else if (IS_ENABLED(CONFIG_USB_DWC3_GADGET)) -@@ -227,8 +246,9 @@ static void dwc3_frame_length_adjustment - - reg = dwc3_readl(dwc->regs, DWC3_GFLADJ); - dft = reg & DWC3_GFLADJ_30MHZ_MASK; -- if (!dev_WARN_ONCE(dwc->dev, dft == dwc->fladj, -- "request value same as default, ignoring\n")) { -+ if (dft == dwc->fladj) { -+ dev_warn(dwc->dev, "request value same as default, ignoring\n"); -+ } else { - reg &= ~DWC3_GFLADJ_30MHZ_MASK; - reg |= DWC3_GFLADJ_30MHZ_SDBND_SEL | dwc->fladj; - dwc3_writel(dwc->regs, DWC3_GFLADJ, reg); -@@ -599,6 +619,99 @@ static int dwc3_phy_setup(struct dwc3 *d +@@ -598,6 +617,99 @@ static int dwc3_phy_setup(struct dwc3 *d return 0; } @@ -318,7 +306,7 @@ Signed-off-by: Yangbo Lu static void dwc3_core_exit(struct dwc3 *dwc) { dwc3_event_buffers_cleanup(dwc); -@@ -741,6 +854,8 @@ static int dwc3_core_init(struct dwc3 *d +@@ -740,6 +852,8 @@ static int dwc3_core_init(struct dwc3 *d if (ret) goto err1; @@ -327,7 +315,7 @@ Signed-off-by: Yangbo Lu /* Adjust Frame Length */ dwc3_frame_length_adjustment(dwc); -@@ -939,11 +1054,117 @@ static void dwc3_core_exit_mode(struct d +@@ -938,11 +1052,117 @@ static void dwc3_core_exit_mode(struct d } } @@ -445,7 +433,7 @@ Signed-off-by: Yangbo Lu struct resource *res; struct dwc3 *dwc; u8 lpm_nyet_threshold; -@@ -975,6 +1196,11 @@ static int dwc3_probe(struct platform_de +@@ -974,6 +1194,11 @@ static int dwc3_probe(struct platform_de dwc->xhci_resources[0].flags = res->flags; dwc->xhci_resources[0].name = res->name; @@ -457,7 +445,7 @@ Signed-off-by: Yangbo Lu res->start += DWC3_GLOBALS_REGS_START; /* -@@ -1017,6 +1243,12 @@ static int dwc3_probe(struct platform_de +@@ -1016,6 +1241,12 @@ static int dwc3_probe(struct platform_de dwc->usb3_lpm_capable = device_property_read_bool(dev, "snps,usb3_lpm_capable"); @@ -470,7 +458,7 @@ Signed-off-by: Yangbo Lu dwc->disable_scramble_quirk = device_property_read_bool(dev, "snps,disable_scramble_quirk"); dwc->u2exit_lfps_quirk = device_property_read_bool(dev, -@@ -1061,6 +1293,8 @@ static int dwc3_probe(struct platform_de +@@ -1060,6 +1291,8 @@ static int dwc3_probe(struct platform_de dwc->hird_threshold = hird_threshold | (dwc->is_utmi_l1_suspend << 4); @@ -479,7 +467,7 @@ Signed-off-by: Yangbo Lu platform_set_drvdata(pdev, dwc); dwc3_cache_hwparams(dwc); -@@ -1084,6 +1318,11 @@ static int dwc3_probe(struct platform_de +@@ -1083,6 +1316,11 @@ static int dwc3_probe(struct platform_de if (ret < 0) goto err1; @@ -881,15 +869,6 @@ Signed-off-by: Yangbo Lu /* DR has been stopped in usb_gadget_unregister_driver() */ remove_proc_file(); -@@ -2570,7 +2580,7 @@ static int fsl_udc_remove(struct platfor - dma_pool_destroy(udc_controller->td_pool); - free_irq(udc_controller->irq, udc_controller); - iounmap(dr_regs); -- if (pdata->operating_mode == FSL_USB2_DR_DEVICE) -+ if (res && (pdata->operating_mode == FSL_USB2_DR_DEVICE)) - release_mem_region(res->start, resource_size(res)); - - /* free udc --wait for the release() finished */ --- a/drivers/usb/gadget/udc/fsl_usb2_udc.h +++ b/drivers/usb/gadget/udc/fsl_usb2_udc.h @@ -20,6 +20,10 @@ diff --git a/target/linux/x86/config-4.9 b/target/linux/x86/config-4.9 index af4c5e9e3c..a4cea97f27 100644 --- a/target/linux/x86/config-4.9 +++ b/target/linux/x86/config-4.9 @@ -451,7 +451,11 @@ CONFIG_X86_FEATURE_NAMES=y CONFIG_X86_GENERIC=y # CONFIG_X86_GX_SUSPMOD is not set # CONFIG_X86_INTEL_MPX is not set +# CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS is not set # CONFIG_X86_INTEL_PSTATE is not set +CONFIG_X86_INTEL_TSX_MODE_OFF=y +# CONFIG_X86_INTEL_TSX_MODE_ON is not set +# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set CONFIG_X86_INTEL_USERCOPY=y CONFIG_X86_INTERNODE_CACHE_SHIFT=6 CONFIG_X86_IO_APIC=y