Merge pull request #151 from wigyori/cc-dirtycow

CC: generic: bump kernel to 3.18.44
master
Zoltan Herpai 2016-10-26 15:33:07 +02:00 committed by GitHub
commit 1378f4a4d9
51 changed files with 120 additions and 129 deletions

View File

@ -2,9 +2,9 @@
LINUX_RELEASE?=1
LINUX_VERSION-3.18 = .36
LINUX_VERSION-3.18 = .44
LINUX_KERNEL_MD5SUM-3.18.36 = 31b1699c1285aeeb81fb25750baa50d9
LINUX_KERNEL_MD5SUM-3.18.44 = 7c52da2f54381a84960118b5bf23381a
ifdef KERNEL_PATCHVER
LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))

View File

@ -1,6 +1,6 @@
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -905,4 +905,12 @@ config GPIO_VIPERBOARD
@@ -906,4 +906,12 @@ config GPIO_VIPERBOARD
River Tech's viperboard.h for detailed meaning
of the module parameters.

View File

@ -100,7 +100,7 @@
+#endif
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -821,7 +821,7 @@ config GPIO_MC33880
@@ -822,7 +822,7 @@ config GPIO_MC33880
config GPIO_74X164
tristate "74x164 serial-in/parallel-out 8-bits shift register"

View File

@ -1,6 +1,6 @@
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -913,4 +913,9 @@ config GPIO_NXP_74HC153
@@ -914,4 +914,9 @@ config GPIO_NXP_74HC153
Platform driver for NXP 74HC153 Dual 4-input Multiplexer. This
provides a GPIO interface supporting input mode only.

View File

@ -626,9 +626,9 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.
#define QCA955X_REV_ID_REVISION_MASK 0xf
/*
@@ -634,12 +747,32 @@
#define AR934X_GPIO_REG_OUT_FUNC5 0x40
#define AR934X_GPIO_REG_FUNC 0x6c
@@ -642,12 +755,32 @@
#define QCA955X_GPIO_REG_OUT_FUNC5 0x40
#define QCA955X_GPIO_REG_FUNC 0x6c
+#define QCA953X_GPIO_REG_OUT_FUNC0 0x2c
+#define QCA953X_GPIO_REG_OUT_FUNC1 0x30
@ -659,7 +659,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.
#define QCA955X_GPIO_COUNT 24
/*
@@ -663,6 +796,24 @@
@@ -671,6 +804,24 @@
#define AR934X_SRIF_DPLL2_OUTDIV_SHIFT 13
#define AR934X_SRIF_DPLL2_OUTDIV_MASK 0x7
@ -684,7 +684,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.
#define AR71XX_GPIO_FUNC_STEREO_EN BIT(17)
#define AR71XX_GPIO_FUNC_SLIC_EN BIT(16)
#define AR71XX_GPIO_FUNC_SPI_CS2_EN BIT(13)
@@ -804,6 +955,16 @@
@@ -877,6 +1028,16 @@
#define AR934X_ETH_CFG_RDV_DELAY_SHIFT 16
/*

View File

@ -638,7 +638,7 @@
/*
* SPI block
*/
@@ -766,6 +868,19 @@
@@ -774,6 +876,19 @@
#define QCA953X_GPIO_OUT_MUX_LED_LINK4 44
#define QCA953X_GPIO_OUT_MUX_LED_LINK5 45
@ -658,7 +658,7 @@
#define AR71XX_GPIO_COUNT 16
#define AR7240_GPIO_COUNT 18
#define AR7241_GPIO_COUNT 20
@@ -774,6 +889,7 @@
@@ -782,6 +897,7 @@
#define AR934X_GPIO_COUNT 23
#define QCA953X_GPIO_COUNT 18
#define QCA955X_GPIO_COUNT 24

View File

