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 <koen.vandeputte@ncentric.com>
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))))
--- 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;
--- 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);
#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)
{
--- 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;
--- 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) {
--- 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);
}
--- 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
@$(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
+#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));
*/
--- 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;
}
/**
* 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_
}
#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);
--- 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
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);
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;
}
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;
/* 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
}
}
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;
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");
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);
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;
/* 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 @@
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