diff --git a/bsp/mti-malta32/mousedev-mousedev-patch-for-qemumips.patch b/bsp/mti-malta32/mousedev-mousedev-patch-for-qemumips.patch
index f887ee97e6b216dd4e1b98b48cf277c4e8f5fa6b..0be803e72047d5f667bb33ffb2d8a8542fba7410 100644
--- a/bsp/mti-malta32/mousedev-mousedev-patch-for-qemumips.patch
+++ b/bsp/mti-malta32/mousedev-mousedev-patch-for-qemumips.patch
@@ -1,4 +1,4 @@
-From 7b532ebf41b9009bcff5e19a2a234e4234428fc9 Mon Sep 17 00:00:00 2001
+From ea93a4894be8e3c64922d49bdb1a6214b09dc42f Mon Sep 17 00:00:00 2001
 From: Richard Griffiths <richard.griffiths@windriver.com>
 Date: Tue, 21 Sep 2010 13:22:55 -0700
 Subject: [PATCH] mousedev: mousedev patch for qemumips
@@ -19,10 +19,10 @@ Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
  1 file changed, 7 insertions(+), 1 deletion(-)
 
 diff --git a/drivers/input/mousedev.c b/drivers/input/mousedev.c
-index b604564dec5c..8311853200e8 100644
+index 2d7f691ec71c..89de459d9748 100644
 --- a/drivers/input/mousedev.c
 +++ b/drivers/input/mousedev.c
-@@ -26,6 +26,7 @@
+@@ -27,6 +27,7 @@
  #include <linux/device.h>
  #include <linux/cdev.h>
  #include <linux/kernel.h>
@@ -30,16 +30,16 @@ index b604564dec5c..8311853200e8 100644
  
  MODULE_AUTHOR("Vojtech Pavlik <vojtech@ucw.cz>");
  MODULE_DESCRIPTION("Mouse (ExplorerPS/2) device interfaces");
