diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index 926d2f3f1f01ec8cb68872f9abc54da6709f4aa3..86423148f39045d36a4df5c94c554d50e1d2c2ee 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -23,8 +23,8 @@ endif
 ifeq ($(LINUX_VERSION),3.13.7)
   LINUX_KERNEL_MD5SUM:=370adced5e5c1cb1d0d621c2dae2723f
 endif
-ifeq ($(LINUX_VERSION),3.14.7)
-  LINUX_KERNEL_MD5SUM:=046c448e477d534780ff7dad369b499f
+ifeq ($(LINUX_VERSION),3.14.8)
+  LINUX_KERNEL_MD5SUM:=d19dcd4819f2148cc85b80190133755e
 endif
 
 # disable the md5sum check for unknown kernel versions
diff --git a/target/linux/generic/patches-3.14/100-overlayfs.patch b/target/linux/generic/patches-3.14/100-overlayfs.patch
index 28bd4d89f5dda2235b97adb10eb837194583bc69..2983484596de9f9932c2ed38b46d2cefe367037a 100644
--- a/target/linux/generic/patches-3.14/100-overlayfs.patch
+++ b/target/linux/generic/patches-3.14/100-overlayfs.patch
@@ -318,7 +318,7 @@
  extern const struct file_operations pipefifo_fops;
 --- a/fs/namei.c
 +++ b/fs/namei.c
-@@ -413,6 +413,7 @@ int __inode_permission(struct inode *ino
+@@ -414,6 +414,7 @@ int __inode_permission(struct inode *ino
  
  	return security_inode_permission(inode, mask);
  }
@@ -326,7 +326,7 @@
  
  /**
   * sb_permission - Check superblock-level permissions
-@@ -3035,9 +3036,12 @@ finish_open_created:
+@@ -3036,9 +3037,12 @@ finish_open_created:
  	error = may_open(&nd->path, acc_mode, open_flag);
  	if (error)
  		goto out;
diff --git a/target/linux/generic/patches-3.14/552-ubifs-respect-silent-mount-flag.patch b/target/linux/generic/patches-3.14/552-ubifs-respect-silent-mount-flag.patch
index 8f7df0d433f0d14bb897d77b12db6983b519f792..2e43d251dc1b01f257be64b30ed402d106b8a7e6 100644
--- a/target/linux/generic/patches-3.14/552-ubifs-respect-silent-mount-flag.patch
+++ b/target/linux/generic/patches-3.14/552-ubifs-respect-silent-mount-flag.patch
@@ -22,11 +22,9 @@ Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
 
 ---
 
-diff --git a/fs/ubifs/io.c b/fs/ubifs/io.c
-index e18b988..2290d58 100644
 --- a/fs/ubifs/io.c
 +++ b/fs/ubifs/io.c
-@@ -988,30 +988,32 @@ int ubifs_read_node(const struct ubifs_info *c, void *buf, int type, int len,
+@@ -988,30 +988,32 @@ int ubifs_read_node(const struct ubifs_i
  		return err;
  
  	if (type != ch->node_type) {
@@ -67,11 +65,9 @@ index e18b988..2290d58 100644
  	return -EINVAL;
  }
  
-diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
-index a81c7b5..3904c85 100644
 --- a/fs/ubifs/super.c
 +++ b/fs/ubifs/super.c
-@@ -1149,6 +1149,9 @@ static int mount_ubifs(struct ubifs_info *c)
+@@ -1149,6 +1149,9 @@ static int mount_ubifs(struct ubifs_info
  	size_t sz;
  
  	c->ro_mount = !!(c->vfs_sb->s_flags & MS_RDONLY);
@@ -81,7 +77,7 @@ index a81c7b5..3904c85 100644
  	err = init_constants_early(c);
  	if (err)
  		return err;
-@@ -1214,6 +1217,8 @@ static int mount_ubifs(struct ubifs_info *c)
+@@ -1214,6 +1217,8 @@ static int mount_ubifs(struct ubifs_info
  	if (err)
  		goto out_free;
  
@@ -90,8 +86,6 @@ index a81c7b5..3904c85 100644
  	/*
  	 * Make sure the compressor which is set as default in the superblock
  	 * or overridden by mount options is actually compiled in.
-diff --git a/fs/ubifs/ubifs.h b/fs/ubifs/ubifs.h
-index e8c8cfe..c1f71fe 100644
 --- a/fs/ubifs/ubifs.h
 +++ b/fs/ubifs/ubifs.h
 @@ -51,6 +51,15 @@
diff --git a/target/linux/generic/patches-3.14/831-ledtrig_netdev.patch b/target/linux/generic/patches-3.14/831-ledtrig_netdev.patch
index 68843461350881bf2f0a4259513b2c7601a02764..1fdd6e8dc32dcae5cf5b8b492f5a01b7a267570b 100644
--- a/target/linux/generic/patches-3.14/831-ledtrig_netdev.patch
+++ b/target/linux/generic/patches-3.14/831-ledtrig_netdev.patch
@@ -29,7 +29,7 @@
  #include <linux/netdevice.h>
  #include <linux/timer.h>
  #include <linux/ctype.h>
-@@ -307,8 +306,9 @@ done:
+@@ -294,8 +293,9 @@ done:
  static void netdev_trig_timer(unsigned long arg)
  {
  	struct led_netdev_data *trigger_data = (struct led_netdev_data *)arg;
@@ -40,7 +40,7 @@
  
  	write_lock(&trigger_data->lock);
  
-@@ -318,7 +318,7 @@ static void netdev_trig_timer(unsigned l
+@@ -305,7 +305,7 @@ static void netdev_trig_timer(unsigned l
  		goto no_restart;
  	}
  
diff --git a/target/linux/kirkwood/patches-3.14/160-ea4500.patch b/target/linux/kirkwood/patches-3.14/160-ea4500.patch
index a304e859caadffb02f69dd0d115ad024bc7af672..0abf1a1c7c590de525f6961bb63a3ffcf277f1ec 100644
--- a/target/linux/kirkwood/patches-3.14/160-ea4500.patch
+++ b/target/linux/kirkwood/patches-3.14/160-ea4500.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/boot/dts/Makefile
 +++ b/arch/arm/boot/dts/Makefile
-@@ -90,6 +90,7 @@
+@@ -90,6 +90,7 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-
  	kirkwood-dns325.dtb \
  	kirkwood-dockstar.dtb \
  	kirkwood-dreamplug.dtb \
diff --git a/target/linux/x86_64/Makefile b/target/linux/x86_64/Makefile
index 3269f45b8ec836cfb65fc2a80927ac9fb46b8435..022ebd626c800747b5f73591a6bdbfbad3fb4eb5 100644
--- a/target/linux/x86_64/Makefile
+++ b/target/linux/x86_64/Makefile
@@ -12,7 +12,7 @@ BOARDNAME:=x86_64
 FEATURES:=ext4 vdi vmdk targz
 MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
 
-LINUX_VERSION:=3.14.7
+LINUX_VERSION:=3.14.8
 
 KERNELNAME:=bzImage