From a5551d366a6df9fd21c9fddecd4912350d89a57c Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Sun, 17 Mar 2013 19:46:32 +0000 Subject: [PATCH] kernel: refresh 3.9 patches Signed-off-by: Florian Fainelli SVN-Revision: 36074 --- .../001-mips_fix_code_non_dsp_cpu.patch | 7 -- .../generic/patches-3.9/100-overlayfs.patch | 73 +++---------------- .../generic/patches-3.9/220-gc_sections.patch | 2 +- .../530-jffs2_make_lzma_available.patch | 2 +- .../702-phy_add_aneg_done_function.patch | 2 +- ...detach-callback-to-struct-phy_driver.patch | 2 +- .../generic/patches-3.9/863-gpiommc.patch | 2 +- .../patches-3.9/903-debloat_direct_io.patch | 2 +- ...ore_wdt_fix_watchdog_counter_loading.patch | 2 +- 9 files changed, 17 insertions(+), 77 deletions(-) diff --git a/target/linux/generic/patches-3.9/001-mips_fix_code_non_dsp_cpu.patch b/target/linux/generic/patches-3.9/001-mips_fix_code_non_dsp_cpu.patch index be8d74e959..8d3507f143 100644 --- a/target/linux/generic/patches-3.9/001-mips_fix_code_non_dsp_cpu.patch +++ b/target/linux/generic/patches-3.9/001-mips_fix_code_non_dsp_cpu.patch @@ -112,8 +112,6 @@ This should be part of your 3.9-rc3 pull request if I may ;) arch/mips/kernel/Makefile | 14 --- 2 files changed, 190 insertions(+), 33 deletions(-) -diff --git a/arch/mips/include/asm/mipsregs.h b/arch/mips/include/asm/mipsregs.h -index 12b70c2..0da44d4 100644 --- a/arch/mips/include/asm/mipsregs.h +++ b/arch/mips/include/asm/mipsregs.h @@ -1166,7 +1166,10 @@ do { \ @@ -345,8 +343,6 @@ index 12b70c2..0da44d4 100644 #else -diff --git a/arch/mips/kernel/Makefile b/arch/mips/kernel/Makefile -index f81d98f..2e8a9c1 100644 --- a/arch/mips/kernel/Makefile +++ b/arch/mips/kernel/Makefile @@ -109,20 +109,6 @@ obj-$(CONFIG_JUMP_LABEL) += jump_label.o @@ -370,6 +366,3 @@ index f81d98f..2e8a9c1 100644 CFLAGS_signal.o = $(CFLAGS_DSP) CFLAGS_signal32.o = $(CFLAGS_DSP) CFLAGS_process.o = $(CFLAGS_DSP) --- -1.7.10.4 - diff --git a/target/linux/generic/patches-3.9/100-overlayfs.patch b/target/linux/generic/patches-3.9/100-overlayfs.patch index 2eda17b2cb..2931e04c46 100644 --- a/target/linux/generic/patches-3.9/100-overlayfs.patch +++ b/target/linux/generic/patches-3.9/100-overlayfs.patch @@ -1,5 +1,3 @@ -diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking -index 0706d32..4331290 100644 --- a/Documentation/filesystems/Locking +++ b/Documentation/filesystems/Locking @@ -66,6 +66,7 @@ prototypes: @@ -18,9 +16,6 @@ index 0706d32..4331290 100644 Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on victim. -diff --git a/Documentation/filesystems/overlayfs.txt b/Documentation/filesystems/overlayfs.txt -new file mode 100644 -index 0000000..00dbab0 --- /dev/null +++ b/Documentation/filesystems/overlayfs.txt @@ -0,0 +1,199 @@ @@ -223,8 +218,6 @@ index 0000000..00dbab0 +filesystem are not allowed. If the underlying filesystem is changed, +the behavior of the overlay is undefined, though it will not result in +a crash or deadlock. -diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt -index bc4b06b..f64a4d1 100644 --- a/Documentation/filesystems/vfs.txt +++ b/Documentation/filesystems/vfs.txt @@ -362,6 +362,7 @@ struct inode_operations { @@ -248,8 +241,6 @@ index bc4b06b..f64a4d1 100644 invalidatepage: If a page has PagePrivate set, then invalidatepage will be called when part or all of the page is to be removed -diff --git a/MAINTAINERS b/MAINTAINERS -index 9561658..9ea89b8 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -5872,6 +5872,13 @@ F: drivers/scsi/osd/ @@ -266,8 +257,6 @@ index 9561658..9ea89b8 100644 P54 WIRELESS DRIVER M: Christian Lamparter L: linux-wireless@vger.kernel.org -diff --git a/fs/Kconfig b/fs/Kconfig -index 780725a..9e2ccd5 100644 --- a/fs/Kconfig +++ b/fs/Kconfig @@ -67,6 +67,7 @@ source "fs/quota/Kconfig" @@ -278,8 +267,6 @@ index 780725a..9e2ccd5 100644 config GENERIC_ACL bool -diff --git a/fs/Makefile b/fs/Makefile -index 9d53192..479a720 100644 --- a/fs/Makefile +++ b/fs/Makefile @@ -107,6 +107,7 @@ obj-$(CONFIG_QNX6FS_FS) += qnx6/ @@ -290,11 +277,9 @@ index 9d53192..479a720 100644 obj-$(CONFIG_UDF_FS) += udf/ obj-$(CONFIG_SUN_OPENPROMFS) += openpromfs/ obj-$(CONFIG_OMFS_FS) += omfs/ -diff --git a/fs/ecryptfs/main.c b/fs/ecryptfs/main.c -index e924cf4..8f7551e 100644 --- a/fs/ecryptfs/main.c +++ b/fs/ecryptfs/main.c -@@ -567,6 +567,13 @@ static struct dentry *ecryptfs_mount(struct file_system_type *fs_type, int flags +@@ -567,6 +567,13 @@ static struct dentry *ecryptfs_mount(str s->s_maxbytes = path.dentry->d_sb->s_maxbytes; s->s_blocksize = path.dentry->d_sb->s_blocksize; s->s_magic = ECRYPTFS_SUPER_MAGIC; @@ -308,11 +293,9 @@ index e924cf4..8f7551e 100644 inode = ecryptfs_get_inode(path.dentry->d_inode, s); rc = PTR_ERR(inode); -diff --git a/fs/internal.h b/fs/internal.h -index 507141f..89481ac 100644 --- a/fs/internal.h +++ b/fs/internal.h -@@ -42,11 +42,6 @@ static inline int __sync_blockdev(struct block_device *bdev, int wait) +@@ -42,11 +42,6 @@ static inline int __sync_blockdev(struct extern void __init chrdev_init(void); /* @@ -324,11 +307,9 @@ index 507141f..89481ac 100644 * namespace.c */ extern int copy_mount_options(const void __user *, unsigned long *); -diff --git a/fs/namei.c b/fs/namei.c -index 57ae9c8..e1cffbd 100644 --- a/fs/namei.c +++ b/fs/namei.c -@@ -402,6 +402,7 @@ int __inode_permission(struct inode *inode, int mask) +@@ -402,6 +402,7 @@ int __inode_permission(struct inode *ino return security_inode_permission(inode, mask); } @@ -352,11 +333,9 @@ index 57ae9c8..e1cffbd 100644 if (error == -EOPENSTALE) goto stale_open; goto out; -diff --git a/fs/namespace.c b/fs/namespace.c -index 50ca17d..9791b4e 100644 --- a/fs/namespace.c +++ b/fs/namespace.c -@@ -1399,6 +1399,24 @@ void drop_collected_mounts(struct vfsmount *mnt) +@@ -1399,6 +1399,24 @@ void drop_collected_mounts(struct vfsmou release_mounts(&umount_list); } @@ -381,11 +360,9 @@ index 50ca17d..9791b4e 100644 int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg, struct vfsmount *root) { -diff --git a/fs/open.c b/fs/open.c -index 6835446..b9d9f9e 100644 --- a/fs/open.c +++ b/fs/open.c -@@ -828,8 +828,7 @@ struct file *dentry_open(const struct path *path, int flags, +@@ -828,8 +828,7 @@ struct file *dentry_open(const struct pa f = get_empty_filp(); if (!IS_ERR(f)) { f->f_flags = flags; @@ -395,7 +372,7 @@ index 6835446..b9d9f9e 100644 if (!error) { /* from now on we need fput() to dispose of f */ error = open_check_o_direct(f); -@@ -846,6 +845,26 @@ struct file *dentry_open(const struct path *path, int flags, +@@ -846,6 +845,26 @@ struct file *dentry_open(const struct pa } EXPORT_SYMBOL(dentry_open); @@ -422,9 +399,6 @@ index 6835446..b9d9f9e 100644 static inline int build_open_flags(int flags, umode_t mode, struct open_flags *op) { int lookup_flags = 0; -diff --git a/fs/overlayfs/Kconfig b/fs/overlayfs/Kconfig -new file mode 100644 -index 0000000..c4517da --- /dev/null +++ b/fs/overlayfs/Kconfig @@ -0,0 +1,4 @@ @@ -432,9 +406,6 @@ index 0000000..c4517da + tristate "Overlay filesystem support" + help + Add support for overlay filesystem. -diff --git a/fs/overlayfs/Makefile b/fs/overlayfs/Makefile -new file mode 100644 -index 0000000..8f91889 --- /dev/null +++ b/fs/overlayfs/Makefile @@ -0,0 +1,7 @@ @@ -445,9 +416,6 @@ index 0000000..8f91889 +obj-$(CONFIG_OVERLAYFS_FS) += overlayfs.o + +overlayfs-objs := super.o inode.o dir.o readdir.o copy_up.o -diff --git a/fs/overlayfs/copy_up.c b/fs/overlayfs/copy_up.c -new file mode 100644 -index 0000000..eef85e0 --- /dev/null +++ b/fs/overlayfs/copy_up.c @@ -0,0 +1,385 @@ @@ -836,9 +804,6 @@ index 0000000..eef85e0 + dput(parent); + return err; +} -diff --git a/fs/overlayfs/dir.c b/fs/overlayfs/dir.c -new file mode 100644 -index 0000000..b530e56 --- /dev/null +++ b/fs/overlayfs/dir.c @@ -0,0 +1,604 @@ @@ -1446,9 +1411,6 @@ index 0000000..b530e56 + .listxattr = ovl_listxattr, + .removexattr = ovl_removexattr, +}; -diff --git a/fs/overlayfs/inode.c b/fs/overlayfs/inode.c -new file mode 100644 -index 0000000..ee37e92 --- /dev/null +++ b/fs/overlayfs/inode.c @@ -0,0 +1,372 @@ @@ -1824,9 +1786,6 @@ index 0000000..ee37e92 + return inode; + +} -diff --git a/fs/overlayfs/overlayfs.h b/fs/overlayfs/overlayfs.h -new file mode 100644 -index 0000000..1cba38f --- /dev/null +++ b/fs/overlayfs/overlayfs.h @@ -0,0 +1,70 @@ @@ -1900,9 +1859,6 @@ index 0000000..1cba38f +/* copy_up.c */ +int ovl_copy_up(struct dentry *dentry); +int ovl_copy_up_truncate(struct dentry *dentry, loff_t size); -diff --git a/fs/overlayfs/readdir.c b/fs/overlayfs/readdir.c -new file mode 100644 -index 0000000..0797efb --- /dev/null +++ b/fs/overlayfs/readdir.c @@ -0,0 +1,566 @@ @@ -2472,9 +2428,6 @@ index 0000000..0797efb + + return err; +} -diff --git a/fs/overlayfs/super.c b/fs/overlayfs/super.c -new file mode 100644 -index 0000000..357d6e8 --- /dev/null +++ b/fs/overlayfs/super.c @@ -0,0 +1,685 @@ @@ -3163,11 +3116,9 @@ index 0000000..357d6e8 + +module_init(ovl_init); +module_exit(ovl_exit); -diff --git a/fs/splice.c b/fs/splice.c -index 718bd00..0e8f44a 100644 --- a/fs/splice.c +++ b/fs/splice.c -@@ -1308,6 +1308,7 @@ long do_splice_direct(struct file *in, loff_t *ppos, struct file *out, +@@ -1308,6 +1308,7 @@ long do_splice_direct(struct file *in, l return ret; } @@ -3175,8 +3126,6 @@ index 718bd00..0e8f44a 100644 static int splice_pipe_to_pipe(struct pipe_inode_info *ipipe, struct pipe_inode_info *opipe, -diff --git a/include/linux/fs.h b/include/linux/fs.h -index 2c28271..3353de6 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -244,6 +244,12 @@ struct iattr { @@ -3212,7 +3161,7 @@ index 2c28271..3353de6 100644 } ____cacheline_aligned; ssize_t rw_copy_check_uvector(int type, const struct iovec __user * uvector, -@@ -2006,6 +2018,7 @@ extern struct file *file_open_name(struct filename *, int, umode_t); +@@ -2006,6 +2018,7 @@ extern struct file *file_open_name(struc extern struct file *filp_open(const char *, int, umode_t); extern struct file *file_open_root(struct dentry *, struct vfsmount *, const char *, int); @@ -3220,7 +3169,7 @@ index 2c28271..3353de6 100644 extern struct file * dentry_open(const struct path *, int, const struct cred *); extern int filp_close(struct file *, fl_owner_t id); -@@ -2211,6 +2224,7 @@ extern sector_t bmap(struct inode *, sector_t); +@@ -2211,6 +2224,7 @@ extern sector_t bmap(struct inode *, sec #endif extern int notify_change(struct dentry *, struct iattr *); extern int inode_permission(struct inode *, int); @@ -3228,11 +3177,9 @@ index 2c28271..3353de6 100644 extern int generic_permission(struct inode *, int); static inline bool execute_ok(struct inode *inode) -diff --git a/include/linux/mount.h b/include/linux/mount.h -index d7029f4..344a262 100644 --- a/include/linux/mount.h +++ b/include/linux/mount.h -@@ -66,6 +66,9 @@ extern void mnt_pin(struct vfsmount *mnt); +@@ -66,6 +66,9 @@ extern void mnt_pin(struct vfsmount *mnt extern void mnt_unpin(struct vfsmount *mnt); extern int __mnt_is_readonly(struct vfsmount *mnt); diff --git a/target/linux/generic/patches-3.9/220-gc_sections.patch b/target/linux/generic/patches-3.9/220-gc_sections.patch index 28a835100f..5b0cfa96b8 100644 --- a/target/linux/generic/patches-3.9/220-gc_sections.patch +++ b/target/linux/generic/patches-3.9/220-gc_sections.patch @@ -479,5 +479,5 @@ endif +KBUILD_CFLAGS_KERNEL := $(patsubst -f%-sections,,$(KBUILD_CFLAGS_KERNEL)) - ccflags-y := -fpic -fno-builtin -I$(obj) + ccflags-y := -fpic -mno-single-pic-base -fno-builtin -I$(obj) asflags-y := -Wa,-march=all -DZIMAGE diff --git a/target/linux/generic/patches-3.9/530-jffs2_make_lzma_available.patch b/target/linux/generic/patches-3.9/530-jffs2_make_lzma_available.patch index dae8092e6a..9cd8ec345d 100644 --- a/target/linux/generic/patches-3.9/530-jffs2_make_lzma_available.patch +++ b/target/linux/generic/patches-3.9/530-jffs2_make_lzma_available.patch @@ -206,7 +206,7 @@ +} --- a/fs/jffs2/super.c +++ b/fs/jffs2/super.c -@@ -373,14 +373,41 @@ static int __init init_jffs2_fs(void) +@@ -374,14 +374,41 @@ static int __init init_jffs2_fs(void) BUILD_BUG_ON(sizeof(struct jffs2_raw_inode) != 68); BUILD_BUG_ON(sizeof(struct jffs2_raw_summary) != 32); diff --git a/target/linux/generic/patches-3.9/702-phy_add_aneg_done_function.patch b/target/linux/generic/patches-3.9/702-phy_add_aneg_done_function.patch index b539c8e869..e802b0bf9c 100644 --- a/target/linux/generic/patches-3.9/702-phy_add_aneg_done_function.patch +++ b/target/linux/generic/patches-3.9/702-phy_add_aneg_done_function.patch @@ -21,7 +21,7 @@ --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -793,6 +793,9 @@ int genphy_update_link(struct phy_device +@@ -795,6 +795,9 @@ int genphy_update_link(struct phy_device { int status; diff --git a/target/linux/generic/patches-3.9/703-phy-add-detach-callback-to-struct-phy_driver.patch b/target/linux/generic/patches-3.9/703-phy-add-detach-callback-to-struct-phy_driver.patch index 6ab8742da8..5d178e627a 100644 --- a/target/linux/generic/patches-3.9/703-phy-add-detach-callback-to-struct-phy_driver.patch +++ b/target/linux/generic/patches-3.9/703-phy-add-detach-callback-to-struct-phy_driver.patch @@ -1,6 +1,6 @@ --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -610,6 +610,9 @@ EXPORT_SYMBOL(phy_attach); +@@ -612,6 +612,9 @@ EXPORT_SYMBOL(phy_attach); */ void phy_detach(struct phy_device *phydev) { diff --git a/target/linux/generic/patches-3.9/863-gpiommc.patch b/target/linux/generic/patches-3.9/863-gpiommc.patch index 84d1c409d6..6c3dce21c5 100644 --- a/target/linux/generic/patches-3.9/863-gpiommc.patch +++ b/target/linux/generic/patches-3.9/863-gpiommc.patch @@ -830,7 +830,7 @@ +be done automatically. --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -3618,6 +3618,11 @@ L: linuxppc-dev@lists.ozlabs.org +@@ -3600,6 +3600,11 @@ L: linuxppc-dev@lists.ozlabs.org S: Odd Fixes F: drivers/tty/hvc/ diff --git a/target/linux/generic/patches-3.9/903-debloat_direct_io.patch b/target/linux/generic/patches-3.9/903-debloat_direct_io.patch index 05721b3977..c4a99a33b4 100644 --- a/target/linux/generic/patches-3.9/903-debloat_direct_io.patch +++ b/target/linux/generic/patches-3.9/903-debloat_direct_io.patch @@ -26,7 +26,7 @@ endif --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -2447,12 +2447,26 @@ enum { +@@ -2449,12 +2449,26 @@ enum { DIO_SKIP_HOLES = 0x02, }; diff --git a/target/linux/generic/patches-3.9/992-mpcore_wdt_fix_watchdog_counter_loading.patch b/target/linux/generic/patches-3.9/992-mpcore_wdt_fix_watchdog_counter_loading.patch index 54ca7284f3..c473499567 100644 --- a/target/linux/generic/patches-3.9/992-mpcore_wdt_fix_watchdog_counter_loading.patch +++ b/target/linux/generic/patches-3.9/992-mpcore_wdt_fix_watchdog_counter_loading.patch @@ -47,7 +47,7 @@ Signed-off-by: Vitaly Kuzmichev #include #include #include -@@ -360,6 +361,13 @@ int __init twd_local_timer_register(stru +@@ -361,6 +362,13 @@ int __init twd_local_timer_register(stru return twd_local_timer_common_register(NULL); } -- 2.25.1