-@@ -714,7 +715,7 @@ static ssize_t mousedev_read(struct file *file, char __user *buffer,
+@@ -720,7 +721,7 @@ static ssize_t mousedev_read(struct file *file, char __user *buffer,
  {
  	struct mousedev_client *client = file->private_data;
  	struct mousedev *mousedev = client->mousedev;
--	signed char data[sizeof(client->ps2)];
+-	u8 data[sizeof(client->ps2)];
 +	u16 data[sizeof(client->ps2)];
  	int retval = 0;
  
  	if (!client->ready && !client->buffer && mousedev->exist &&
-@@ -742,6 +743,11 @@ static ssize_t mousedev_read(struct file *file, char __user *buffer,
+@@ -748,6 +749,11 @@ static ssize_t mousedev_read(struct file *file, char __user *buffer,
  	memcpy(data, client->ps2 + client->bufsiz - client->buffer, count);
  	client->buffer -= count;
  
diff --git a/features/aufs/aufs4-base-support.patch b/features/aufs/aufs4-base-support.patch
index 3b58b8b52d135eaad4de42c3fc83d1be2a7bb5c5..1e28bca4da647d2721eb99f77383cccfe7117545 100644
--- a/features/aufs/aufs4-base-support.patch
+++ b/features/aufs/aufs4-base-support.patch
@@ -1,7 +1,7 @@
-From e218e3fe44f1d5d163bbc7cacedb1ab748d92247 Mon Sep 17 00:00:00 2001
+From e85f27349cc967d9f9754993d5e8141fc39f0b12 Mon Sep 17 00:00:00 2001
 From: Bruce Ashfield <bruce.ashfield@windriver.com>
 Date: Tue, 12 Sep 2017 19:58:37 -0400
-Subject: [PATCH 2/6] aufs4: base support
+Subject: [PATCH] aufs4: base support
 
 aufs4-base.patch from git://github.com/sfjro/aufs4-standalone.git
 
@@ -21,10 +21,10 @@ Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
  11 files changed, 81 insertions(+), 9 deletions(-)
 
 diff --git a/MAINTAINERS b/MAINTAINERS
-index 767e9d202adf..2dd7fa4d2c35 100644
+index a74227ad082e..a5599c75b193 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -2348,6 +2348,19 @@ F:	include/linux/audit.h
+@@ -2465,6 +2465,19 @@ F:	include/linux/audit.h
  F:	include/uapi/linux/audit.h
  F:	kernel/audit*
  
@@ -45,10 +45,10 @@ index 767e9d202adf..2dd7fa4d2c35 100644
  M:	Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com>
  W:	http://miguelojeda.es/auxdisplay.htm
 diff --git a/drivers/block/loop.c b/drivers/block/loop.c
-index ebbd0c3fe0ed..6b8a6a4cf749 100644
+index 85de67334695..d44de9dbaddf 100644
 --- a/drivers/block/loop.c
 +++ b/drivers/block/loop.c
-@@ -700,6 +700,24 @@ static inline int is_loop_device(struct file *file)
+@@ -686,6 +686,24 @@ static inline int is_loop_device(struct file *file)
  	return i && S_ISBLK(i->i_mode) && MAJOR(i->i_rdev) == LOOP_MAJOR;
  }
  
@@ -74,10 +74,10 @@ index ebbd0c3fe0ed..6b8a6a4cf749 100644
  
  static ssize_t loop_attr_show(struct device *dev, char *page,
 diff --git a/fs/dcache.c b/fs/dcache.c
-index 736754c5ab63..2dca035db59f 100644
+index f90141387f01..e3719a5e45d9 100644
 --- a/fs/dcache.c
 +++ b/fs/dcache.c
-@@ -1192,7 +1192,7 @@ enum d_walk_ret {
+@@ -1197,7 +1197,7 @@ enum d_walk_ret {
   *
   * The @enter() and @finish() callbacks are called with d_lock held.
   */
@@ -87,7 +87,7 @@ index 736754c5ab63..2dca035db59f 100644
  		   void (*finish)(void *))
  {
 diff --git a/fs/fcntl.c b/fs/fcntl.c
-index f4e7267d117f..d39404ce654a 100644
+index 448a1119f0be..f51c2cfdd4ae 100644
 --- a/fs/fcntl.c
 +++ b/fs/fcntl.c
 @@ -31,7 +31,7 @@
@@ -109,10 +109,10 @@ index f4e7267d117f..d39404ce654a 100644
  		return error;
  
 diff --git a/fs/inode.c b/fs/inode.c
-index db5914783a71..69cbe9c84a5d 100644
+index d1e35b53bb23..f7800d6fd1a0 100644
 --- a/fs/inode.c
 +++ b/fs/inode.c
-@@ -1640,7 +1640,7 @@ EXPORT_SYMBOL(generic_update_time);
+@@ -1655,7 +1655,7 @@ EXPORT_SYMBOL(generic_update_time);
   * This does the actual work of updating an inodes time or version.  Must have
   * had called mnt_want_write() before calling this.
   */
@@ -122,12 +122,12 @@ index db5914783a71..69cbe9c84a5d 100644
  	int (*update_time)(struct inode *, struct timespec *, int);
  
 diff --git a/fs/read_write.c b/fs/read_write.c
-index 19d4d88fa285..05033f773327 100644
+index f0d4b16873e8..6aa8c7a55acf 100644
 --- a/fs/read_write.c
 +++ b/fs/read_write.c
-@@ -513,6 +513,28 @@ ssize_t __vfs_write(struct file *file, const char __user *p, size_t count,
+@@ -483,6 +483,28 @@ ssize_t __vfs_write(struct file *file, const char __user *p, size_t count,
+ 		return -EINVAL;
  }
- EXPORT_SYMBOL(__vfs_write);
  
 +vfs_readf_t vfs_readf(struct file *file)
 +{
@@ -151,14 +151,14 @@ index 19d4d88fa285..05033f773327 100644
 +	return ERR_PTR(-ENOSYS);
 +}
 +
- ssize_t __kernel_write(struct file *file, const char *buf, size_t count, loff_t *pos)
+ ssize_t __kernel_write(struct file *file, const void *buf, size_t count, loff_t *pos)
  {
  	mm_segment_t old_fs;
 diff --git a/fs/splice.c b/fs/splice.c
-index 540c4a44756c..4a0bc6253a1a 100644
+index f3084cce0ea6..eb888c670aec 100644
 --- a/fs/splice.c
 +++ b/fs/splice.c
-@@ -853,8 +853,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
+@@ -837,8 +837,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
  /*
   * Attempt to initiate a splice from pipe to file.
   */
@@ -169,7 +169,7 @@ index 540c4a44756c..4a0bc6253a1a 100644
  {
  	ssize_t (*splice_write)(struct pipe_inode_info *, struct file *,
  				loff_t *, size_t, unsigned int);
-@@ -870,9 +870,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
+@@ -854,9 +854,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
  /*
   * Attempt to initiate a splice from a file to a pipe.
   */
@@ -183,7 +183,7 @@ index 540c4a44756c..4a0bc6253a1a 100644
  	ssize_t (*splice_read)(struct file *, loff_t *,
  			       struct pipe_inode_info *, size_t, unsigned int);
 diff --git a/fs/sync.c b/fs/sync.c
-index 11ba023434b1..abf6a5dc09f4 100644
+index a576aa2e6b09..eb617808ff93 100644
 --- a/fs/sync.c
 +++ b/fs/sync.c
 @@ -27,7 +27,7 @@
@@ -208,18 +208,18 @@ index 61eb82cbafba..e700888b4da4 100644
  static inline void fput_light(struct file *file, int fput_needed)
  {
 diff --git a/include/linux/fs.h b/include/linux/fs.h
-index d6d525039496..9b8a5f6660e6 100644
+index 13dab191a23e..8ab65666ec70 100644
 --- a/include/linux/fs.h
 +++ b/include/linux/fs.h
-@@ -1248,6 +1248,7 @@ extern void fasync_free(struct fasync_struct *);
+@@ -1264,6 +1264,7 @@ extern void fasync_free(struct fasync_struct *);
  /* can be called from interrupts */
  extern void kill_fasync(struct fasync_struct **, int, int);
  
 +extern int setfl(int fd, struct file * filp, unsigned long arg);
  extern void __f_setown(struct file *filp, struct pid *, enum pid_type, int force);
- extern void f_setown(struct file *filp, unsigned long arg, int force);
+ extern int f_setown(struct file *filp, unsigned long arg, int force);
  extern void f_delown(struct file *filp);
-@@ -1674,6 +1675,7 @@ struct file_operations {
+@@ -1710,6 +1711,7 @@ struct file_operations {
  	ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int);
  	unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
  	int (*check_flags)(int);
@@ -227,7 +227,7 @@ index d6d525039496..9b8a5f6660e6 100644
  	int (*flock) (struct file *, int, struct file_lock *);
  	ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int);
  	ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);
-@@ -1750,6 +1752,12 @@ ssize_t rw_copy_check_uvector(int type, const struct iovec __user * uvector,
+@@ -1780,6 +1782,12 @@ ssize_t rw_copy_check_uvector(int type, const struct iovec __user * uvector,
  			      struct iovec *fast_pointer,
  			      struct iovec **ret_pointer);
  
@@ -238,9 +238,9 @@ index d6d525039496..9b8a5f6660e6 100644
 +vfs_writef_t vfs_writef(struct file *file);
 +
  extern ssize_t __vfs_read(struct file *, char __user *, size_t, loff_t *);
- extern ssize_t __vfs_write(struct file *, const char __user *, size_t, loff_t *);
  extern ssize_t vfs_read(struct file *, char __user *, size_t, loff_t *);
-@@ -2131,6 +2139,7 @@ extern int current_umask(void);
+ extern ssize_t vfs_write(struct file *, const char __user *, size_t, loff_t *);
+@@ -2182,6 +2190,7 @@ extern int current_umask(void);
  extern void ihold(struct inode * inode);
  extern void iput(struct inode *);
  extern int generic_update_time(struct inode *, struct timespec *, int);
@@ -248,7 +248,7 @@ index d6d525039496..9b8a5f6660e6 100644
  
  /* /sys/fs */
  extern struct kobject *fs_kobj;
-@@ -2411,6 +2420,7 @@ static inline bool sb_is_blkdev_sb(struct super_block *sb)
+@@ -2462,6 +2471,7 @@ static inline bool sb_is_blkdev_sb(struct super_block *sb)
  	return false;
  }
  #endif
diff --git a/features/perf/perf-use-pkg-config-instead-of-python-config.patch b/features/perf/perf-use-pkg-config-instead-of-python-config.patch
index 85805dc6abb55d6b7957e8143c0cedfe69c3e0a2..b0fca1cd6b40175ea75eb5a019ac7755edd530e1 100644
--- a/features/perf/perf-use-pkg-config-instead-of-python-config.patch
+++ b/features/perf/perf-use-pkg-config-instead-of-python-config.patch
@@ -1,4 +1,4 @@
-From 52937000933011fc62344799b6cc88a4fae29c76 Mon Sep 17 00:00:00 2001
+From e3ae486cbe718f8fef45d875901e1f11e25306d0 Mon Sep 17 00:00:00 2001
 From: Tom Zanussi <tom.zanussi@intel.com>
 Date: Tue, 3 Jul 2012 13:07:21 -0500
 Subject: [PATCH] perf: use pkg-config instead of python-config
@@ -12,10 +12,10 @@ Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
-index 1f4fbc9a3292..50181c4bac58 100644
+index 63f534a0902f..ef7597af8dd0 100644
 --- a/tools/perf/Makefile.config
 +++ b/tools/perf/Makefile.config
-@@ -176,10 +176,10 @@ strip-libs  = $(filter-out -l%,$(1))
+@@ -180,10 +180,10 @@ strip-libs  = $(filter-out -l%,$(1))
  PYTHON_CONFIG_SQ := $(call shell-sq,$(PYTHON_CONFIG))
  
  ifdef PYTHON_CONFIG
@@ -25,7 +25,7 @@ index 1f4fbc9a3292..50181c4bac58 100644
    PYTHON_EMBED_LIBADD := $(call grep-libs,$(PYTHON_EMBED_LDOPTS)) -lutil
 -  PYTHON_EMBED_CCOPTS := $(shell $(PYTHON_CONFIG_SQ) --cflags 2>/dev/null)
 +  PYTHON_EMBED_CCOPTS := $(shell pkg-config --cflags python 2>/dev/null)
-   ifeq ($(CC), clang)
+   ifeq ($(CC_NO_CLANG), 1)
      PYTHON_EMBED_CCOPTS := $(filter-out -specs=%,$(PYTHON_EMBED_CCOPTS))
    endif
 -- 
diff --git a/features/vfat/FAT-Add-CONFIG_VFAT_FS_NO_DUALNAMES-option.patch b/features/vfat/FAT-Add-CONFIG_VFAT_FS_NO_DUALNAMES-option.patch
index 8485da1608ed2d502acdd606b434c7dd2d7f3257..160061c7a23f0bca23ac5a5d057778469e59cefd 100644
--- a/features/vfat/FAT-Add-CONFIG_VFAT_FS_NO_DUALNAMES-option.patch
+++ b/features/vfat/FAT-Add-CONFIG_VFAT_FS_NO_DUALNAMES-option.patch
@@ -1,4 +1,4 @@
-From 14bed7182b40f6330046f3f46f0b34efafc9c7fe Mon Sep 17 00:00:00 2001
+From a3d70fb7647400a85b0675815a8e77ccdb67c8e0 Mon Sep 17 00:00:00 2001
 From: Andrew Tridgell <tridge@samba.org>
 Date: Tue, 21 Jul 2009 09:59:29 +1000
 Subject: [PATCH] FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
@@ -10,6 +10,10 @@ dummy bytes are stored in the 8.3 entry, and the 8.3 entry is marked
 as having no short name using the FAT_NO_83NAME flag.
 
 Signed-off-by: Andrew Tridgell <tridge@samba.org>
+---
+ fs/fat/Kconfig      | 21 ++++++++++++++
+ fs/fat/namei_vfat.c | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 2 files changed, 102 insertions(+), 2 deletions(-)
 
 diff --git a/fs/fat/Kconfig b/fs/fat/Kconfig
 index 3ff1772f612e..1f103d835e8c 100644
@@ -44,18 +48,18 @@ index 3ff1772f612e..1f103d835e8c 100644
  	int "Default codepage for FAT"
  	depends on MSDOS_FS || VFAT_FS
 diff --git a/fs/fat/namei_vfat.c b/fs/fat/namei_vfat.c
-index 6a7152d0c250..a9bf8e0ca9bd 100644
+index 02c066663a3a..30ca00d2c150 100644
 --- a/fs/fat/namei_vfat.c
 +++ b/fs/fat/namei_vfat.c
-@@ -19,6 +19,7 @@
- #include <linux/ctype.h>
- #include <linux/slab.h>
+@@ -21,6 +21,7 @@
  #include <linux/namei.h>
+ #include <linux/kernel.h>
+ 
 +#include <linux/random.h>
  #include "fat.h"
  
  static inline unsigned long vfat_d_version(struct dentry *dentry)
-@@ -333,6 +334,17 @@ static int vfat_create_shortname(struct inode *dir, struct nls_table *nls,
+@@ -335,6 +336,17 @@ static int vfat_create_shortname(struct inode *dir, struct nls_table *nls,
  	int sz = 0, extlen, baselen, i, numtail_baselen, numtail2_baselen;
  	int is_shortname;
  	struct shortname_info base_info, ext_info;
@@ -73,7 +77,7 @@ index 6a7152d0c250..a9bf8e0ca9bd 100644
  
  	is_shortname = 1;
  	INIT_SHORTNAME_INFO(&base_info);
-@@ -445,9 +457,9 @@ static int vfat_create_shortname(struct inode *dir, struct nls_table *nls,
+@@ -447,9 +459,9 @@ static int vfat_create_shortname(struct inode *dir, struct nls_table *nls,
  		if (vfat_find_form(dir, name_res) == 0)
  			return -EEXIST;
  
@@ -85,7 +89,7 @@ index 6a7152d0c250..a9bf8e0ca9bd 100644
  			if ((base_info.upper || base_info.lower) &&
  			    (ext_info.upper || ext_info.lower)) {
  				if (!base_info.upper && base_info.lower)
-@@ -586,6 +598,66 @@ xlate_to_uni(const unsigned char *name, int len, unsigned char *outname,
+@@ -575,6 +587,66 @@ xlate_to_uni(const unsigned char *name, int len, unsigned char *outname,
  	return 0;
  }
  
@@ -152,7 +156,7 @@ index 6a7152d0c250..a9bf8e0ca9bd 100644
  static int vfat_build_slots(struct inode *dir, const unsigned char *name,
  			    int len, int is_dir, int cluster,
  			    struct timespec *ts,
-@@ -628,6 +700,13 @@ static int vfat_build_slots(struct inode *dir, const unsigned char *name,
+@@ -617,6 +689,13 @@ static int vfat_build_slots(struct inode *dir, const unsigned char *name,
  		goto shortname;
  	}
  
@@ -167,5 +171,5 @@ index 6a7152d0c250..a9bf8e0ca9bd 100644
  	cksum = fat_checksum(msdos_name);
  
 -- 
-2.11.0
+2.5.0