@ -1,6 +1,6 @@
--- a/arch/mips/ath79/Kconfig
+++ b/arch/mips/ath79/Kconfig
@@ -763,6 +763,16 @@ config ATH79_MACH_CAP4200AG
@@ -858,6 +858,16 @@ config ATH79_MACH_CAP4200AG
select ATH79_DEV_M25P80
select ATH79_DEV_WMAC
@ -19,7 +19,7 @@
select SOC_QCA955X
--- a/arch/mips/ath79/Makefile
+++ b/arch/mips/ath79/Makefile
@@ -80,6 +80,7 @@ obj-$(CONFIG_ATH79_MACH_HORNET_UB) += ma
@@ -86,6 +86,7 @@ obj-$(CONFIG_ATH79_MACH_HORNET_UB) += ma
obj-$(CONFIG_ATH79_MACH_MC_MAC1200R) += mach-mc-mac1200r.o
obj-$(CONFIG_ATH79_MACH_MR12) += mach-mr12.o
obj-$(CONFIG_ATH79_MACH_MR16) += mach-mr16.o
@ -29,7 +29,7 @@
obj-$(CONFIG_ATH79_MACH_MYNET_N600) += mach-mynet-n600.o
--- a/arch/mips/ath79/machtypes.h
+++ b/arch/mips/ath79/machtypes.h
@@ -69,6 +69,7 @@ enum ath79_mach_type {
@@ -75,6 +75,7 @@ enum ath79_mach_type {
ATH79_MACH_HORNET_UB, /* ALFA Networks Hornet-UB */
ATH79_MACH_MR12, /* Cisco Meraki MR12 */
ATH79_MACH_MR16, /* Cisco Meraki MR16 */

View File

@ -1,6 +1,6 @@
--- a/arch/mips/ath79/Kconfig
+++ b/arch/mips/ath79/Kconfig
@@ -799,6 +799,15 @@ config ATH79_MACH_OM5P
@@ -779,6 +779,15 @@ config ATH79_MACH_OM5P
select ATH79_DEV_M25P80
select ATH79_DEV_WMAC
@ -18,7 +18,7 @@
select SOC_AR933X
--- a/arch/mips/ath79/Makefile
+++ b/arch/mips/ath79/Makefile
@@ -100,6 +100,7 @@ obj-$(CONFIG_ATH79_MACH_MZK_W300NH) += m
@@ -97,6 +97,7 @@ obj-$(CONFIG_ATH79_MACH_MZK_W300NH) += m
obj-$(CONFIG_ATH79_MACH_NBG460N) += mach-nbg460n.o
obj-$(CONFIG_ATH79_MACH_OM2P) += mach-om2p.o
obj-$(CONFIG_ATH79_MACH_OM5P) += mach-om5p.o
@ -28,7 +28,7 @@
obj-$(CONFIG_ATH79_MACH_PB44) += mach-pb44.o
--- a/arch/mips/ath79/machtypes.h
+++ b/arch/mips/ath79/machtypes.h
@@ -95,6 +95,7 @@ enum ath79_mach_type {
@@ -92,6 +92,7 @@ enum ath79_mach_type {
ATH79_MACH_OM2P_LC, /* OpenMesh OM2P-LC */
ATH79_MACH_OM2Pv2, /* OpenMesh OM2Pv2 */
ATH79_MACH_OM2P, /* OpenMesh OM2P */

View File

@ -1,6 +1,6 @@
--- a/arch/mips/ath79/Kconfig
+++ b/arch/mips/ath79/Kconfig
@@ -808,6 +808,16 @@ config ATH79_MACH_OM5P_AC
@@ -788,6 +788,16 @@ config ATH79_MACH_OM5P_AC
select ATH79_DEV_M25P80
select ATH79_DEV_WMAC
@ -19,7 +19,7 @@
select SOC_AR933X
--- a/arch/mips/ath79/Makefile
+++ b/arch/mips/ath79/Makefile
@@ -101,6 +101,7 @@ obj-$(CONFIG_ATH79_MACH_NBG460N) += mach
@@ -98,6 +98,7 @@ obj-$(CONFIG_ATH79_MACH_NBG460N) += mach
obj-$(CONFIG_ATH79_MACH_OM2P) += mach-om2p.o
obj-$(CONFIG_ATH79_MACH_OM5P) += mach-om5p.o
obj-$(CONFIG_ATH79_MACH_OM5P_AC) += mach-om5pac.o
@ -29,7 +29,7 @@
obj-$(CONFIG_ATH79_MACH_PB44) += mach-pb44.o
--- a/arch/mips/ath79/machtypes.h
+++ b/arch/mips/ath79/machtypes.h
@@ -96,6 +96,7 @@ enum ath79_mach_type {
@@ -93,6 +93,7 @@ enum ath79_mach_type {
ATH79_MACH_OM2Pv2, /* OpenMesh OM2Pv2 */
ATH79_MACH_OM2P, /* OpenMesh OM2P */
ATH79_MACH_OM5P_AC, /* OpenMesh OM5P-AC */

View File

@ -840,7 +840,7 @@
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -3678,14 +3678,16 @@ static bool tcp_parse_aligned_timestamp(
@@ -3683,14 +3683,16 @@ static bool tcp_parse_aligned_timestamp(
{
const __be32 *ptr = (const __be32 *)(th + 1);

View File

@ -1,6 +1,6 @@
--- a/arch/mips/ath79/machtypes.h
+++ b/arch/mips/ath79/machtypes.h
@@ -179,6 +179,7 @@ enum ath79_mach_type {
@@ -184,6 +184,7 @@ enum ath79_mach_type {
ATH79_MACH_UBNT_NANO_M, /* Ubiquiti NanoStation M */
ATH79_MACH_UBNT_NANO_M_XW, /* Ubiquiti NanoStation M XW */
ATH79_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket M */

View File

@ -1,6 +1,6 @@
--- a/arch/mips/ath79/Kconfig
+++ b/arch/mips/ath79/Kconfig
@@ -896,6 +896,16 @@ config ATH79_MACH_EAP7660D
@@ -925,6 +925,16 @@ config ATH79_MACH_EAP7660D
select ATH79_DEV_LEDS_GPIO
select ATH79_DEV_M25P80

View File

@ -11,7 +11,7 @@
select ATH79_DEV_ETH
--- a/arch/mips/ath79/machtypes.h
+++ b/arch/mips/ath79/machtypes.h
@@ -206,6 +206,7 @@ enum ath79_mach_type {
@@ -211,6 +211,7 @@ enum ath79_mach_type {
ATH79_MACH_WNR2200, /* NETGEAR WNR2200 */
ATH79_MACH_WNR612_V2, /* NETGEAR WNR612 v2 */
ATH79_MACH_WNR1000_V2, /* NETGEAR WNR1000 v2 */

View File

@ -1,6 +1,6 @@
--- a/arch/mips/ath79/machtypes.h
+++ b/arch/mips/ath79/machtypes.h
@@ -152,6 +152,7 @@ enum ath79_mach_type {
@@ -157,6 +157,7 @@ enum ath79_mach_type {
ATH79_MACH_TL_WA901ND, /* TP-LINK TL-WA901ND */
ATH79_MACH_TL_WA901ND_V2, /* TP-LINK TL-WA901ND v2 */
ATH79_MACH_TL_WA901ND_V3, /* TP-LINK TL-WA901ND v3 */
@ -10,7 +10,7 @@
ATH79_MACH_TL_WDR4900_V2, /* TP-LINK TL-WDR4900 v2 */
--- a/arch/mips/ath79/Kconfig
+++ b/arch/mips/ath79/Kconfig
@@ -1023,6 +1023,15 @@ config ATH79_MACH_TL_WA901ND_V2
@@ -1052,6 +1052,15 @@ config ATH79_MACH_TL_WA901ND_V2
select ATH79_DEV_M25P80
select ATH79_DEV_WMAC
@ -28,7 +28,7 @@
select SOC_AR934X
--- a/arch/mips/ath79/Makefile
+++ b/arch/mips/ath79/Makefile
@@ -128,6 +128,7 @@ obj-$(CONFIG_ATH79_MACH_TL_WA7210N_V2) +
@@ -131,6 +131,7 @@ obj-$(CONFIG_ATH79_MACH_TL_WA7210N_V2) +
obj-$(CONFIG_ATH79_MACH_TL_WA830RE_V2) += mach-tl-wa830re-v2.o
obj-$(CONFIG_ATH79_MACH_TL_WA901ND) += mach-tl-wa901nd.o
obj-$(CONFIG_ATH79_MACH_TL_WA901ND_V2) += mach-tl-wa901nd-v2.o

View File

@ -52,7 +52,7 @@
if (!ath25_board.radio)
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -112,6 +112,13 @@ config GPIO_MAX730X
@@ -113,6 +113,13 @@ config GPIO_MAX730X
comment "Memory mapped GPIO drivers:"

View File

@ -75,7 +75,7 @@
* workaround. Attempt to jump to the mips reset location -
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -112,6 +112,13 @@ config GPIO_MAX730X
@@ -113,6 +113,13 @@ config GPIO_MAX730X
comment "Memory mapped GPIO drivers:"

View File

@ -22,7 +22,7 @@ Subject: [PATCH 024/114] config: Enable CONFIG_MEMCG, but leave it disabled
CONFIG_SCHED_AUTOGROUP=y
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -5322,6 +5322,29 @@ static int __init cgroup_disable(char *s
@@ -5319,6 +5319,29 @@ static int __init cgroup_disable(char *s
}
__setup("cgroup_disable=", cgroup_disable);

View File

@ -10,7 +10,7 @@ Hub overcurrent messages are more serious than "debug". Increase loglevel.
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -4934,7 +4934,7 @@ static void port_event(struct usb_hub *h
@@ -4932,7 +4932,7 @@ static void port_event(struct usb_hub *h
if (portchange & USB_PORT_STAT_C_OVERCURRENT) {
u16 status = 0, unused;

View File

@ -14,7 +14,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -892,6 +892,14 @@ config GPIO_BCM_KONA
@@ -893,6 +893,14 @@ config GPIO_BCM_KONA
help
Turn on GPIO support for Broadcom "Kona" chips.

View File

@ -1,6 +1,6 @@
--- a/drivers/bcma/bcma_private.h
+++ b/drivers/bcma/bcma_private.h
@@ -24,6 +24,7 @@ struct bcma_bus;
@@ -22,6 +22,7 @@ struct bcma_bus;
/* main.c */
bool bcma_wait_value(struct bcma_device *core, u16 reg, u32 mask, u32 value,
int timeout);
@ -223,7 +223,7 @@
core->core_index, bcma_device_name(&core->id),
--- a/include/linux/bcma/bcma.h
+++ b/include/linux/bcma/bcma.h
@@ -447,4 +447,6 @@ extern u32 bcma_chipco_pll_read(struct b
@@ -448,4 +448,6 @@ extern u32 bcma_chipco_pll_read(struct b
#define BCMA_DMA_TRANSLATION_DMA64_CMT 0x80000000 /* Client Mode Translation for 64-bit DMA */
extern u32 bcma_core_dma_translation(struct bcma_device *core);

View File

@ -1,6 +1,6 @@
--- a/drivers/bcma/bcma_private.h
+++ b/drivers/bcma/bcma_private.h
@@ -25,22 +25,18 @@ struct bcma_bus;
@@ -23,22 +23,18 @@ struct bcma_bus;
bool bcma_wait_value(struct bcma_device *core, u16 reg, u32 mask, u32 value,
int timeout);
void bcma_prepare_core(struct bcma_bus *bus, struct bcma_device *core);
@ -26,7 +26,7 @@
/* sprom.c */
int bcma_sprom_get(struct bcma_bus *bus);
@@ -111,6 +107,14 @@ extern int bcma_chipco_watchdog_register
@@ -109,6 +105,14 @@ extern int bcma_chipco_watchdog_register
#ifdef CONFIG_BCMA_DRIVER_PCI_HOSTMODE
bool bcma_core_pci_is_in_hostmode(struct bcma_drv_pci *pc);
void bcma_core_pci_hostmode_init(struct bcma_drv_pci *pc);
@ -467,7 +467,7 @@
if (!bus->drv_cc.core)
--- a/include/linux/bcma/bcma.h
+++ b/include/linux/bcma/bcma.h
@@ -318,6 +318,7 @@ struct bcma_bus {
@@ -319,6 +319,7 @@ struct bcma_bus {
const struct bcma_host_ops *ops;
enum bcma_hosttype hosttype;

View File

@ -1,6 +1,6 @@
--- a/drivers/bcma/bcma_private.h
+++ b/drivers/bcma/bcma_private.h
@@ -26,6 +26,7 @@ bool bcma_wait_value(struct bcma_device
@@ -24,6 +24,7 @@ bool bcma_wait_value(struct bcma_device
int timeout);
void bcma_prepare_core(struct bcma_bus *bus, struct bcma_device *core);
void bcma_init_bus(struct bcma_bus *bus);
@ -8,7 +8,7 @@
int bcma_bus_register(struct bcma_bus *bus);
void bcma_bus_unregister(struct bcma_bus *bus);
int __init bcma_bus_early_register(struct bcma_bus *bus);
@@ -42,6 +43,9 @@ int bcma_bus_scan(struct bcma_bus *bus);
@@ -40,6 +41,9 @@ int bcma_bus_scan(struct bcma_bus *bus);
int bcma_sprom_get(struct bcma_bus *bus);
/* driver_chipcommon.c */
@ -18,7 +18,7 @@
#ifdef CONFIG_BCMA_DRIVER_MIPS
void bcma_chipco_serial_init(struct bcma_drv_cc *cc);
extern struct platform_device bcma_pflash_dev;
@@ -52,6 +56,8 @@ int bcma_core_chipcommon_b_init(struct b
@@ -50,6 +54,8 @@ int bcma_core_chipcommon_b_init(struct b
void bcma_core_chipcommon_b_free(struct bcma_drv_cc_b *ccb);
/* driver_chipcommon_pmu.c */
@ -27,7 +27,7 @@
u32 bcma_pmu_get_alp_clock(struct bcma_drv_cc *cc);
u32 bcma_pmu_get_cpu_clock(struct bcma_drv_cc *cc);
@@ -100,7 +106,35 @@ static inline void __exit bcma_host_soc_
@@ -98,7 +104,35 @@ static inline void __exit bcma_host_soc_
#endif /* CONFIG_BCMA_HOST_SOC && CONFIG_OF */
/* driver_pci.c */
@ -63,7 +63,7 @@
extern int bcma_chipco_watchdog_register(struct bcma_drv_cc *cc);
@@ -117,6 +151,39 @@ static inline void bcma_core_pci_hostmod
@@ -115,6 +149,39 @@ static inline void bcma_core_pci_hostmod
}
#endif /* CONFIG_BCMA_DRIVER_PCI_HOSTMODE */
@ -500,7 +500,7 @@
}
--- a/include/linux/bcma/bcma.h
+++ b/include/linux/bcma/bcma.h
@@ -434,6 +434,27 @@ static inline struct bcma_device *bcma_f
@@ -435,6 +435,27 @@ static inline struct bcma_device *bcma_f
return bcma_find_core_unit(bus, coreid, 0);
}

View File

@ -327,7 +327,7 @@
#define BCMA_CORE_ARM_CA7 0x847
#define BCMA_CORE_SYS_MEM 0x849
#define BCMA_CORE_DEFAULT 0xFFF
@@ -199,6 +201,7 @@ struct bcma_host_ops {
@@ -200,6 +202,7 @@ struct bcma_host_ops {
#define BCMA_PKG_ID_BCM4707 1
#define BCMA_PKG_ID_BCM4708 2
#define BCMA_PKG_ID_BCM4709 0
@ -398,7 +398,7 @@
extern u32 bcma_chipco_get_alp_clock(struct bcma_drv_cc *cc);
--- a/drivers/bcma/bcma_private.h
+++ b/drivers/bcma/bcma_private.h
@@ -47,7 +47,6 @@ void bcma_core_chipcommon_early_init(str
@@ -45,7 +45,6 @@ void bcma_core_chipcommon_early_init(str
void bcma_core_chipcommon_init(struct bcma_drv_cc *cc);
void bcma_chipco_bcm4331_ext_pa_lines_ctl(struct bcma_drv_cc *cc, bool enable);
#ifdef CONFIG_BCMA_DRIVER_MIPS

View File

@ -134,7 +134,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
return ret;
}
@@ -919,7 +918,7 @@ void fib_del_ifaddr(struct in_ifaddr *if
@@ -923,7 +922,7 @@ no_promotions:
#undef BRD1_OK
}
@ -143,7 +143,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
{
struct fib_result res;
@@ -929,6 +928,11 @@ static void nl_fib_lookup(struct fib_res
@@ -933,6 +932,11 @@ static void nl_fib_lookup(struct fib_res
.flowi4_tos = frn->fl_tos,
.flowi4_scope = frn->fl_scope,
};
@ -155,7 +155,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
frn->err = -ENOENT;
if (tb) {
@@ -945,6 +949,8 @@ static void nl_fib_lookup(struct fib_res
@@ -949,6 +953,8 @@ static void nl_fib_lookup(struct fib_res
}
local_bh_enable();
}
@ -164,7 +164,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
static void nl_fib_input(struct sk_buff *skb)
@@ -952,7 +958,6 @@ static void nl_fib_input(struct sk_buff
@@ -956,7 +962,6 @@ static void nl_fib_input(struct sk_buff
struct net *net;
struct fib_result_nl *frn;
struct nlmsghdr *nlh;
@ -172,7 +172,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
u32 portid;
net = sock_net(skb->sk);
@@ -967,9 +972,7 @@ static void nl_fib_input(struct sk_buff
@@ -971,9 +976,7 @@ static void nl_fib_input(struct sk_buff
nlh = nlmsg_hdr(skb);
frn = (struct fib_result_nl *) nlmsg_data(nlh);

View File

@ -44,7 +44,7 @@ Miklos
--- a/fs/overlayfs/copy_up.c
+++ b/fs/overlayfs/copy_up.c
@@ -311,6 +311,9 @@ int ovl_copy_up_one(struct dentry *paren
@@ -313,6 +313,9 @@ int ovl_copy_up_one(struct dentry *paren
struct cred *override_cred;
char *link = NULL;
@ -76,9 +76,9 @@ Miklos
err = ovl_lock_rename_workdir(workdir, upperdir);
if (err)
goto out;
@@ -506,6 +512,9 @@ static int ovl_remove_and_whiteout(struc
struct dentry *opaquedir = NULL;
@@ -507,6 +513,9 @@ static int ovl_remove_and_whiteout(struc
int err;
int flags = 0;
+ if (WARN_ON(!workdir))
+ return -EROFS;
@ -88,7 +88,7 @@ Miklos
err = PTR_ERR(opaquedir);
--- a/fs/overlayfs/super.c
+++ b/fs/overlayfs/super.c
@@ -741,9 +741,15 @@ static int ovl_fill_super(struct super_b
@@ -760,9 +760,15 @@ static int ovl_fill_super(struct super_b
ufs->workdir = ovl_workdir_create(ufs->upper_mnt, workpath.dentry);
err = PTR_ERR(ufs->workdir);
if (IS_ERR(ufs->workdir)) {

View File

@ -164,7 +164,7 @@ Origin: backport, https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.gi
module_free(mod, mod->module_init);
kfree(mod->args);
percpu_modfree(mod);
@@ -2978,6 +2983,7 @@ static struct module *layout_and_allocat
@@ -2983,6 +2988,7 @@ static struct module *layout_and_allocat
static void module_deallocate(struct module *mod, struct load_info *info)
{
percpu_modfree(mod);
@ -172,7 +172,7 @@ Origin: backport, https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.gi
module_free(mod, mod->module_init);
module_free(mod, mod->module_core);
}
@@ -3100,6 +3106,7 @@ static int do_init_module(struct module
@@ -3105,6 +3111,7 @@ static int do_init_module(struct module
rcu_assign_pointer(mod->kallsyms, &mod->core_kallsyms);
#endif
unset_module_init_ro_nx(mod);

View File

@ -109,7 +109,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
config INIT_ALL_POSSIBLE
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -2694,6 +2694,7 @@ static struct module *setup_load_info(st
@@ -2699,6 +2699,7 @@ static struct module *setup_load_info(st
static int check_modinfo(struct module *mod, struct load_info *info, int flags)
{
@ -117,7 +117,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
const char *modmagic = get_modinfo(info, "vermagic");
int err;
@@ -2719,6 +2720,7 @@ static int check_modinfo(struct module *
@@ -2724,6 +2725,7 @@ static int check_modinfo(struct module *
pr_warn("%s: module is from the staging directory, the quality "
"is unknown, you have been warned.\n", mod->name);
}

View File

@ -11,7 +11,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
--- a/drivers/mtd/ubi/build.c
+++ b/drivers/mtd/ubi/build.c
@@ -1209,6 +1209,49 @@ static struct mtd_info * __init open_mtd
@@ -1212,6 +1212,49 @@ static struct mtd_info * __init open_mtd
return mtd;
}
@ -61,7 +61,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
static int __init ubi_init(void)
{
int err, i, k;
@@ -1298,6 +1341,12 @@ static int __init ubi_init(void)
@@ -1301,6 +1344,12 @@ static int __init ubi_init(void)
}
}

View File

@ -1,6 +1,6 @@
--- a/fs/ubifs/file.c
+++ b/fs/ubifs/file.c
@@ -1573,6 +1573,10 @@ const struct inode_operations ubifs_syml
@@ -1597,6 +1597,10 @@ const struct inode_operations ubifs_syml
.follow_link = ubifs_follow_link,
.setattr = ubifs_setattr,
.getattr = ubifs_getattr,

View File

@ -50,25 +50,16 @@
static bool
ip_checkentry(const struct ipt_ip *ip)
{
@@ -565,7 +591,7 @@ static void cleanup_match(struct xt_entr
}
static int
-check_entry(const struct ipt_entry *e, const char *name)
+check_entry(struct ipt_entry *e, const char *name)
{
const struct xt_entry_target *t;
@@ -574,6 +600,8 @@ check_entry(const struct ipt_entry *e, c
return -EINVAL;
}
@@ -650,6 +676,8 @@ find_check_entry(struct ipt_entry *e, st
struct xt_mtchk_param mtpar;
struct xt_entry_match *ematch;
+ ip_checkdefault(&e->ip);
+
if (e->target_offset + sizeof(struct xt_entry_target) >
e->next_offset)
return -EINVAL;
@@ -935,6 +963,7 @@ copy_entries_to_user(unsigned int total_
j = 0;
mtpar.net = net;
mtpar.table = name;
@@ -942,6 +970,7 @@ copy_entries_to_user(unsigned int total_
const struct xt_table_info *private = table->private;
int ret = 0;
const void *loc_cpu_entry;
@ -76,7 +67,7 @@
counters = alloc_counters(table);
if (IS_ERR(counters))
@@ -965,6 +994,14 @@ copy_entries_to_user(unsigned int total_
@@ -972,6 +1001,14 @@ copy_entries_to_user(unsigned int total_
ret = -EFAULT;
goto free_counters;
}

View File

@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt;
@@ -3408,6 +3411,16 @@ packet_setsockopt(struct socket *sock, i
@@ -3409,6 +3412,16 @@ packet_setsockopt(struct socket *sock, i
po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
return 0;
}
@ -108,7 +108,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
default:
return -ENOPROTOOPT;
}
@@ -3459,6 +3472,13 @@ static int packet_getsockopt(struct sock
@@ -3460,6 +3473,13 @@ static int packet_getsockopt(struct sock
case PACKET_VNET_HDR:
val = po->has_vnet_hdr;
break;

View File

@ -52,7 +52,7 @@
int __ipv6_get_lladdr(struct inet6_dev *idev, struct in6_addr *addr,
u32 banned_flags)
@@ -5467,6 +5466,9 @@ int __init addrconf_init(void)
@@ -5469,6 +5468,9 @@ int __init addrconf_init(void)
ipv6_addr_label_rtnl_register();
@ -62,7 +62,7 @@
return 0;
errout:
rtnl_af_unregister(&inet6_ops);
@@ -5486,6 +5488,9 @@ void addrconf_cleanup(void)
@@ -5488,6 +5490,9 @@ void addrconf_cleanup(void)
struct net_device *dev;
int i;

View File

@ -13,7 +13,7 @@ commont qdiscs.
--- a/net/sched/sch_codel.c
+++ b/net/sched/sch_codel.c
@@ -96,6 +96,8 @@ static int codel_qdisc_enqueue(struct sk
@@ -97,6 +97,8 @@ static int codel_qdisc_enqueue(struct sk
struct codel_sched_data *q;
if (likely(qdisc_qlen(sch) < sch->limit)) {

View File

@ -1,6 +1,6 @@
--- a/net/sched/sch_fq_codel.c
+++ b/net/sched/sch_fq_codel.c
@@ -387,9 +387,9 @@ static int fq_codel_init(struct Qdisc *s
@@ -394,9 +394,9 @@ static int fq_codel_init(struct Qdisc *s
struct fq_codel_sched_data *q = qdisc_priv(sch);
int i;

View File

@ -13,7 +13,7 @@
device, it has to decide which ones to send first, which ones to
--- a/net/sched/sch_fq_codel.c
+++ b/net/sched/sch_fq_codel.c
@@ -592,7 +592,7 @@ static const struct Qdisc_class_ops fq_c
@@ -599,7 +599,7 @@ static const struct Qdisc_class_ops fq_c
.walk = fq_codel_walk,
};
@ -22,7 +22,7 @@
.cl_ops = &fq_codel_class_ops,
.id = "fq_codel",
.priv_size = sizeof(struct fq_codel_sched_data),
@@ -608,6 +608,7 @@ static struct Qdisc_ops fq_codel_qdisc_o
@@ -615,6 +615,7 @@ static struct Qdisc_ops fq_codel_qdisc_o
.dump_stats = fq_codel_dump_stats,
.owner = THIS_MODULE,
};
@ -51,7 +51,7 @@
EXPORT_SYMBOL(default_qdisc_ops);
/* Main transmission queue. */
@@ -739,7 +739,7 @@ static void attach_one_default_qdisc(str
@@ -742,7 +742,7 @@ static void attach_one_default_qdisc(str
if (dev->tx_queue_len) {
qdisc = qdisc_create_dflt(dev_queue,
@ -84,7 +84,7 @@
if (qdisc == NULL) {
--- a/net/sched/sch_api.c
+++ b/net/sched/sch_api.c
@@ -1947,7 +1947,7 @@ static int __init pktsched_init(void)
@@ -1949,7 +1949,7 @@ static int __init pktsched_init(void)
return err;
}

View File

@ -1,6 +1,6 @@
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -442,140 +442,6 @@ static struct Qdisc noqueue_qdisc = {
@@ -445,140 +445,6 @@ static struct Qdisc noqueue_qdisc = {
.busylock = __SPIN_LOCK_UNLOCKED(noqueue_qdisc.busylock),
};

View File

@ -23,7 +23,7 @@
/* The Mellanox Tavor device gives false positive parity errors
* Mark this device with a broken_parity_status, to allow
* PCI scanning code to "skip" this now blacklisted device.
@@ -2917,6 +2918,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
@@ -2929,6 +2930,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
@ -31,7 +31,7 @@
/*
* Ivytown NTB BAR sizes are misreported by the hardware due to an erratum. To
@@ -2973,6 +2975,8 @@ static void fixup_debug_report(struct pc
@@ -2985,6 +2987,8 @@ static void fixup_debug_report(struct pc
}
}
@ -40,7 +40,7 @@
/*
* Some BIOS implementations leave the Intel GPU interrupts enabled,
* even though no one is handling them (f.e. i915 driver is never loaded).
@@ -3007,6 +3011,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
@@ -3019,6 +3023,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);

View File

@ -830,7 +830,7 @@
+be done automatically.
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4279,6 +4279,11 @@ T: git git://linuxtv.org/anttip/media_tr
@@ -4289,6 +4289,11 @@ T: git git://linuxtv.org/anttip/media_tr
S: Maintained
F: drivers/media/usb/hackrf/

View File

@ -34,7 +34,7 @@
+MODULE_LICENSE("GPL");
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -1801,6 +1801,7 @@ int wake_up_state(struct task_struct *p,
@@ -1823,6 +1823,7 @@ int wake_up_state(struct task_struct *p,
{
return try_to_wake_up(p, state, 0);
}

View File

@ -1,6 +1,6 @@
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -794,6 +794,14 @@ config GPIO_RDC321X
@@ -795,6 +795,14 @@ config GPIO_RDC321X
Support for the RDC R321x SoC GPIOs over southbridge
PCI configuration space.

View File

@ -41,7 +41,7 @@
case UPIO_AU:
p->serial_out(p, offset, value);
p->serial_in(p, UART_LCR); /* safe, no side-effects */
@@ -2655,6 +2675,7 @@ static int serial8250_request_std_resour
@@ -2649,6 +2669,7 @@ static int serial8250_request_std_resour
case UPIO_TSI:
case UPIO_MEM32:
case UPIO_MEM:
@ -49,7 +49,7 @@
if (!port->mapbase)
break;
@@ -2691,6 +2712,7 @@ static void serial8250_release_std_resou
@@ -2685,6 +2706,7 @@ static void serial8250_release_std_resou
case UPIO_TSI:
case UPIO_MEM32:
case UPIO_MEM:
@ -57,7 +57,7 @@
if (!port->mapbase)
break;
@@ -3424,6 +3446,7 @@ static int serial8250_probe(struct platf
@@ -3418,6 +3440,7 @@ static int serial8250_probe(struct platf
uart.port.set_termios = p->set_termios;
uart.port.pm = p->pm;
uart.port.dev = &dev->dev;
@ -65,7 +65,7 @@
uart.port.irqflags |= irqflag;
ret = serial8250_register_8250_port(&uart);
if (ret < 0) {
@@ -3580,6 +3603,7 @@ int serial8250_register_8250_port(struct
@@ -3574,6 +3597,7 @@ int serial8250_register_8250_port(struct
uart->port.flags = up->port.flags | UPF_BOOT_AUTOCONF;
uart->bugs = up->bugs;
uart->port.mapbase = up->port.mapbase;

View File

@ -20,7 +20,7 @@ Subject: [PATCH 32/36] USB: fix roothub for IFXHCD
choice
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -4323,7 +4323,7 @@ hub_port_init (struct usb_hub *hub, stru
@@ -4321,7 +4321,7 @@ hub_port_init (struct usb_hub *hub, stru
udev->ttport = hdev->ttport;
} else if (udev->speed != USB_SPEED_HIGH
&& hdev->speed == USB_SPEED_HIGH) {

View File

@ -93,7 +93,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
return NOTIFY_OK;
}
@@ -405,14 +353,9 @@ static int coherency_type(void)
@@ -399,14 +347,9 @@ static int coherency_type(void)
return type;
}

View File

@ -23,7 +23,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -223,6 +223,11 @@ config GPIO_MVEBU
@@ -224,6 +224,11 @@ config GPIO_MVEBU
select GPIO_GENERIC
select GENERIC_IRQ_CHIP

View File

@ -1,8 +1,8 @@
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -504,6 +504,7 @@ dtb-$(CONFIG_MACH_ARMADA_38X) += \
armada-385-linksys-caiman.dtb \
@@ -505,6 +505,7 @@ dtb-$(CONFIG_MACH_ARMADA_38X) += \
armada-385-linksys-cobra.dtb \
armada-385-linksys-rango.dtb \
armada-385-linksys-shelby.dtb \
+ armada-388-clearfog.dtb \
armada-385-rd.dtb

View File

@ -8,7 +8,7 @@
#include <linux/slab.h>
#include <linux/usb/xhci_pdriver.h>
@@ -158,12 +159,27 @@ static int xhci_plat_probe(struct platfo
@@ -161,12 +162,27 @@ static int xhci_plat_probe(struct platfo
if (HCC_MAX_PSA(xhci->hcc_params) >= 4)
xhci->shared_hcd->can_do_streams = 1;
@ -37,7 +37,7 @@
put_usb3_hcd:
usb_put_hcd(xhci->shared_hcd);
@@ -187,6 +203,7 @@ static int xhci_plat_remove(struct platf
@@ -190,6 +206,7 @@ static int xhci_plat_remove(struct platf
struct clk *clk = xhci->clk;
usb_remove_hcd(xhci->shared_hcd);

View File

@ -11,7 +11,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
--- a/drivers/tty/serial/8250/8250_core.c
+++ b/drivers/tty/serial/8250/8250_core.c
@@ -2634,7 +2634,7 @@ serial8250_pm(struct uart_port *port, un
@@ -2628,7 +2628,7 @@ serial8250_pm(struct uart_port *port, un
static unsigned int serial8250_port_size(struct uart_8250_port *pt)
{
if (pt->port.iotype == UPIO_AU)

View File

@ -47,7 +47,7 @@ Cc: linux-gpio@vger.kernel.org
+#endif /* __ASM_MACH_RALINK_GPIO_H */
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -288,6 +288,12 @@ config GPIO_SCH311X
@@ -289,6 +289,12 @@ config GPIO_SCH311X
To compile this driver as a module, choose M here: the module will
be called gpio-sch311x.

View File

@ -26,7 +26,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
bool "SGI IP22 (Indy/Indigo2)"
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -898,6 +898,12 @@ config GPIO_BCM_KONA
@@ -899,6 +899,12 @@ config GPIO_BCM_KONA
help
Turn on GPIO support for Broadcom "Kona" chips.

View File

@ -16,7 +16,7 @@
/* EHCI, OHCI */
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -1306,7 +1306,7 @@ static void hub_quiesce(struct usb_hub *
@@ -1304,7 +1304,7 @@ static void hub_quiesce(struct usb_hub *
if (type != HUB_SUSPEND) {
/* Disconnect all the children */
for (i = 0; i < hdev->maxchild; ++i) {
@ -5087,7 +5087,7 @@
return 1;
}
@@ -2820,6 +2824,7 @@ static int prepare_ring(struct xhci_hcd
@@ -2843,6 +2847,7 @@ static int prepare_ring(struct xhci_hcd
next = ring->enqueue;
while (last_trb(xhci, ring, ring->enq_seg, next)) {
@ -5095,7 +5095,7 @@
/* If we're not dealing with 0.95 hardware or isoc rings
* on AMD 0.96 host, clear the chain bit.
*/
@@ -2829,6 +2834,9 @@ static int prepare_ring(struct xhci_hcd
@@ -2852,6 +2857,9 @@ static int prepare_ring(struct xhci_hcd
next->link.control &= cpu_to_le32(~TRB_CHAIN);
else
next->link.control |= cpu_to_le32(TRB_CHAIN);
@ -5105,7 +5105,7 @@
wmb();
next->link.control ^= cpu_to_le32(TRB_CYCLE);
@@ -2959,6 +2967,9 @@ static void giveback_first_trb(struct xh
@@ -2982,6 +2990,9 @@ static void giveback_first_trb(struct xh
start_trb->field[3] |= cpu_to_le32(start_cycle);
else
start_trb->field[3] &= cpu_to_le32(~TRB_CYCLE);
@ -5115,7 +5115,7 @@
xhci_ring_ep_doorbell(xhci, slot_id, ep_index, stream_id);
}
@@ -3014,6 +3025,29 @@ static u32 xhci_td_remainder(unsigned in
@@ -3037,6 +3048,29 @@ static u32 xhci_td_remainder(unsigned in
return (remainder >> 10) << 17;
}
@ -5145,7 +5145,7 @@
/*
* For xHCI 1.0 host controllers, TD size is the number of max packet sized
* packets remaining in the TD (*not* including this TRB).
@@ -3171,6 +3205,7 @@ static int queue_bulk_sg_tx(struct xhci_
@@ -3194,6 +3228,7 @@ static int queue_bulk_sg_tx(struct xhci_
}
/* Set the TRB length, TD size, and interrupter fields. */
@ -5153,7 +5153,7 @@
if (xhci->hci_version < 0x100) {
remainder = xhci_td_remainder(
urb->transfer_buffer_length -
@@ -3180,6 +3215,12 @@ static int queue_bulk_sg_tx(struct xhci_
@@ -3203,6 +3238,12 @@ static int queue_bulk_sg_tx(struct xhci_
trb_buff_len, total_packet_count, urb,
num_trbs - 1);
}
@ -5166,7 +5166,7 @@
length_field = TRB_LEN(trb_buff_len) |
remainder |
TRB_INTR_TARGET(0);
@@ -3244,6 +3285,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
@@ -3267,6 +3308,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
int running_total, trb_buff_len, ret;
unsigned int total_packet_count;
u64 addr;
@ -5176,7 +5176,7 @@
if (urb->num_sgs)
return queue_bulk_sg_tx(xhci, mem_flags, urb, slot_id, ep_index);
@@ -3268,6 +3312,25 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
@@ -3291,6 +3335,25 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
num_trbs++;
running_total += TRB_MAX_BUFF_SIZE;
}
@ -5202,7 +5202,7 @@
ret = prepare_transfer(xhci, xhci->devs[slot_id],
ep_index, urb->stream_id,
@@ -3344,6 +3407,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
@@ -3367,6 +3430,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
field |= TRB_ISP;
/* Set the TRB length, TD size, and interrupter fields. */
@ -5210,7 +5210,7 @@
if (xhci->hci_version < 0x100) {
remainder = xhci_td_remainder(
urb->transfer_buffer_length -
@@ -3353,6 +3417,10 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
@@ -3376,6 +3440,10 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
trb_buff_len, total_packet_count, urb,
num_trbs - 1);
}
@ -5221,7 +5221,7 @@
length_field = TRB_LEN(trb_buff_len) |
remainder |
TRB_INTR_TARGET(0);
@@ -3442,7 +3510,11 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
@@ -3465,7 +3533,11 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
field |= 0x1;
/* xHCI 1.0/1.1 6.4.1.2.1: Transfer Type field */
@ -5233,7 +5233,7 @@
if (urb->transfer_buffer_length > 0) {
if (setup->bRequestType & USB_DIR_IN)
field |= TRB_TX_TYPE(TRB_DATA_IN);
@@ -3466,7 +3538,12 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
@@ -3489,7 +3561,12 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
field = TRB_TYPE(TRB_DATA);
length_field = TRB_LEN(urb->transfer_buffer_length) |
@ -5246,7 +5246,7 @@
TRB_INTR_TARGET(0);
if (urb->transfer_buffer_length > 0) {
if (setup->bRequestType & USB_DIR_IN)
@@ -3589,6 +3666,9 @@ static int xhci_queue_isoc_tx(struct xhc
@@ -3612,6 +3689,9 @@ static int xhci_queue_isoc_tx(struct xhc
u64 start_addr, addr;
int i, j;
bool more_trbs_coming;
@ -5256,7 +5256,7 @@
ep_ring = xhci->devs[slot_id]->eps[ep_index].ring;
@@ -3602,6 +3682,21 @@ static int xhci_queue_isoc_tx(struct xhc
@@ -3625,6 +3705,21 @@ static int xhci_queue_isoc_tx(struct xhc
start_trb = &ep_ring->enqueue->generic;
start_cycle = ep_ring->cycle_state;
@ -5278,7 +5278,7 @@
urb_priv = urb->hcpriv;
/* Queue the first TRB, even if it's zero-length */
for (i = 0; i < num_tds; i++) {
@@ -3673,9 +3768,13 @@ static int xhci_queue_isoc_tx(struct xhc
@@ -3696,9 +3791,13 @@ static int xhci_queue_isoc_tx(struct xhc
} else {
td->last_trb = ep_ring->enqueue;
field |= TRB_IOC;
@ -5292,7 +5292,7 @@
/* Set BEI bit except for the last td */
if (i < num_tds - 1)
field |= TRB_BEI;
@@ -3690,6 +3789,7 @@ static int xhci_queue_isoc_tx(struct xhc
@@ -3713,6 +3812,7 @@ static int xhci_queue_isoc_tx(struct xhc
trb_buff_len = td_remain_len;
/* Set the TRB length, TD size, & interrupter fields. */
@ -5300,7 +5300,7 @@
if (xhci->hci_version < 0x100) {
remainder = xhci_td_remainder(
td_len - running_total);
@@ -3699,6 +3799,10 @@ static int xhci_queue_isoc_tx(struct xhc
@@ -3722,6 +3822,10 @@ static int xhci_queue_isoc_tx(struct xhc
total_packet_count, urb,
(trbs_per_td - j - 1));
}

View File

@ -94,7 +94,7 @@ Changes in v2:
+ };
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -9002,6 +9002,13 @@ F: arch/m68k/sun3*/
@@ -9015,6 +9015,13 @@ F: arch/m68k/sun3*/
F: arch/m68k/include/asm/sun3*
F: drivers/net/ethernet/i825xx/sun3*