[kernel/f19] Linux v3.14.3

Justin M. Forbes jforbes at fedoraproject.org
Thu May 8 12:24:06 UTC 2014


commit 511f256d9fb8703f883adfe92f4a0d46289a14b8
Author: Justin M. Forbes <jforbes at redhat.com>
Date:   Thu May 8 07:24:27 2014 -0500

    Linux v3.14.3

 ...Add-4-new-models-to-the-use_native_backli.patch |  100 +++
 ...Add-use_native_backlight-quirks-for-Think.patch |   76 ++
 ...Add-NO_INIT_REPORTS-quirk-for-Synaptics-T.patch |   44 ++
 0002-elantech-Fix-elantech-on-Gigabyte-U2442.patch |  124 ++++
 ...top-Add-broken-acpi-video-quirk-for-NC210.patch |   39 +
 ...ist-Add-dmi_enable_osi_linux-quirk-for-As.patch |   49 ++
 ...nk-Rename-netlink_capable-netlink_allowed.patch |   68 ++
 ...k_diag_put_filterinfo-to-packet_diag_dump.patch |  104 +++
 ...variants-of-capable-for-use-on-on-sockets.patch |   97 +++
 ...ts-of-capable-for-use-on-netlink-messages.patch |  116 +++
 ...verify-the-permisions-of-netlink-messages.patch |  433 +++++++++++
 ...pointer-issue-in-acpi_tb_parse_root_table.patch |   67 ++
 ...th-hidp-make-sure-input-buffers-are-big-e.patch |   95 ---
 Input-ALPS-add-support-for-Dolphin-devices.patch   |  348 ---------
 arm-am33xx-bblack.patch                            |  610 ----------------
 arm-imx6-utilite.patch                             |  153 +++--
 arm-tegra-paz00-panel-dts.patch                    |   99 +++
 cifs-mask-off-top-byte-in-get_rfc1002_length.patch |   88 ---
 ...eck-length-of-data-to-send-before-sending.patch |  129 ----
 config-arm-generic                                 |   42 +-
 config-armv7                                       |   88 ++--
 config-armv7-generic                               |   99 ++-
 config-armv7-lpae                                  |   33 +-
 config-debug                                       |    2 -
 config-generic                                     |   82 ++-
 config-nodebug                                     |    2 -
 config-powerpc-generic                             |    3 +-
 config-powerpc64                                   |    7 +-
 config-powerpc64p7                                 |    7 +-
 config-x86-32-generic                              |    5 +
 config-x86-generic                                 |    8 +
 config-x86_64-generic                              |    4 +-
 drm-fix-qxl-mode-flags-backport.patch              |  119 +++
 fanotify-fix-EOVERFLOW-on-64-bit.patch             |   32 +
 ipv6-addrconf-revert-if_inet6ifa_flag-format.patch |   45 --
 ...REFIXROUTE-and-IFA_F_MANAGETEMPADDR-flags.patch |  753 --------------------
 ...-clear-IWL_STA_UCODE_INPROGRESS-when-asso.patch |   39 -
 kernel.spec                                        |  211 +++---
 keyring-fix.patch                                  |   17 -
 ...-__break_lease-to-sleep-even-when-break_t.patch |   50 ++
 ...oc.c-change-mm-debug-routines-back-to-EXP.patch |   61 ++
 ..._tty_write-crash-when-echoing-in-raw-mode.patch |   86 +++
 ...capable-check-in-sock_diag_put_filterinfo.patch |   72 ++
 ...ith-correct-mac_len-in-skb_network_protoc.patch |   48 ++
 ...han-frags-in-nfqnl_zcopy-and-handle-error.patch |  117 ---
 nfs-check-gssd-running-before-krb5i-auth.patch     |   53 --
 ...my-gssd-directory-when-notification-fails.patch |   50 --
 ...the-clntXX-dir-if-creating-the-pipe-fails.patch |   32 -
 secure-modules.patch                               |  122 ++--
 ...mmap-DAC-controls-before-the-MAC-controls.patch |    2 +-
 sources                                            |    4 +-
 ...-add-an-info-file-for-the-dummy-gssd-pipe.patch |   96 ---
 ...te-a-new-dummy-pipe-for-gssd-to-hold-open.patch |  233 ------
 ...ace-gssd_running-with-more-reliable-check.patch |  139 ----
 sysrq-secure-boot.patch                            |   53 +-
 55 files changed, 2464 insertions(+), 3191 deletions(-)
---
diff --git a/0001-acpi-video-Add-4-new-models-to-the-use_native_backli.patch b/0001-acpi-video-Add-4-new-models-to-the-use_native_backli.patch
new file mode 100644
index 0000000..29da90b
--- /dev/null
+++ b/0001-acpi-video-Add-4-new-models-to-the-use_native_backli.patch
@@ -0,0 +1,100 @@
+From 5d5ef0e96f03a975feb67f70d57e55cd502885fe Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Wed, 30 Apr 2014 15:24:19 +0200
+Subject: [PATCH] acpi-video: Add 4 new models to the use_native_backlight dmi
+ list
+
+Acer Aspire V5-171
+https://bugzilla.redhat.com/show_bug.cgi?id=983342
+
+Acer Aspire V5-471G
+Lenovo Yoga 2 11
+Reported-and-tested-by: Vincent Gerris <vgerris at gmail.com>
+
+HP EliteBook 8470p
+https://bugzilla.redhat.com/show_bug.cgi?id=1093120
+
+Cc: stable at vger.kernel.org
+Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+
+Backport to 3.14, Conflicts: drivers/acpi/video.c, 3.14 is missing the
+Thinkpad Helix entry from master add that while at it.
+---
+ drivers/acpi/video.c | 40 ++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 40 insertions(+)
+
+diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
+index b6ba88e..083c89f 100644
+--- a/drivers/acpi/video.c
++++ b/drivers/acpi/video.c
+@@ -491,6 +491,22 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
+ 	},
+ 	{
+ 	 .callback = video_set_use_native_backlight,
++	 .ident = "Lenovo Yoga 2 11",
++	 .matches = {
++		DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
++		DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo Yoga 2 11"),
++		},
++	},
++	{
++	.callback = video_set_use_native_backlight,
++	.ident = "Thinkpad Helix",
++	.matches = {
++		DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
++		DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad Helix"),
++		},
++	},
++	{
++	 .callback = video_set_use_native_backlight,
+ 	 .ident = "Dell Inspiron 7520",
+ 	 .matches = {
+ 		DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+@@ -507,6 +523,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
+ 	},
+ 	{
+ 	 .callback = video_set_use_native_backlight,
++	 .ident = "Acer Aspire V5-171",
++	 .matches = {
++		DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
++		DMI_MATCH(DMI_PRODUCT_NAME, "V5-171"),
++		},
++	},
++	{
++	 .callback = video_set_use_native_backlight,
+ 	 .ident = "Acer Aspire V5-431",
+ 	 .matches = {
+ 		DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
+@@ -514,6 +538,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
+ 		},
+ 	},
+ 	{
++	 .callback = video_set_use_native_backlight,
++	 .ident = "Acer Aspire V5-471G",
++	 .matches = {
++		DMI_MATCH(DMI_BOARD_VENDOR, "Acer"),
++		DMI_MATCH(DMI_PRODUCT_NAME, "Aspire V5-471G"),
++		},
++	},
++	{
+ 	.callback = video_set_use_native_backlight,
+ 	.ident = "HP ProBook 4340s",
+ 	.matches = {
+@@ -565,6 +597,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
+ 	},
+ 	{
+ 	.callback = video_set_use_native_backlight,
++	.ident = "HP EliteBook 8470p",
++	.matches = {
++		DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
++		DMI_MATCH(DMI_PRODUCT_NAME, "HP EliteBook 8470p"),
++		},
++	},
++	{
++	.callback = video_set_use_native_backlight,
+ 	.ident = "HP EliteBook 8780w",
+ 	.matches = {
+ 		DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
+-- 
+1.9.0
+
diff --git a/0001-acpi-video-Add-use_native_backlight-quirks-for-Think.patch b/0001-acpi-video-Add-use_native_backlight-quirks-for-Think.patch
new file mode 100644
index 0000000..80e7222
--- /dev/null
+++ b/0001-acpi-video-Add-use_native_backlight-quirks-for-Think.patch
@@ -0,0 +1,76 @@
+From fdf69c4a4cfbc24694f58014e536ea5110fff9c1 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Mon, 5 May 2014 10:15:53 +0200
+Subject: [PATCH] acpi-video: Add use_native_backlight quirks for ThinkPad
+ T430, T530 and Acer Aspire 5742G
+
+ThinkPad T430: extend the T430s entry to also cover the T430 (note we also
+have another entry for T430's with a different DMI_PRODUCT_VERSION).
+
+Reported-and-tested-by: edm <fuffi.il.fuffo at gmail.com>
+Buglink: https://bugzilla.kernel.org/show_bug.cgi?id=51231
+
+Thinkpad T530
+Reported-and-tested-by: Balint Szigeti <balint.szgt at gmail.com>
+Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1089545
+
+Acer Aspire 5742G
+Reported-and-tested-by: AnAkkk <anakin.cs at gmail.com>
+Buglink: https://bugzilla.kernel.org/show_bug.cgi?id=35622
+
+Cc: stable at vger.kernel.org
+Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+---
+ drivers/acpi/video.c | 20 ++++++++++++++++++--
+ 1 file changed, 18 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
+index 48146fc..4d14b27 100644
+--- a/drivers/acpi/video.c
++++ b/drivers/acpi/video.c
+@@ -457,10 +457,10 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
+ 	},
+ 	{
+ 	 .callback = video_set_use_native_backlight,
+-	 .ident = "ThinkPad T430s",
++	 .ident = "ThinkPad T430 and T430s",
+ 	 .matches = {
+ 		DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+-		DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T430s"),
++		DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T430"),
+ 		},
+ 	},
+ 	{
+@@ -472,6 +472,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
+ 		},
+ 	},
+ 	{
++	 .callback = video_set_use_native_backlight,
++	 .ident = "ThinkPad T530",
++	 .matches = {
++		DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
++		DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T530"),
++		},
++	},
++	{
+ 	.callback = video_set_use_native_backlight,
+ 	.ident = "ThinkPad X1 Carbon",
+ 	.matches = {
+@@ -521,6 +529,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
+ 	},
+ 	{
+ 	 .callback = video_set_use_native_backlight,
++	 .ident = "Acer Aspire 5742G",
++	 .matches = {
++		DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
++		DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5742G"),
++		},
++	},
++	{
++	 .callback = video_set_use_native_backlight,
+ 	 .ident = "Acer Aspire V5-171",
+ 	 .matches = {
+ 		DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
+-- 
+1.9.0
+
diff --git a/0001-hid-quirks-Add-NO_INIT_REPORTS-quirk-for-Synaptics-T.patch b/0001-hid-quirks-Add-NO_INIT_REPORTS-quirk-for-Synaptics-T.patch
new file mode 100644
index 0000000..6d53354
--- /dev/null
+++ b/0001-hid-quirks-Add-NO_INIT_REPORTS-quirk-for-Synaptics-T.patch
@@ -0,0 +1,44 @@
+From 6186594c2c72d403832cf07d66cf6d6c6daad8f1 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Fri, 2 May 2014 16:15:33 +0200
+Subject: [PATCH 1/4] hid-quirks: Add NO_INIT_REPORTS quirk for Synaptics Touch
+ Pad V 103S
+
+This touchpad seriously dislikes init reports, not only timeing out, but
+also refusing to work after this.
+
+Cc: stable at vger.kernel.org
+Reported-and-tested-by: Vincent Fortier <th0ma7 at gmail.com>
+Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+---
+ drivers/hid/hid-ids.h           | 1 +
+ drivers/hid/usbhid/hid-quirks.c | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
+index c8af720..43f246e 100644
+--- a/drivers/hid/hid-ids.h
++++ b/drivers/hid/hid-ids.h
+@@ -834,6 +834,7 @@
+ #define USB_DEVICE_ID_SYNAPTICS_LTS2	0x1d10
+ #define USB_DEVICE_ID_SYNAPTICS_HD	0x0ac3
+ #define USB_DEVICE_ID_SYNAPTICS_QUAD_HD	0x1ac3
++#define USB_DEVICE_ID_SYNAPTICS_TP_V103	0x5710
+ 
+ #define USB_VENDOR_ID_THINGM		0x27b8
+ #define USB_DEVICE_ID_BLINK1		0x01ed
+diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c
+index dbd8387..8e4ddb3 100644
+--- a/drivers/hid/usbhid/hid-quirks.c
++++ b/drivers/hid/usbhid/hid-quirks.c
+@@ -119,6 +119,7 @@ static const struct hid_blacklist {
+ 	{ USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_LTS2, HID_QUIRK_NO_INIT_REPORTS },
+ 	{ USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_HD, HID_QUIRK_NO_INIT_REPORTS },
+ 	{ USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_QUAD_HD, HID_QUIRK_NO_INIT_REPORTS },
++	{ USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_TP_V103, HID_QUIRK_NO_INIT_REPORTS },
+ 
+ 	{ 0, 0 }
+ };
+-- 
+1.9.0
+
diff --git a/0002-elantech-Fix-elantech-on-Gigabyte-U2442.patch b/0002-elantech-Fix-elantech-on-Gigabyte-U2442.patch
new file mode 100644
index 0000000..4d42677
--- /dev/null
+++ b/0002-elantech-Fix-elantech-on-Gigabyte-U2442.patch
@@ -0,0 +1,124 @@
+From 219bc087cb6043d919575a86aa37912919e99dde Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Fri, 18 Apr 2014 10:50:57 +0200
+Subject: [PATCH 2/4] elantech: Fix elantech on Gigabyte U2442
+
+The hw_version 3 elantech touchpad on the Gigabyte U2442 does not accept
+0x0b as initialization value for r10, this stand-alone version of the driver:
+http://planet76.com/drivers/elantech/psmouse-elantech-v6.tar.bz2
+
+Uses 0x03 which does work, so this means not setting bit 3 of r10 which sets:
+"Enable Real H/W Resolution In Absolute mode"
+
+Which will result in half the x and y resolution we get with that bit set,
+so simply not setting it everywhere is not a solution. We've been unable
+to find a way to identifty touchpads where setting the bit will fail, so this
+patch uses a dmi based blacklist for this.
+
+https://bugzilla.kernel.org/show_bug.cgi?id=61151
+
+Cc: stable at vger.kernel.org
+Reported-by: Philipp Wolfer <ph.wolfer at gmail.com>
+Tested-by: Philipp Wolfer <ph.wolfer at gmail.com>
+Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+
+--
+
+Changes in v2: Add cc: stable.
+---
+ Documentation/input/elantech.txt |  5 ++++-
+ drivers/input/mouse/elantech.c   | 26 +++++++++++++++++++++++++-
+ drivers/input/mouse/elantech.h   |  1 +
+ 3 files changed, 30 insertions(+), 2 deletions(-)
+
+diff --git a/Documentation/input/elantech.txt b/Documentation/input/elantech.txt
+index 5602eb7..e1ae127 100644
+--- a/Documentation/input/elantech.txt
++++ b/Documentation/input/elantech.txt
+@@ -504,9 +504,12 @@ byte 5:
+ * reg_10
+ 
+    bit   7   6   5   4   3   2   1   0
+-         0   0   0   0   0   0   0   A
++         0   0   0   0   R   F   T   A
+ 
+          A: 1 = enable absolute tracking
++         T: 1 = enable two finger mode auto correct
++         F: 1 = disable ABS Position Filter
++         R: 1 = enable real hardware resolution
+ 
+ 6.2 Native absolute mode 6 byte packet format
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c
+index 088d354..b96e978 100644
+--- a/drivers/input/mouse/elantech.c
++++ b/drivers/input/mouse/elantech.c
+@@ -11,6 +11,7 @@
+  */
+ 
+ #include <linux/delay.h>
++#include <linux/dmi.h>
+ #include <linux/slab.h>
+ #include <linux/module.h>
+ #include <linux/input.h>
+@@ -831,7 +832,11 @@ static int elantech_set_absolute_mode(struct psmouse *psmouse)
+ 		break;
+ 
+ 	case 3:
+-		etd->reg_10 = 0x0b;
++		if (etd->set_hw_resolution)
++			etd->reg_10 = 0x0b;
++		else
++			etd->reg_10 = 0x03;
++
+ 		if (elantech_write_reg(psmouse, 0x10, etd->reg_10))
+ 			rc = -1;
+ 
+@@ -1331,6 +1336,22 @@ static int elantech_reconnect(struct psmouse *psmouse)
+ }
+ 
+ /*
++ * Some hw_version 3 models go into error state when we try to set bit 3 of r10
++ */
++static const struct dmi_system_id no_hw_res_dmi_table[] = {
++#if defined(CONFIG_DMI) && defined(CONFIG_X86)
++	{
++		/* Gigabyte U2442 */
++		.matches = {
++			DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"),
++			DMI_MATCH(DMI_PRODUCT_NAME, "U2442"),
++		},
++	},
++#endif
++	{ }
++};
++
++/*
+  * determine hardware version and set some properties according to it.
+  */
+ static int elantech_set_properties(struct elantech_data *etd)
+@@ -1390,6 +1411,9 @@ static int elantech_set_properties(struct elantech_data *etd)
+ 	 */
+ 	etd->crc_enabled = ((etd->fw_version & 0x4000) == 0x4000);
+ 
++	/* Enable real hardware resolution on hw_version 3 ? */
++	etd->set_hw_resolution = !dmi_check_system(no_hw_res_dmi_table);
++
+ 	return 0;
+ }
+ 
+diff --git a/drivers/input/mouse/elantech.h b/drivers/input/mouse/elantech.h
+index 036a04a..9e0e2a1 100644
+--- a/drivers/input/mouse/elantech.h
++++ b/drivers/input/mouse/elantech.h
+@@ -130,6 +130,7 @@ struct elantech_data {
+ 	bool jumpy_cursor;
+ 	bool reports_pressure;
+ 	bool crc_enabled;
++	bool set_hw_resolution;
+ 	unsigned char hw_version;
+ 	unsigned int fw_version;
+ 	unsigned int single_finger_reports;
+-- 
+1.9.0
+
diff --git a/0003-samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch b/0003-samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch
new file mode 100644
index 0000000..d76aa21
--- /dev/null
+++ b/0003-samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch
@@ -0,0 +1,39 @@
+From f46debb4f324d6ab66782de6ad3b884fbf223ec4 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Thu, 1 May 2014 14:20:06 +0200
+Subject: [PATCH 3/4] samsung-laptop: Add broken-acpi-video quirk for
+ NC210/NC110
+
+Reported (and tested) here:
+https://bugzilla.redhat.com/show_bug.cgi?id=861573
+
+Cc: stable at vger.kernel.org
+Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+---
+ drivers/platform/x86/samsung-laptop.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/drivers/platform/x86/samsung-laptop.c b/drivers/platform/x86/samsung-laptop.c
+index d1f03005..98f61f6 100644
+--- a/drivers/platform/x86/samsung-laptop.c
++++ b/drivers/platform/x86/samsung-laptop.c
+@@ -1534,6 +1534,16 @@ static struct dmi_system_id __initdata samsung_dmi_table[] = {
+ 		},
+ 	 .driver_data = &samsung_broken_acpi_video,
+ 	},
++	{
++	 .callback = samsung_dmi_matched,
++	 .ident = "NC210",
++	 .matches = {
++		DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
++		DMI_MATCH(DMI_PRODUCT_NAME, "NC210/NC110"),
++		DMI_MATCH(DMI_BOARD_NAME, "NC210/NC110"),
++		},
++	 .driver_data = &samsung_broken_acpi_video,
++	},
+ 	{ },
+ };
+ MODULE_DEVICE_TABLE(dmi, samsung_dmi_table);
+-- 
+1.9.0
+
diff --git a/0004-acpi-blacklist-Add-dmi_enable_osi_linux-quirk-for-As.patch b/0004-acpi-blacklist-Add-dmi_enable_osi_linux-quirk-for-As.patch
new file mode 100644
index 0000000..c2d5e3e
--- /dev/null
+++ b/0004-acpi-blacklist-Add-dmi_enable_osi_linux-quirk-for-As.patch
@@ -0,0 +1,49 @@
+From b3550bb61f5bc2fab7ecbe2ab70a505c656db133 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Mon, 5 May 2014 10:32:22 +0200
+Subject: [PATCH 4/4] acpi-blacklist: Add dmi_enable_osi_linux quirk for Asus
+ EEE PC 1015PX
+
+Without this this EEE PC exports a non working WMI interface, with this it
+exports a working "good old" eeepc_laptop interface, fixing brightness control
+not working as well as rfkill being stuck in a permanent wireless blocked
+state.
+
+This is not an ideal way to fix this, but various attempts to fix this
+otherwise have failed, see:
+https://bugzilla.redhat.com/show_bug.cgi?id=1067181
+
+Cc: stable at vger.kernel.org
+Reported-and-tested-by: lou.cardone at gmail.com
+Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+---
+ drivers/acpi/blacklist.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/drivers/acpi/blacklist.c b/drivers/acpi/blacklist.c
+index afec452..96fa4acd 100644
+--- a/drivers/acpi/blacklist.c
++++ b/drivers/acpi/blacklist.c
+@@ -374,6 +374,19 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = {
+ 		     DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T500"),
+ 		},
+ 	},
++	/*
++	 * Without this this EEEpc exports a non working WMI interface, with
++	 * this it exports a working "good old" eeepc_laptop interface, fixing
++	 * both brightness control, and rfkill not working.
++	 */
++	{
++	.callback = dmi_enable_osi_linux,
++	.ident = "Asus EEE PC 1015PX",
++	.matches = {
++		     DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK Computer INC."),
++		     DMI_MATCH(DMI_PRODUCT_NAME, "1015PX"),
++		},
++	},
+ 	{}
+ };
+ 
+-- 
+1.9.0
+
diff --git a/1-5-netlink-Rename-netlink_capable-netlink_allowed.patch b/1-5-netlink-Rename-netlink_capable-netlink_allowed.patch
new file mode 100644
index 0000000..ad18ba8
--- /dev/null
+++ b/1-5-netlink-Rename-netlink_capable-netlink_allowed.patch
@@ -0,0 +1,68 @@
+Bugzilla: 1094270
+Upstream-status: 3.15 and queued for stable
+
+From a7e6a36c02e8a4c6547bfc2b789bfbfcc95072f9 Mon Sep 17 00:00:00 2001
+From: "Eric W. Biederman" <ebiederm at xmission.com>
+Date: Wed, 23 Apr 2014 14:25:48 -0700
+Subject: [PATCH 2/6] netlink: Rename netlink_capable netlink_allowed
+
+netlink_capable is a static internal function in af_netlink.c and we
+have better uses for the name netlink_capable.
+
+Signed-off-by: "Eric W. Biederman" <ebiederm at xmission.com>
+---
+ net/netlink/af_netlink.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
+index 04748ab649c2..28d66fbc7cef 100644
+--- a/net/netlink/af_netlink.c
++++ b/net/netlink/af_netlink.c
+@@ -1360,7 +1360,7 @@ retry:
+ 	return err;
+ }
+ 
+-static inline int netlink_capable(const struct socket *sock, unsigned int flag)
++static inline int netlink_allowed(const struct socket *sock, unsigned int flag)
+ {
+ 	return (nl_table[sock->sk->sk_protocol].flags & flag) ||
+ 		ns_capable(sock_net(sock->sk)->user_ns, CAP_NET_ADMIN);
+@@ -1428,7 +1428,7 @@ static int netlink_bind(struct socket *sock, struct sockaddr *addr,
+ 
+ 	/* Only superuser is allowed to listen multicasts */
+ 	if (nladdr->nl_groups) {
+-		if (!netlink_capable(sock, NL_CFG_F_NONROOT_RECV))
++		if (!netlink_allowed(sock, NL_CFG_F_NONROOT_RECV))
+ 			return -EPERM;
+ 		err = netlink_realloc_groups(sk);
+ 		if (err)
+@@ -1490,7 +1490,7 @@ static int netlink_connect(struct socket *sock, struct sockaddr *addr,
+ 		return -EINVAL;
+ 
+ 	if ((nladdr->nl_groups || nladdr->nl_pid) &&
+-	    !netlink_capable(sock, NL_CFG_F_NONROOT_SEND))
++	    !netlink_allowed(sock, NL_CFG_F_NONROOT_SEND))
+ 		return -EPERM;
+ 
+ 	if (!nlk->portid)
+@@ -2096,7 +2096,7 @@ static int netlink_setsockopt(struct socket *sock, int level, int optname,
+ 		break;
+ 	case NETLINK_ADD_MEMBERSHIP:
+ 	case NETLINK_DROP_MEMBERSHIP: {
+-		if (!netlink_capable(sock, NL_CFG_F_NONROOT_RECV))
++		if (!netlink_allowed(sock, NL_CFG_F_NONROOT_RECV))
+ 			return -EPERM;
+ 		err = netlink_realloc_groups(sk);
+ 		if (err)
+@@ -2247,7 +2247,7 @@ static int netlink_sendmsg(struct kiocb *kiocb, struct socket *sock,
+ 		dst_group = ffs(addr->nl_groups);
+ 		err =  -EPERM;
+ 		if ((dst_group || dst_portid) &&
+-		    !netlink_capable(sock, NL_CFG_F_NONROOT_SEND))
++		    !netlink_allowed(sock, NL_CFG_F_NONROOT_SEND))
+ 			goto out;
+ 	} else {
+ 		dst_portid = nlk->dst_portid;
+-- 
+1.9.0
+
diff --git a/2-5-net-Move-the-permission-check-in-sock_diag_put_filterinfo-to-packet_diag_dump.patch b/2-5-net-Move-the-permission-check-in-sock_diag_put_filterinfo-to-packet_diag_dump.patch
new file mode 100644
index 0000000..237569e
--- /dev/null
+++ b/2-5-net-Move-the-permission-check-in-sock_diag_put_filterinfo-to-packet_diag_dump.patch
@@ -0,0 +1,104 @@
+Bugzilla: 1094270
+Upstream-status: 3.15 and queued for stable
+
+From 568ddf41e32a9b4337d87fdb507e729029a69e49 Mon Sep 17 00:00:00 2001
+From: "Eric W. Biederman" <ebiederm at xmission.com>
+Date: Wed, 23 Apr 2014 14:26:25 -0700
+Subject: [PATCH 3/6] net: Move the permission check in
+ sock_diag_put_filterinfo to packet_diag_dump
+
+The permission check in sock_diag_put_filterinfo is wrong, and it is so removed
+from it's sources it is not clear why it is wrong.  Move the computation
+into packet_diag_dump and pass a bool of the result into sock_diag_filterinfo.
+
+This does not yet correct the capability check but instead simply moves it to make
+it clear what is going on.
+
+Reported-by: Andy Lutomirski <luto at amacapital.net>
+Signed-off-by: "Eric W. Biederman" <ebiederm at xmission.com>
+---
+ include/linux/sock_diag.h | 2 +-
+ net/core/sock_diag.c      | 4 ++--
+ net/packet/diag.c         | 7 ++++++-
+ 3 files changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/include/linux/sock_diag.h b/include/linux/sock_diag.h
+index 302ab805b0bb..46cca4c06848 100644
+--- a/include/linux/sock_diag.h
++++ b/include/linux/sock_diag.h
+@@ -23,7 +23,7 @@ int sock_diag_check_cookie(void *sk, __u32 *cookie);
+ void sock_diag_save_cookie(void *sk, __u32 *cookie);
+ 
+ int sock_diag_put_meminfo(struct sock *sk, struct sk_buff *skb, int attr);
+-int sock_diag_put_filterinfo(struct sock *sk,
++int sock_diag_put_filterinfo(bool may_report_filterinfo, struct sock *sk,
+ 			     struct sk_buff *skb, int attrtype);
+ 
+ #endif
+diff --git a/net/core/sock_diag.c b/net/core/sock_diag.c
+index 6a7fae228634..c38e7a2b5a8e 100644
+--- a/net/core/sock_diag.c
++++ b/net/core/sock_diag.c
+@@ -49,7 +49,7 @@ int sock_diag_put_meminfo(struct sock *sk, struct sk_buff *skb, int attrtype)
+ }
+ EXPORT_SYMBOL_GPL(sock_diag_put_meminfo);
+ 
+-int sock_diag_put_filterinfo(struct sock *sk,
++int sock_diag_put_filterinfo(bool may_report_filterinfo, struct sock *sk,
+ 			     struct sk_buff *skb, int attrtype)
+ {
+ 	struct nlattr *attr;
+@@ -57,7 +57,7 @@ int sock_diag_put_filterinfo(struct sock *sk,
+ 	unsigned int len;
+ 	int err = 0;
+ 
+-	if (!ns_capable(sock_net(sk)->user_ns, CAP_NET_ADMIN)) {
++	if (!may_report_filterinfo) {
+ 		nla_reserve(skb, attrtype, 0);
+ 		return 0;
+ 	}
+diff --git a/net/packet/diag.c b/net/packet/diag.c
+index 435ff99ba8c7..b34d0de24091 100644
+--- a/net/packet/diag.c
++++ b/net/packet/diag.c
+@@ -128,6 +128,7 @@ static int pdiag_put_fanout(struct packet_sock *po, struct sk_buff *nlskb)
+ 
+ static int sk_diag_fill(struct sock *sk, struct sk_buff *skb,
+ 			struct packet_diag_req *req,
++			bool may_report_filterinfo,
+ 			struct user_namespace *user_ns,
+ 			u32 portid, u32 seq, u32 flags, int sk_ino)
+ {
+@@ -172,7 +173,8 @@ static int sk_diag_fill(struct sock *sk, struct sk_buff *skb,
+ 		goto out_nlmsg_trim;
+ 
+ 	if ((req->pdiag_show & PACKET_SHOW_FILTER) &&
+-	    sock_diag_put_filterinfo(sk, skb, PACKET_DIAG_FILTER))
++	    sock_diag_put_filterinfo(may_report_filterinfo, sk, skb,
++				     PACKET_DIAG_FILTER))
+ 		goto out_nlmsg_trim;
+ 
+ 	return nlmsg_end(skb, nlh);
+@@ -188,9 +190,11 @@ static int packet_diag_dump(struct sk_buff *skb, struct netlink_callback *cb)
+ 	struct packet_diag_req *req;
+ 	struct net *net;
+ 	struct sock *sk;
++	bool may_report_filterinfo;
+ 
+ 	net = sock_net(skb->sk);
+ 	req = nlmsg_data(cb->nlh);
++	may_report_filterinfo = ns_capable(net->user_ns, CAP_NET_ADMIN);
+ 
+ 	mutex_lock(&net->packet.sklist_lock);
+ 	sk_for_each(sk, &net->packet.sklist) {
+@@ -200,6 +204,7 @@ static int packet_diag_dump(struct sk_buff *skb, struct netlink_callback *cb)
+ 			goto next;
+ 
+ 		if (sk_diag_fill(sk, skb, req,
++				 may_report_filterinfo,
+ 				 sk_user_ns(NETLINK_CB(cb->skb).sk),
+ 				 NETLINK_CB(cb->skb).portid,
+ 				 cb->nlh->nlmsg_seq, NLM_F_MULTI,
+-- 
+1.9.0
+
diff --git a/3-5-net-Add-variants-of-capable-for-use-on-on-sockets.patch b/3-5-net-Add-variants-of-capable-for-use-on-on-sockets.patch
new file mode 100644
index 0000000..34df292
--- /dev/null
+++ b/3-5-net-Add-variants-of-capable-for-use-on-on-sockets.patch
@@ -0,0 +1,97 @@
+Bugzilla: 1094270
+Upstream-status: 3.15 and queued for stable
+
+From ca469eb66a7b3e97a230c750de4d01b1dc53906a Mon Sep 17 00:00:00 2001
+From: "Eric W. Biederman" <ebiederm at xmission.com>
+Date: Wed, 23 Apr 2014 14:26:56 -0700
+Subject: [PATCH 4/6] net: Add variants of capable for use on on sockets
+
+sk_net_capable - The common case, operations that are safe in a network namespace.
+sk_capable - Operations that are not known to be safe in a network namespace
+sk_ns_capable - The general case for special cases.
+
+Signed-off-by: "Eric W. Biederman" <ebiederm at xmission.com>
+---
+ include/net/sock.h |  5 +++++
+ net/core/sock.c    | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 54 insertions(+)
+
+diff --git a/include/net/sock.h b/include/net/sock.h
+index b9586a137cad..57c31dd15e64 100644
+--- a/include/net/sock.h
++++ b/include/net/sock.h
+@@ -2278,6 +2278,11 @@ int sock_get_timestampns(struct sock *, struct timespec __user *);
+ int sock_recv_errqueue(struct sock *sk, struct msghdr *msg, int len, int level,
+ 		       int type);
+ 
++bool sk_ns_capable(const struct sock *sk,
++		   struct user_namespace *user_ns, int cap);
++bool sk_capable(const struct sock *sk, int cap);
++bool sk_net_capable(const struct sock *sk, int cap);
++
+ /*
+  *	Enable debug/info messages
+  */
+diff --git a/net/core/sock.c b/net/core/sock.c
+index c0fc6bdad1e3..c8069561bdb7 100644
+--- a/net/core/sock.c
++++ b/net/core/sock.c
+@@ -145,6 +145,55 @@
+ static DEFINE_MUTEX(proto_list_mutex);
+ static LIST_HEAD(proto_list);
+ 
++/**
++ * sk_ns_capable - General socket capability test
++ * @sk: Socket to use a capability on or through
++ * @user_ns: The user namespace of the capability to use
++ * @cap: The capability to use
++ *
++ * Test to see if the opener of the socket had when the socket was
++ * created and the current process has the capability @cap in the user
++ * namespace @user_ns.
++ */
++bool sk_ns_capable(const struct sock *sk,
++		   struct user_namespace *user_ns, int cap)
++{
++	return file_ns_capable(sk->sk_socket->file, user_ns, cap) &&
++		ns_capable(user_ns, cap);
++}
++EXPORT_SYMBOL(sk_ns_capable);
++
++/**
++ * sk_capable - Socket global capability test
++ * @sk: Socket to use a capability on or through
++ * @cap: The global capbility to use
++ *
++ * Test to see if the opener of the socket had when the socket was
++ * created and the current process has the capability @cap in all user
++ * namespaces.
++ */
++bool sk_capable(const struct sock *sk, int cap)
++{
++	return sk_ns_capable(sk, &init_user_ns, cap);
++}
++EXPORT_SYMBOL(sk_capable);
++
++/**
++ * sk_net_capable - Network namespace socket capability test
++ * @sk: Socket to use a capability on or through
++ * @cap: The capability to use
++ *
++ * Test to see if the opener of the socket had when the socke was created
++ * and the current process has the capability @cap over the network namespace
++ * the socket is a member of.
++ */
++bool sk_net_capable(const struct sock *sk, int cap)
++{
++	return sk_ns_capable(sk, sock_net(sk)->user_ns, cap);
++}
++EXPORT_SYMBOL(sk_net_capable);
++
++
+ #ifdef CONFIG_MEMCG_KMEM
+ int mem_cgroup_sockets_init(struct mem_cgroup *memcg, struct cgroup_subsys *ss)
+ {
+-- 
+1.9.0
+
diff --git a/4-5-net-Add-variants-of-capable-for-use-on-netlink-messages.patch b/4-5-net-Add-variants-of-capable-for-use-on-netlink-messages.patch
new file mode 100644
index 0000000..dfae87a
--- /dev/null
+++ b/4-5-net-Add-variants-of-capable-for-use-on-netlink-messages.patch
@@ -0,0 +1,116 @@
+Bugzilla: 1094270
+Upstream-status: 3.15 and queued for stable
+
+From 71f40189cc9a0a28296d201652a5766d7c8aa66f Mon Sep 17 00:00:00 2001
+From: "Eric W. Biederman" <ebiederm at xmission.com>
+Date: Wed, 23 Apr 2014 14:28:03 -0700
+Subject: [PATCH 5/6] net: Add variants of capable for use on netlink messages
+
+netlink_net_capable - The common case use, for operations that are safe on a network namespace
+netlink_capable - For operations that are only known to be safe for the global root
+netlink_ns_capable - The general case of capable used to handle special cases
+
+__netlink_ns_capable - Same as netlink_ns_capable except taking a netlink_skb_parms instead of
+		       the skbuff of a netlink message.
+
+Signed-off-by: "Eric W. Biederman" <ebiederm at xmission.com>
+---
+ include/linux/netlink.h  |  7 ++++++
+ net/netlink/af_netlink.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 72 insertions(+)
+
+diff --git a/include/linux/netlink.h b/include/linux/netlink.h
+index aad8eeaf416d..f64b01787ddc 100644
+--- a/include/linux/netlink.h
++++ b/include/linux/netlink.h
+@@ -169,4 +169,11 @@ struct netlink_tap {
+ extern int netlink_add_tap(struct netlink_tap *nt);
+ extern int netlink_remove_tap(struct netlink_tap *nt);
+ 
++bool __netlink_ns_capable(const struct netlink_skb_parms *nsp,
++			  struct user_namespace *ns, int cap);
++bool netlink_ns_capable(const struct sk_buff *skb,
++			struct user_namespace *ns, int cap);
++bool netlink_capable(const struct sk_buff *skb, int cap);
++bool netlink_net_capable(const struct sk_buff *skb, int cap);
++
+ #endif	/* __LINUX_NETLINK_H */
+diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
+index 28d66fbc7cef..6d69c27897f3 100644
+--- a/net/netlink/af_netlink.c
++++ b/net/netlink/af_netlink.c
+@@ -1360,6 +1360,71 @@ retry:
+ 	return err;
+ }
+ 
++/**
++ * __netlink_ns_capable - General netlink message capability test
++ * @nsp: NETLINK_CB of the socket buffer holding a netlink command from userspace.
++ * @user_ns: The user namespace of the capability to use
++ * @cap: The capability to use
++ *
++ * Test to see if the opener of the socket we received the message
++ * from had when the netlink socket was created and the sender of the
++ * message has has the capability @cap in the user namespace @user_ns.
++ */
++bool __netlink_ns_capable(const struct netlink_skb_parms *nsp,
++			struct user_namespace *user_ns, int cap)
++{
++	return sk_ns_capable(nsp->sk, user_ns, cap);
++}
++EXPORT_SYMBOL(__netlink_ns_capable);
++
++/**
++ * netlink_ns_capable - General netlink message capability test
++ * @skb: socket buffer holding a netlink command from userspace
++ * @user_ns: The user namespace of the capability to use
++ * @cap: The capability to use
++ *
++ * Test to see if the opener of the socket we received the message
++ * from had when the netlink socket was created and the sender of the
++ * message has has the capability @cap in the user namespace @user_ns.
++ */
++bool netlink_ns_capable(const struct sk_buff *skb,
++			struct user_namespace *user_ns, int cap)
++{
++	return __netlink_ns_capable(&NETLINK_CB(skb), user_ns, cap);
++}
++EXPORT_SYMBOL(netlink_ns_capable);
++
++/**
++ * netlink_capable - Netlink global message capability test
++ * @skb: socket buffer holding a netlink command from userspace
++ * @cap: The capability to use
++ *
++ * Test to see if the opener of the socket we received the message
++ * from had when the netlink socket was created and the sender of the
++ * message has has the capability @cap in all user namespaces.
++ */
++bool netlink_capable(const struct sk_buff *skb, int cap)
++{
++	return netlink_ns_capable(skb, &init_user_ns, cap);
++}
++EXPORT_SYMBOL(netlink_capable);
++
++/**
++ * netlink_net_capable - Netlink network namespace message capability test
++ * @skb: socket buffer holding a netlink command from userspace
++ * @cap: The capability to use
++ *
++ * Test to see if the opener of the socket we received the message
++ * from had when the netlink socket was created and the sender of the
++ * message has has the capability @cap over the network namespace of
++ * the socket we received the message from.
++ */
++bool netlink_net_capable(const struct sk_buff *skb, int cap)
++{
++	return netlink_ns_capable(skb, sock_net(skb->sk)->user_ns, cap);
++}
++EXPORT_SYMBOL(netlink_net_capable);
++
+ static inline int netlink_allowed(const struct socket *sock, unsigned int flag)
+ {
+ 	return (nl_table[sock->sk->sk_protocol].flags & flag) ||
+-- 
+1.9.0
+
diff --git a/5-5-net-Use-netlink_ns_capable-to-verify-the-permisions-of-netlink-messages.patch b/5-5-net-Use-netlink_ns_capable-to-verify-the-permisions-of-netlink-messages.patch
new file mode 100644
index 0000000..b92c5da
--- /dev/null
+++ b/5-5-net-Use-netlink_ns_capable-to-verify-the-permisions-of-netlink-messages.patch
@@ -0,0 +1,433 @@
+Bugzilla: 1094270
+Upstream-status: 3.15 and queued for stable
+
+From 386e6689d3a9234ab00a80ab51906adedfa7fea7 Mon Sep 17 00:00:00 2001
+From: "Eric W. Biederman" <ebiederm at xmission.com>
+Date: Wed, 23 Apr 2014 14:29:27 -0700
+Subject: [PATCH 6/6] net: Use netlink_ns_capable to verify the permisions of
+ netlink messages
+
+It is possible by passing a netlink socket to a more privileged
+executable and then to fool that executable into writing to the socket
+data that happens to be valid netlink message to do something that
+privileged executable did not intend to do.
+
+To keep this from happening replace bare capable and ns_capable calls
+with netlink_capable, netlink_net_calls and netlink_ns_capable calls.
+Which act the same as the previous calls except they verify that the
+opener of the socket had the desired permissions as well.
+
+Reported-by: Andy Lutomirski <luto at amacapital.net>
+Signed-off-by: "Eric W. Biederman" <ebiederm at xmission.com>
+---
+ crypto/crypto_user.c            |  2 +-
+ drivers/connector/cn_proc.c     |  2 +-
+ drivers/scsi/scsi_netlink.c     |  2 +-
+ kernel/audit.c                  |  4 ++--
+ net/can/gw.c                    |  4 ++--
+ net/core/rtnetlink.c            | 20 +++++++++++---------
+ net/dcb/dcbnl.c                 |  2 +-
+ net/decnet/dn_dev.c             |  4 ++--
+ net/decnet/dn_fib.c             |  4 ++--
+ net/decnet/netfilter/dn_rtmsg.c |  2 +-
+ net/netfilter/nfnetlink.c       |  2 +-
+ net/netlink/genetlink.c         |  2 +-
+ net/packet/diag.c               |  2 +-
+ net/phonet/pn_netlink.c         |  8 ++++----
+ net/sched/act_api.c             |  2 +-
+ net/sched/cls_api.c             |  2 +-
+ net/sched/sch_api.c             |  6 +++---
+ net/tipc/netlink.c              |  2 +-
+ net/xfrm/xfrm_user.c            |  2 +-
+ 19 files changed, 38 insertions(+), 36 deletions(-)
+
+diff --git a/crypto/crypto_user.c b/crypto/crypto_user.c
+index 1512e41cd93d..43665d0d0905 100644
+--- a/crypto/crypto_user.c
++++ b/crypto/crypto_user.c
+@@ -466,7 +466,7 @@ static int crypto_user_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
+ 	type -= CRYPTO_MSG_BASE;
+ 	link = &crypto_dispatch[type];
+ 
+-	if (!capable(CAP_NET_ADMIN))
++	if (!netlink_capable(skb, CAP_NET_ADMIN))
+ 		return -EPERM;
+ 
+ 	if ((type == (CRYPTO_MSG_GETALG - CRYPTO_MSG_BASE) &&
+diff --git a/drivers/connector/cn_proc.c b/drivers/connector/cn_proc.c
+index 18c5b9b16645..3165811e2407 100644
+--- a/drivers/connector/cn_proc.c
++++ b/drivers/connector/cn_proc.c
+@@ -369,7 +369,7 @@ static void cn_proc_mcast_ctl(struct cn_msg *msg,
+ 		return;
+ 
+ 	/* Can only change if privileged. */
+-	if (!capable(CAP_NET_ADMIN)) {
++	if (!__netlink_ns_capable(nsp, &init_user_ns, CAP_NET_ADMIN)) {
+ 		err = EPERM;
+ 		goto out;
+ 	}
+diff --git a/drivers/scsi/scsi_netlink.c b/drivers/scsi/scsi_netlink.c
+index fe30ea94ffe6..109802f776ed 100644
+--- a/drivers/scsi/scsi_netlink.c
++++ b/drivers/scsi/scsi_netlink.c
+@@ -77,7 +77,7 @@ scsi_nl_rcv_msg(struct sk_buff *skb)
+ 			goto next_msg;
+ 		}
+ 
+-		if (!capable(CAP_SYS_ADMIN)) {
++		if (!netlink_capable(skb, CAP_SYS_ADMIN)) {
+ 			err = -EPERM;
+ 			goto next_msg;
+ 		}
+diff --git a/kernel/audit.c b/kernel/audit.c
+index 95a20f3f52f1..f7e680d896ec 100644
+--- a/kernel/audit.c
++++ b/kernel/audit.c
+@@ -639,13 +639,13 @@ static int audit_netlink_ok(struct sk_buff *skb, u16 msg_type)
+ 	case AUDIT_TTY_SET:
+ 	case AUDIT_TRIM:
+ 	case AUDIT_MAKE_EQUIV:
+-		if (!capable(CAP_AUDIT_CONTROL))
++		if (!netlink_capable(skb, CAP_AUDIT_CONTROL))
+ 			err = -EPERM;
+ 		break;
+ 	case AUDIT_USER:
+ 	case AUDIT_FIRST_USER_MSG ... AUDIT_LAST_USER_MSG:
+ 	case AUDIT_FIRST_USER_MSG2 ... AUDIT_LAST_USER_MSG2:
+-		if (!capable(CAP_AUDIT_WRITE))
++		if (!netlink_capable(skb, CAP_AUDIT_WRITE))
+ 			err = -EPERM;
+ 		break;
+ 	default:  /* bad msg */
+diff --git a/net/can/gw.c b/net/can/gw.c
+index ac31891967da..050a2110d43f 100644
+--- a/net/can/gw.c
++++ b/net/can/gw.c
+@@ -804,7 +804,7 @@ static int cgw_create_job(struct sk_buff *skb,  struct nlmsghdr *nlh)
+ 	u8 limhops = 0;
+ 	int err = 0;
+ 
+-	if (!capable(CAP_NET_ADMIN))
++	if (!netlink_capable(skb, CAP_NET_ADMIN))
+ 		return -EPERM;
+ 
+ 	if (nlmsg_len(nlh) < sizeof(*r))
+@@ -893,7 +893,7 @@ static int cgw_remove_job(struct sk_buff *skb, struct nlmsghdr *nlh)
+ 	u8 limhops = 0;
+ 	int err = 0;
+ 
+-	if (!capable(CAP_NET_ADMIN))
++	if (!netlink_capable(skb, CAP_NET_ADMIN))
+ 		return -EPERM;
+ 
+ 	if (nlmsg_len(nlh) < sizeof(*r))
+diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
+index 120eecc0f5a4..463dfe6496b4 100644
+--- a/net/core/rtnetlink.c
++++ b/net/core/rtnetlink.c
+@@ -1386,7 +1386,8 @@ static int do_set_master(struct net_device *dev, int ifindex)
+ 	return 0;
+ }
+ 
+-static int do_setlink(struct net_device *dev, struct ifinfomsg *ifm,
++static int do_setlink(const struct sk_buff *skb,
++		      struct net_device *dev, struct ifinfomsg *ifm,
+ 		      struct nlattr **tb, char *ifname, int modified)
+ {
+ 	const struct net_device_ops *ops = dev->netdev_ops;
+@@ -1398,7 +1399,7 @@ static int do_setlink(struct net_device *dev, struct ifinfomsg *ifm,
+ 			err = PTR_ERR(net);
+ 			goto errout;
+ 		}
+-		if (!ns_capable(net->user_ns, CAP_NET_ADMIN)) {
++		if (!netlink_ns_capable(skb, net->user_ns, CAP_NET_ADMIN)) {
+ 			err = -EPERM;
+ 			goto errout;
+ 		}
+@@ -1652,7 +1653,7 @@ static int rtnl_setlink(struct sk_buff *skb, struct nlmsghdr *nlh)
+ 	if (err < 0)
+ 		goto errout;
+ 
+-	err = do_setlink(dev, ifm, tb, ifname, 0);
++	err = do_setlink(skb, dev, ifm, tb, ifname, 0);
+ errout:
+ 	return err;
+ }
+@@ -1769,7 +1770,8 @@ err:
+ }
+ EXPORT_SYMBOL(rtnl_create_link);
+ 
+-static int rtnl_group_changelink(struct net *net, int group,
++static int rtnl_group_changelink(const struct sk_buff *skb,
++		struct net *net, int group,
+ 		struct ifinfomsg *ifm,
+ 		struct nlattr **tb)
+ {
+@@ -1778,7 +1780,7 @@ static int rtnl_group_changelink(struct net *net, int group,
+ 
+ 	for_each_netdev(net, dev) {
+ 		if (dev->group == group) {
+-			err = do_setlink(dev, ifm, tb, NULL, 0);
++			err = do_setlink(skb, dev, ifm, tb, NULL, 0);
+ 			if (err < 0)
+ 				return err;
+ 		}
+@@ -1920,12 +1922,12 @@ replay:
+ 				modified = 1;
+ 			}
+ 
+-			return do_setlink(dev, ifm, tb, ifname, modified);
++			return do_setlink(skb, dev, ifm, tb, ifname, modified);
+ 		}
+ 
+ 		if (!(nlh->nlmsg_flags & NLM_F_CREATE)) {
+ 			if (ifm->ifi_index == 0 && tb[IFLA_GROUP])
+-				return rtnl_group_changelink(net,
++				return rtnl_group_changelink(skb, net,
+ 						nla_get_u32(tb[IFLA_GROUP]),
+ 						ifm, tb);
+ 			return -ENODEV;
+@@ -2312,7 +2314,7 @@ static int rtnl_fdb_del(struct sk_buff *skb, struct nlmsghdr *nlh)
+ 	int err = -EINVAL;
+ 	__u8 *addr;
+ 
+-	if (!capable(CAP_NET_ADMIN))
++	if (!netlink_capable(skb, CAP_NET_ADMIN))
+ 		return -EPERM;
+ 
+ 	err = nlmsg_parse(nlh, sizeof(*ndm), tb, NDA_MAX, NULL);
+@@ -2764,7 +2766,7 @@ static int rtnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
+ 	sz_idx = type>>2;
+ 	kind = type&3;
+ 
+-	if (kind != 2 && !ns_capable(net->user_ns, CAP_NET_ADMIN))
++	if (kind != 2 && !netlink_net_capable(skb, CAP_NET_ADMIN))
+ 		return -EPERM;
+ 
+ 	if (kind == 2 && nlh->nlmsg_flags&NLM_F_DUMP) {
+diff --git a/net/dcb/dcbnl.c b/net/dcb/dcbnl.c
+index 553644402670..f8b98d89c285 100644
+--- a/net/dcb/dcbnl.c
++++ b/net/dcb/dcbnl.c
+@@ -1669,7 +1669,7 @@ static int dcb_doit(struct sk_buff *skb, struct nlmsghdr *nlh)
+ 	struct nlmsghdr *reply_nlh = NULL;
+ 	const struct reply_func *fn;
+ 
+-	if ((nlh->nlmsg_type == RTM_SETDCB) && !capable(CAP_NET_ADMIN))
++	if ((nlh->nlmsg_type == RTM_SETDCB) && !netlink_capable(skb, CAP_NET_ADMIN))
+ 		return -EPERM;
+ 
+ 	ret = nlmsg_parse(nlh, sizeof(*dcb), tb, DCB_ATTR_MAX,
+diff --git a/net/decnet/dn_dev.c b/net/decnet/dn_dev.c
+index a603823a3e27..3b726f31c64c 100644
+--- a/net/decnet/dn_dev.c
++++ b/net/decnet/dn_dev.c
+@@ -574,7 +574,7 @@ static int dn_nl_deladdr(struct sk_buff *skb, struct nlmsghdr *nlh)
+ 	struct dn_ifaddr __rcu **ifap;
+ 	int err = -EINVAL;
+ 
+-	if (!capable(CAP_NET_ADMIN))
++	if (!netlink_capable(skb, CAP_NET_ADMIN))
+ 		return -EPERM;
+ 
+ 	if (!net_eq(net, &init_net))
+@@ -618,7 +618,7 @@ static int dn_nl_newaddr(struct sk_buff *skb, struct nlmsghdr *nlh)
+ 	struct dn_ifaddr *ifa;
+ 	int err;
+ 
+-	if (!capable(CAP_NET_ADMIN))
++	if (!netlink_capable(skb, CAP_NET_ADMIN))
+ 		return -EPERM;
+ 
+ 	if (!net_eq(net, &init_net))
+diff --git a/net/decnet/dn_fib.c b/net/decnet/dn_fib.c
+index 57dc159245ec..d332aefb0846 100644
+--- a/net/decnet/dn_fib.c
++++ b/net/decnet/dn_fib.c
+@@ -505,7 +505,7 @@ static int dn_fib_rtm_delroute(struct sk_buff *skb, struct nlmsghdr *nlh)
+ 	struct nlattr *attrs[RTA_MAX+1];
+ 	int err;
+ 
+-	if (!capable(CAP_NET_ADMIN))
++	if (!netlink_capable(skb, CAP_NET_ADMIN))
+ 		return -EPERM;
+ 
+ 	if (!net_eq(net, &init_net))
+@@ -530,7 +530,7 @@ static int dn_fib_rtm_newroute(struct sk_buff *skb, struct nlmsghdr *nlh)
+ 	struct nlattr *attrs[RTA_MAX+1];
+ 	int err;
+ 
+-	if (!capable(CAP_NET_ADMIN))
++	if (!netlink_capable(skb, CAP_NET_ADMIN))
+ 		return -EPERM;
+ 
+ 	if (!net_eq(net, &init_net))
+diff --git a/net/decnet/netfilter/dn_rtmsg.c b/net/decnet/netfilter/dn_rtmsg.c
+index e83015cecfa7..e4d9560a910b 100644
+--- a/net/decnet/netfilter/dn_rtmsg.c
++++ b/net/decnet/netfilter/dn_rtmsg.c
+@@ -107,7 +107,7 @@ static inline void dnrmg_receive_user_skb(struct sk_buff *skb)
+ 	if (nlh->nlmsg_len < sizeof(*nlh) || skb->len < nlh->nlmsg_len)
+ 		return;
+ 
+-	if (!capable(CAP_NET_ADMIN))
++	if (!netlink_capable(skb, CAP_NET_ADMIN))
+ 		RCV_SKB_FAIL(-EPERM);
+ 
+ 	/* Eventually we might send routing messages too */
+diff --git a/net/netfilter/nfnetlink.c b/net/netfilter/nfnetlink.c
+index 046aa13b4fea..c6881781d70a 100644
+--- a/net/netfilter/nfnetlink.c
++++ b/net/netfilter/nfnetlink.c
+@@ -367,7 +367,7 @@ static void nfnetlink_rcv(struct sk_buff *skb)
+ 	    skb->len < nlh->nlmsg_len)
+ 		return;
+ 
+-	if (!ns_capable(net->user_ns, CAP_NET_ADMIN)) {
++	if (!netlink_net_capable(skb, CAP_NET_ADMIN)) {
+ 		netlink_ack(skb, nlh, -EPERM);
+ 		return;
+ 	}
+diff --git a/net/netlink/genetlink.c b/net/netlink/genetlink.c
+index b1dcdb932a86..a3ba3ca0ff92 100644
+--- a/net/netlink/genetlink.c
++++ b/net/netlink/genetlink.c
+@@ -561,7 +561,7 @@ static int genl_family_rcv_msg(struct genl_family *family,
+ 		return -EOPNOTSUPP;
+ 
+ 	if ((ops->flags & GENL_ADMIN_PERM) &&
+-	    !capable(CAP_NET_ADMIN))
++	    !netlink_capable(skb, CAP_NET_ADMIN))
+ 		return -EPERM;
+ 
+ 	if ((nlh->nlmsg_flags & NLM_F_DUMP) == NLM_F_DUMP) {
+diff --git a/net/packet/diag.c b/net/packet/diag.c
+index b34d0de24091..92f2c7107eec 100644
+--- a/net/packet/diag.c
++++ b/net/packet/diag.c
+@@ -194,7 +194,7 @@ static int packet_diag_dump(struct sk_buff *skb, struct netlink_callback *cb)
+ 
+ 	net = sock_net(skb->sk);
+ 	req = nlmsg_data(cb->nlh);
+-	may_report_filterinfo = ns_capable(net->user_ns, CAP_NET_ADMIN);
++	may_report_filterinfo = netlink_net_capable(cb->skb, CAP_NET_ADMIN);
+ 
+ 	mutex_lock(&net->packet.sklist_lock);
+ 	sk_for_each(sk, &net->packet.sklist) {
+diff --git a/net/phonet/pn_netlink.c b/net/phonet/pn_netlink.c
+index dc15f4300808..b64151ade6b3 100644
+--- a/net/phonet/pn_netlink.c
++++ b/net/phonet/pn_netlink.c
+@@ -70,10 +70,10 @@ static int addr_doit(struct sk_buff *skb, struct nlmsghdr *nlh)
+ 	int err;
+ 	u8 pnaddr;
+ 
+-	if (!capable(CAP_NET_ADMIN))
++	if (!netlink_capable(skb, CAP_NET_ADMIN))
+ 		return -EPERM;
+ 
+-	if (!capable(CAP_SYS_ADMIN))
++	if (!netlink_capable(skb, CAP_SYS_ADMIN))
+ 		return -EPERM;
+ 
+ 	ASSERT_RTNL();
+@@ -233,10 +233,10 @@ static int route_doit(struct sk_buff *skb, struct nlmsghdr *nlh)
+ 	int err;
+ 	u8 dst;
+ 
+-	if (!capable(CAP_NET_ADMIN))
++	if (!netlink_capable(skb, CAP_NET_ADMIN))
+ 		return -EPERM;
+ 
+-	if (!capable(CAP_SYS_ADMIN))
++	if (!netlink_capable(skb, CAP_SYS_ADMIN))
+ 		return -EPERM;
+ 
+ 	ASSERT_RTNL();
+diff --git a/net/sched/act_api.c b/net/sched/act_api.c
+index 72bdc7166345..3b2265523552 100644
+--- a/net/sched/act_api.c
++++ b/net/sched/act_api.c
+@@ -908,7 +908,7 @@ static int tc_ctl_action(struct sk_buff *skb, struct nlmsghdr *n)
+ 	u32 portid = skb ? NETLINK_CB(skb).portid : 0;
+ 	int ret = 0, ovr = 0;
+ 
+-	if ((n->nlmsg_type != RTM_GETACTION) && !capable(CAP_NET_ADMIN))
++	if ((n->nlmsg_type != RTM_GETACTION) && !netlink_capable(skb, CAP_NET_ADMIN))
+ 		return -EPERM;
+ 
+ 	ret = nlmsg_parse(n, sizeof(struct tcamsg), tca, TCA_ACT_MAX, NULL);
+diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
+index 29a30a14c315..bdbdb1a7920a 100644
+--- a/net/sched/cls_api.c
++++ b/net/sched/cls_api.c
+@@ -134,7 +134,7 @@ static int tc_ctl_tfilter(struct sk_buff *skb, struct nlmsghdr *n)
+ 	int err;
+ 	int tp_created = 0;
+ 
+-	if ((n->nlmsg_type != RTM_GETTFILTER) && !capable(CAP_NET_ADMIN))
++	if ((n->nlmsg_type != RTM_GETTFILTER) && !netlink_capable(skb, CAP_NET_ADMIN))
+ 		return -EPERM;
+ 
+ replay:
+diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
+index a07d55e75698..98532cfa7823 100644
+--- a/net/sched/sch_api.c
++++ b/net/sched/sch_api.c
+@@ -1084,7 +1084,7 @@ static int tc_get_qdisc(struct sk_buff *skb, struct nlmsghdr *n)
+ 	struct Qdisc *p = NULL;
+ 	int err;
+ 
+-	if ((n->nlmsg_type != RTM_GETQDISC) && !capable(CAP_NET_ADMIN))
++	if ((n->nlmsg_type != RTM_GETQDISC) && !netlink_capable(skb, CAP_NET_ADMIN))
+ 		return -EPERM;
+ 
+ 	err = nlmsg_parse(n, sizeof(*tcm), tca, TCA_MAX, NULL);
+@@ -1151,7 +1151,7 @@ static int tc_modify_qdisc(struct sk_buff *skb, struct nlmsghdr *n)
+ 	struct Qdisc *q, *p;
+ 	int err;
+ 
+-	if (!capable(CAP_NET_ADMIN))
++	if (!netlink_capable(skb, CAP_NET_ADMIN))
+ 		return -EPERM;
+ 
+ replay:
+@@ -1491,7 +1491,7 @@ static int tc_ctl_tclass(struct sk_buff *skb, struct nlmsghdr *n)
+ 	u32 qid;
+ 	int err;
+ 
+-	if ((n->nlmsg_type != RTM_GETTCLASS) && !capable(CAP_NET_ADMIN))
++	if ((n->nlmsg_type != RTM_GETTCLASS) && !netlink_capable(skb, CAP_NET_ADMIN))
+ 		return -EPERM;
+ 
+ 	err = nlmsg_parse(n, sizeof(*tcm), tca, TCA_MAX, NULL);
+diff --git a/net/tipc/netlink.c b/net/tipc/netlink.c
+index 3aaf73de9e2d..ad844d365340 100644
+--- a/net/tipc/netlink.c
++++ b/net/tipc/netlink.c
+@@ -47,7 +47,7 @@ static int handle_cmd(struct sk_buff *skb, struct genl_info *info)
+ 	int hdr_space = nlmsg_total_size(GENL_HDRLEN + TIPC_GENL_HDRLEN);
+ 	u16 cmd;
+ 
+-	if ((req_userhdr->cmd & 0xC000) && (!capable(CAP_NET_ADMIN)))
++	if ((req_userhdr->cmd & 0xC000) && (!netlink_capable(skb, CAP_NET_ADMIN)))
+ 		cmd = TIPC_CMD_NOT_NET_ADMIN;
+ 	else
+ 		cmd = req_userhdr->cmd;
+diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c
+index 2f7ddc3a59b4..b10d04fa3933 100644
+--- a/net/xfrm/xfrm_user.c
++++ b/net/xfrm/xfrm_user.c
+@@ -2350,7 +2350,7 @@ static int xfrm_user_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
+ 	link = &xfrm_dispatch[type];
+ 
+ 	/* All operations require privileges, even GET */
+-	if (!ns_capable(net->user_ns, CAP_NET_ADMIN))
++	if (!netlink_net_capable(skb, CAP_NET_ADMIN))
+ 		return -EPERM;
+ 
+ 	if ((type == (XFRM_MSG_GETSA - XFRM_MSG_BASE) ||
+-- 
+1.9.0
+
diff --git a/ACPICA-Tables-Fix-bad-pointer-issue-in-acpi_tb_parse_root_table.patch b/ACPICA-Tables-Fix-bad-pointer-issue-in-acpi_tb_parse_root_table.patch
new file mode 100644
index 0000000..73dfc5a
--- /dev/null
+++ b/ACPICA-Tables-Fix-bad-pointer-issue-in-acpi_tb_parse_root_table.patch
@@ -0,0 +1,67 @@
+Bugzilla: 1090746
+Upstream-status: Queued for 3.15 and CC'd to stable
+
+From 2bb09843fc720389082ce7834b2716254bdf6c2d Mon Sep 17 00:00:00 2001
+Message-Id: <2bb09843fc720389082ce7834b2716254bdf6c2d.1397794898.git.lv.zheng at intel.com>
+From: Lv Zheng <lv.zheng at intel.com>
+Date: Fri, 18 Apr 2014 12:21:34 +0800
+Subject: [PATCH] ACPICA: Tables: Fix a bad pointer issue in
+ acpi_tb_parse_root_table().
+
+The following is a linuxizing generation of the ACPICA commit to back ports
+Linux XSDT validation mechanism to ACPICA:
+  Commit: 671cc68dc61f029d44b43a681356078e02d8dab8
+  Subject: ACPICA: Back port and refine validation of the XSDT root table.
+It triggers a regression that a pointer is still used after unmapping.
+
+This patch fixes this issue. Lv Zheng.
+
+Buglink: https://bugzilla.kernel.org/show_bug.cgi?id=73911
+Buglink: https://bugs.archlinux.org/task/39811
+Signed-off-by: Lv Zheng <lv.zheng at intel.com>
+Reported-and-tested-by: Bruce Chiarelli <mano155 at gmail.com>
+Reported-and-tested-by: Spyros Stathopoulos <spystath at gmail.com>
+Cc: <stable at vger.kernel.org> # 3.14.x: 671cc68: ACPICA: Back port and refine validation of the XSDT root table.
+---
+ drivers/acpi/acpica/tbutils.c |    6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/acpi/acpica/tbutils.c b/drivers/acpi/acpica/tbutils.c
+index 6412d3c..7285871 100644
+--- a/drivers/acpi/acpica/tbutils.c
++++ b/drivers/acpi/acpica/tbutils.c
+@@ -461,6 +461,7 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address)
+ 	u32 table_count;
+ 	struct acpi_table_header *table;
+ 	acpi_physical_address address;
++	acpi_physical_address rsdt_address;
+ 	u32 length;
+ 	u8 *table_entry;
+ 	acpi_status status;
+@@ -488,11 +489,13 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address)
+ 		 * as per the ACPI specification.
+ 		 */
+ 		address = (acpi_physical_address) rsdp->xsdt_physical_address;
++		rsdt_address = (acpi_physical_address) rsdp->rsdt_physical_address;
+ 		table_entry_size = ACPI_XSDT_ENTRY_SIZE;
+ 	} else {
+ 		/* Root table is an RSDT (32-bit physical addresses) */
+ 
+ 		address = (acpi_physical_address) rsdp->rsdt_physical_address;
++		rsdt_address = address;
+ 		table_entry_size = ACPI_RSDT_ENTRY_SIZE;
+ 	}
+ 
+@@ -515,8 +518,7 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address)
+ 
+ 			/* Fall back to the RSDT */
+ 
+-			address =
+-			    (acpi_physical_address) rsdp->rsdt_physical_address;
++			address = rsdt_address;
+ 			table_entry_size = ACPI_RSDT_ENTRY_SIZE;
+ 		}
+ 	}
+-- 
+1.7.10
+
diff --git a/arm-imx6-utilite.patch b/arm-imx6-utilite.patch
index 58a839a..35f34c1 100644
--- a/arm-imx6-utilite.patch
+++ b/arm-imx6-utilite.patch
@@ -1,36 +1,55 @@
-Add initial support for cm-fx6 module.
+commit 682d055e6ac5c3855f51649de6d68e9bb29c26a6
+Author: Valentin Raevsky <valentin at compulab.co.il>
+Date:   Tue Oct 29 14:11:43 2013 +0200
 
-cm-fx6 is a module based on mx6q SoC with the following features:
-- Up to 4GB of DDR3
-- 1 LCD/DVI output port
-- 1 HDMI output port
-- 2 LVDS LCD ports
-- Gigabit Ethernet
-- Analog Audio
-- CAN
-- SATA
-- NAND
-- PCIE
-
-This patch allows to boot up the module, configures the serial console,
-the Ethernet adapter and the hearbeat led.
-
-Signed-off-by: Valentin Raevsky <valentin at xxxxxxxxxxxxxx>
-Acked-by: Igor Grinberg <grinberg at xxxxxxxxxxxxxx>
----
- arch/arm/boot/dts/imx6q-cm-fx6.dts |   51 ++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 51 insertions(+)
- create mode 100644 arch/arm/boot/dts/imx6q-cm-fx6.dts
+    ARM: dts: Add initial support for cm-fx6.
+    
+    Add initial support for cm-fx6 module.
+    
+    cm-fx6 is a module based on mx6q SoC with the following features:
+    - Up to 4GB of DDR3
+    - 1 LCD/DVI output port
+    - 1 HDMI output port
+    - 2 LVDS LCD ports
+    - Gigabit Ethernet
+    - Analog Audio
+    - CAN
+    - SATA
+    - NAND
+    - PCIE
+    
+    This patch allows to boot up the module, configures the serial console,
+    the Ethernet adapter and the heartbeat led.
+    
+    cm-fx6 is embedded inside the Utilite computer.
+    
+    Signed-off-by: Valentin Raevsky <valentin at compulab.co.il>
+    Signed-off-by: Igor Grinberg <grinberg at compulab.co.il>
+    Signed-off-by: Shawn Guo <shawn.guo at linaro.org>
 
+diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
+index 8081479..5672e91 100644
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -162,6 +162,7 @@ dtb-$(CONFIG_ARCH_MXC) += \
+ 	imx6dl-sabresd.dtb \
+ 	imx6dl-wandboard.dtb \
+ 	imx6q-arm2.dtb \
++	imx6q-cm-fx6.dtb \
+ 	imx6q-cubox-i.dtb \
+ 	imx6q-phytec-pbab01.dtb \
+ 	imx6q-sabreauto.dtb \
 diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dts b/arch/arm/boot/dts/imx6q-cm-fx6.dts
 new file mode 100644
-index 0000000..1080215
+index 0000000..99b46f8
 --- /dev/null
 +++ b/arch/arm/boot/dts/imx6q-cm-fx6.dts
-@@ -0,0 +1,51 @@
+@@ -0,0 +1,107 @@
 +/*
 + * Copyright 2013 CompuLab Ltd.
 + *
++ * Author: Valentin Raevsky <valentin at compulab.co.il>
++ *
 + * The code contained herein is licensed under the GNU General Public
 + * License. You may obtain a copy of the GNU General Public License
 + * Version 2 or later at the following locations:
@@ -53,7 +72,7 @@ index 0000000..1080215
 +	leds {
 +		compatible = "gpio-leds";
 +
-+		debug-led {
++		heartbeat-led {
 +			label = "Heartbeat";
 +			gpios = <&gpio2 31 0>;
 +			linux,default-trigger = "heartbeat";
@@ -61,35 +80,79 @@ index 0000000..1080215
 +	};
 +};
 +
-+&gpmi {
++&fec {
 +	pinctrl-names = "default";
-+	pinctrl-0 = <&pinctrl_gpmi_nand_1>;
++	pinctrl-0 = <&pinctrl_enet>;
++	phy-mode = "rgmii";
 +	status = "okay";
 +};
 +
-+&fec {
++&gpmi {
 +	pinctrl-names = "default";
-+	pinctrl-0 = <&pinctrl_enet_1>;
-+	phy-mode = "rgmii";
++	pinctrl-0 = <&pinctrl_gpmi_nand>;
 +	status = "okay";
 +};
 +
++&iomuxc {
++	imx6q-cm-fx6 {
++		pinctrl_enet: enetgrp {
++			fsl,pins = <
++				MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b0b0
++				MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b0b0
++				MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b0b0
++				MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b0b0
++				MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b0b0
++				MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b0b0
++				MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b0b0
++				MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b0b0
++				MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b0b0
++				MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b0b0
++				MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b0b0
++				MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b0b0
++				MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b0b0
++				MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
++				MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
++				MX6QDL_PAD_GPIO_16__ENET_REF_CLK	0x4001b0a8
++			>;
++		};
++
++		pinctrl_gpmi_nand: gpminandgrp {
++			fsl,pins = <
++				MX6QDL_PAD_NANDF_CLE__NAND_CLE		0xb0b1
++				MX6QDL_PAD_NANDF_ALE__NAND_ALE		0xb0b1
++				MX6QDL_PAD_NANDF_WP_B__NAND_WP_B	0xb0b1
++				MX6QDL_PAD_NANDF_RB0__NAND_READY_B	0xb000
++				MX6QDL_PAD_NANDF_CS0__NAND_CE0_B	0xb0b1
++				MX6QDL_PAD_NANDF_CS1__NAND_CE1_B	0xb0b1
++				MX6QDL_PAD_SD4_CMD__NAND_RE_B		0xb0b1
++				MX6QDL_PAD_SD4_CLK__NAND_WE_B		0xb0b1
++				MX6QDL_PAD_NANDF_D0__NAND_DATA00	0xb0b1
++				MX6QDL_PAD_NANDF_D1__NAND_DATA01	0xb0b1
++				MX6QDL_PAD_NANDF_D2__NAND_DATA02	0xb0b1
++				MX6QDL_PAD_NANDF_D3__NAND_DATA03	0xb0b1
++				MX6QDL_PAD_NANDF_D4__NAND_DATA04	0xb0b1
++				MX6QDL_PAD_NANDF_D5__NAND_DATA05	0xb0b1
++				MX6QDL_PAD_NANDF_D6__NAND_DATA06	0xb0b1
++				MX6QDL_PAD_NANDF_D7__NAND_DATA07	0xb0b1
++				MX6QDL_PAD_SD4_DAT0__NAND_DQS		0x00b1
++			>;
++		};
++
++		pinctrl_uart4: uart4grp {
++			fsl,pins = <
++				MX6QDL_PAD_KEY_COL0__UART4_TX_DATA	0x1b0b1
++				MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA	0x1b0b1
++			>;
++		};
++	};
++};
++
 +&uart4 {
 +	pinctrl-names = "default";
-+	pinctrl-0 = <&pinctrl_uart4_1>;
++	pinctrl-0 = <&pinctrl_uart4>;
 +	status = "okay";
 +};
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
---- a/arch/arm/boot/dts/Makefile
-+++ b/arch/arm/boot/dts/Makefile
-@@ -137,6 +137,7 @@
- 	imx6dl-sabresd.dtb \
- 	imx6dl-wandboard.dtb \
- 	imx6q-arm2.dtb \
-+	imx6q-cm-fx6.dtb \
- 	imx6q-phytec-pbab01.dtb \
- 	imx6q-sabreauto.dtb \
- 	imx6q-sabrelite.dtb \
--- 
-1.7.9.5
-
++
++&sata {
++       status = "okay";
++};
diff --git a/arm-tegra-paz00-panel-dts.patch b/arm-tegra-paz00-panel-dts.patch
new file mode 100644
index 0000000..e64f2ce
--- /dev/null
+++ b/arm-tegra-paz00-panel-dts.patch
@@ -0,0 +1,99 @@
+From fb4a8356eb67514b10618d1e9e4059ced14c05f2 Mon Sep 17 00:00:00 2001
+From: Marc Dietrich <marvin24 at gmx.de>
+Date: Sat, 21 Dec 2013 21:38:13 +0100
+Subject: [PATCH] ARM: tegra: paz00: Add LVDS support to device tree
+
+Add backlight and panel nodes for the PAZ00 TFT LCD panel.
+
+Signed-off-by: Marc Dietrich <marvin24 at gmx.de>
+---
+ arch/arm/boot/dts/tegra20-paz00.dts |   46 ++++++++++++++++++++++++++++++++++-
+ 1 files changed, 45 insertions(+), 1 deletions(-)
+
+diff --git a/arch/arm/boot/dts/tegra20-paz00.dts b/arch/arm/boot/dts/tegra20-paz00.dts
+index c7cd8e6..9a39a80 100644
+--- a/arch/arm/boot/dts/tegra20-paz00.dts
++++ b/arch/arm/boot/dts/tegra20-paz00.dts
+@@ -17,6 +17,14 @@
+ 	};
+ 
+ 	host1x at 50000000 {
++		dc at 54200000 {
++			rgb {
++				status = "okay";
++
++				nvidia,panel = <&panel>;
++			};
++		};
++
+ 		hdmi at 54280000 {
+ 			status = "okay";
+ 
+@@ -257,7 +265,11 @@
+ 		status = "okay";
+ 	};
+ 
+-	i2c at 7000c000 {
++	pwm: pwm at 7000a000 {
++		status = "okay";
++	};
++
++	lvds_ddc: i2c at 7000c000 {
+ 		status = "okay";
+ 		clock-frequency = <400000>;
+ 
+@@ -475,6 +487,18 @@
+ 		non-removable;
+ 	};
+ 
++	backlight: backlight {
++		compatible = "pwm-backlight";
++
++		enable-gpios = <&gpio TEGRA_GPIO(U, 4) GPIO_ACTIVE_HIGH>;
++		pwms = <&pwm 0 5000000>;
++
++		brightness-levels = <0 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 255>;
++		default-brightness-level = <10>;
++
++		backlight-boot-off;
++	};
++
+ 	clocks {
+ 		compatible = "simple-bus";
+ 		#address-cells = <1>;
+@@ -509,6 +533,16 @@
+ 		};
+ 	};
+ 
++	panel: panel {
++		compatible = "samsung,ltn101nt05", "simple-panel";
++
++		ddc-i2c-bus = <&lvds_ddc>;
++		power-supply = <&vdd_pnl_reg>;
++		enable-gpios = <&gpio TEGRA_GPIO(M, 6) GPIO_ACTIVE_HIGH>;
++
++		backlight = <&backlight>;
++	};
++
+ 	regulators {
+ 		compatible = "simple-bus";
+ 		#address-cells = <1>;
+@@ -522,6 +556,16 @@
+ 			regulator-max-microvolt = <5000000>;
+ 			regulator-always-on;
+ 		};
++
++		vdd_pnl_reg: regulator at 1 {
++			compatible = "regulator-fixed";
++			reg = <1>;
++			regulator-name = "+3VS,vdd_pnl";
++			regulator-min-microvolt = <3300000>;
++			regulator-max-microvolt = <3300000>;
++			gpio = <&gpio TEGRA_GPIO(A, 4) GPIO_ACTIVE_HIGH>;
++			enable-active-high;
++		};
+ 	};
+ 
+ 	sound {
+-- 
+1.7.1
diff --git a/config-arm-generic b/config-arm-generic
index 3c2f27c..cd56b24 100644
--- a/config-arm-generic
+++ b/config-arm-generic
@@ -20,6 +20,7 @@ CONFIG_RESET_GPIO=y
 
 CONFIG_RCU_FANOUT_LEAF=16
 # CONFIG_RTC_DRV_SNVS is not set
+# CONFIG_RTC_DRV_HYM8563 is not set
 CONFIG_BACKLIGHT_PWM=m
 CONFIG_INPUT_PWM_BEEPER=m
 CONFIG_ARM_SP805_WATCHDOG=m
@@ -28,7 +29,6 @@ CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
 # CONFIG_ARM_DT_BL_CPUFREQ is not set
 CONFIG_NR_CPUS=8
 
-CONFIG_ARM_DMA_USE_IOMMU=y
 CONFIG_SWIOTLB=y
 CONFIG_DMA_VIRTUAL_CHANNELS=y
 CONFIG_FB_SIMPLE=y
@@ -38,10 +38,14 @@ CONFIG_HAVE_PERF_USER_STACK_DUMP=y
 
 # ARM AMBA generic HW
 CONFIG_ARM_AMBA=y
+CONFIG_ARM_CCI=y
+CONFIG_ARM_DMA_USE_IOMMU=y
 CONFIG_ARM_GIC=y
+CONFIG_ARM_GLOBAL_TIMER=y
+CONFIG_ARM_SMMU=y
 CONFIG_MMC_ARMMMCI=y
-CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
 CONFIG_SERIAL_AMBA_PL011=y
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
 CONFIG_SERIO_AMBAKMI=y
 CONFIG_OC_ETM=y
 CONFIG_FB_ARMCLCD=y
@@ -67,14 +71,18 @@ CONFIG_OF_EARLY_FLATTREE=y
 CONFIG_OF_FLATTREE=y
 CONFIG_OF_GPIO=y
 CONFIG_OF_I2C=m
+CONFIG_OF_IOMMU=y
 CONFIG_OF_IRQ=y
 CONFIG_OF_MDIO=m
 CONFIG_OF_MTD=y
 CONFIG_OF_NET=y
 CONFIG_OF_PCI_IRQ=m
 CONFIG_OF_PCI=m
+CONFIG_OF_RESERVED_MEM=y
+CONFIG_PATA_OF_PLATFORM=m
 # CONFIG_OF_SELFTEST is not set
 CONFIG_SERIAL_OF_PLATFORM=y
+CONFIG_THERMAL_OF=y
 
 # External Connectors
 CONFIG_EXTCON=m
@@ -100,6 +108,7 @@ CONFIG_MTD_PHYSMAP_OF=m
 CONFIG_GPIO_DEVRES=y
 CONFIG_GPIO_GENERIC=m
 CONFIG_GPIO_GENERIC_PLATFORM=m
+CONFIG_GPIO_WATCHDOG=m
 CONFIG_GPIOLIB=y
 CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
 CONFIG_ARCH_REQUIRE_GPIOLIB=y
@@ -109,10 +118,10 @@ CONFIG_POWER_RESET_GPIO=y
 CONFIG_POWER_RESET_RESTART=y
 
 #i2c
+CONFIG_I2C_ARB_GPIO_CHALLENGE=m
 CONFIG_I2C_BOARDINFO=y
 CONFIG_I2C_GPIO=m
 CONFIG_I2C_MUX=m
-# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
 CONFIG_I2C_MUX_GPIO=m
 CONFIG_I2C_MUX_PINCTRL=m
 CONFIG_I2C_MUX_PCA9541=m
@@ -122,7 +131,7 @@ CONFIG_SENSORS_IIO_HWMON=m
 CONFIG_IIO_SYSFS_TRIGGER=m
 
 # PHY framework
-CONFIG_GENERIC_PHY=m
+CONFIG_GENERIC_PHY=y
 
 # MFD
 CONFIG_MFD_CORE=m
@@ -130,8 +139,21 @@ CONFIG_MFD_CORE=m
 CONFIG_SMC91X=m
 CONFIG_SMC911X=m
 
+CONFIG_CPU_THERMAL=y
 CONFIG_THERMAL_GOV_USER_SPACE=y
 
+# Contiguous Memory Allocator
+CONFIG_CMA=y
+CONFIG_DMA_CMA=y
+# CONFIG_CMA_DEBUG is not set
+CONFIG_CMA_SIZE_MBYTES=16
+CONFIG_CMA_SIZE_SEL_MBYTES=y
+# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
+# CONFIG_CMA_SIZE_SEL_MIN is not set
+# CONFIG_CMA_SIZE_SEL_MAX is not set
+CONFIG_CMA_ALIGNMENT=8
+CONFIG_CMA_AREAS=7
+
 # CONFIG_CRYPTO_TEST is not set
 # CONFIG_TRANSPARENT_HUGEPAGE is not set
 # CONFIG_XEN is not set
@@ -140,7 +162,6 @@ CONFIG_THERMAL_GOV_USER_SPACE=y
 # CONFIG_DRM_SHMOBILE is not set
 # CONFIG_I2C_SH_MOBILE is not set
 # CONFIG_MMC_DW_SOCFPGA is not set
-# CONFIG_ARM_SMMU is not set
 # CONFIG_I2C_NOMADIK is not set
 # CONFIG_IRQ_DOMAIN_DEBUG is not set
 # CONFIG_LEDS_RENESAS_TPU is not set
@@ -150,6 +171,13 @@ CONFIG_THERMAL_GOV_USER_SPACE=y
 # CONFIG_DRM_TEGRA is not set
 # CONFIG_SHMOBILE_IOMMU is not set
 
+# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_QCOM is not set
+
+# CONFIG_ARM_PTDUMP is not set
+
+# CONFIG_PATA_PLATFORM is not set
+
 ### turn off things which make no sense on embedded SoC
 
 # core
@@ -164,6 +192,7 @@ CONFIG_THERMAL_GOV_USER_SPACE=y
 # CONFIG_NET_VENDOR_EXAR is not set
 # CONFIG_NET_VENDOR_INTEL is not set
 # CONFIG_NET_VENDOR_MELLANOX is not set
+# CONFIG_NET_VENDOR_BROCADE is not set
 
 # scsi
 
@@ -173,8 +202,11 @@ CONFIG_THERMAL_GOV_USER_SPACE=y
 # CONFIG_SCSI_IPS is not set
 # CONFIG_SCSI_CXGB3_ISCSI is not set
 # CONFIG_SCSI_CXGB4_ISCSI is not set
+# CONFIG_SCSI_BFA_FC is not set
 
 # serial
 # CONFIG_SERIAL_SH_SCI is not set
 
 CONFIG_CRASH=m
+
+# CONFIG_DEBUG_SET_MODULE_RONX is not set
diff --git a/config-armv7 b/config-armv7
index 95cdcd1..d609bc6 100644
--- a/config-armv7
+++ b/config-armv7
@@ -1,6 +1,6 @@
 # ARM unified arch kernel
 
-# CONFIG_ARCH_EXYNOS_MULTI is not set
+# CONFIG_ARCH_BERLIN is not set
 # CONFIG_ARCH_KEYSTONE is not set
 CONFIG_ARCH_MVEBU=y
 CONFIG_ARCH_MXC=y
@@ -10,7 +10,6 @@ CONFIG_ARCH_OMAP4=y
 CONFIG_ARCH_PICOXCELL=y
 CONFIG_ARCH_ROCKCHIP=y
 CONFIG_ARCH_SOCFPGA=y
-CONFIG_ARCH_SUNXI=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_ARCH_U8500=y
 # CONFIG_ARCH_VIRT is not set
@@ -32,7 +31,6 @@ CONFIG_CACHE_TAUROS2=y
 CONFIG_MV_XOR=y
 CONFIG_CRYPTO_DEV_MV_CESA=m
 CONFIG_MV643XX_ETH=m
-CONFIG_I2C_MV64XXX=m
 CONFIG_PINCTRL_MVEBU=y
 CONFIG_PINCTRL_ARMADA_370=y
 CONFIG_PINCTRL_ARMADA_XP=y
@@ -44,11 +42,13 @@ CONFIG_RTC_DRV_MV=m
 CONFIG_MVNETA=m
 CONFIG_GPIO_MVEBU=y
 CONFIG_MVEBU_CLK_CORE=y
+CONFIG_MVEBU_CLK_COREDIV=y
 CONFIG_MVEBU_CLK_GATING=y
 CONFIG_MMC_MVSDIO=m
 CONFIG_SPI_ORION=m
 CONFIG_USB_MV_UDC=m
 CONFIG_MVEBU_MBUS=y
+CONFIG_PHY_MVEBU_SATA=y
 CONFIG_ARMADA_THERMAL=m
 CONFIG_DRM_ARMADA=m
 
@@ -100,7 +100,6 @@ CONFIG_OMAP_IOVMM=m
 CONFIG_HWSPINLOCK_OMAP=m
 CONFIG_OMAP3_EMU=y
 # CONFIG_OMAP3_SDRC_AC_TIMING is not set
-CONFIG_OMAP_WATCHDOG=m
 
 CONFIG_SERIAL_OMAP=y
 CONFIG_SERIAL_OMAP_CONSOLE=y
@@ -124,7 +123,6 @@ CONFIG_TWL6040_CORE=y
 CONFIG_CLK_TWL6040=m
 CONFIG_OMAP_INTERCONNECT=m
 CONFIG_MFD_OMAP_USB_HOST=y
-CONFIG_MTD_ONENAND_OMAP2=m
 CONFIG_HDQ_MASTER_OMAP=m
 CONFIG_REGULATOR_TWL4030=y
 CONFIG_BACKLIGHT_PANDORA=m
@@ -146,11 +144,11 @@ CONFIG_TWL6030_GPADC=m
 
 # OMAP5 (possibly other devices too)
 CONFIG_MFD_PALMAS=y
-CONFIG_PINCTRL_PALMAS=y
 CONFIG_EXTCON_PALMAS=m
-CONFIG_RTC_DRV_PALMAS=m
-CONFIG_REGULATOR_PALMAS=m
 CONFIG_GPIO_PALMAS=y
+CONFIG_PINCTRL_PALMAS=y
+CONFIG_REGULATOR_PALMAS=y
+CONFIG_RTC_DRV_PALMAS=m
 
 CONFIG_WL_TI=y
 CONFIG_WLCORE_SDIO=m
@@ -160,7 +158,9 @@ CONFIG_WILINK_PLATFORM_DATA=y
 CONFIG_MFD_WL1273_CORE=m
 CONFIG_NFC_WILINK=m
 
+CONFIG_MTD_ONENAND_OMAP2=m
 CONFIG_MTD_NAND_OMAP2=m
+CONFIG_MTD_NAND_OMAP_BCH=y
 CONFIG_SPI_OMAP24XX=m
 CONFIG_MFD_TI_SSP=m
 CONFIG_SPI_TI_SSP=m
@@ -185,7 +185,7 @@ CONFIG_POWER_AVS=y
 CONFIG_POWER_AVS_OMAP=y
 CONFIG_POWER_AVS_OMAP_CLASS3=y
 
-# CONFIG_ARM_OMAP2PLUS_CPUFREQ is not set
+CONFIG_ARM_OMAP2PLUS_CPUFREQ=y
 
 CONFIG_PWM_TIECAP=m
 CONFIG_PWM_TIEHRPWM=m
@@ -307,29 +307,29 @@ CONFIG_TI_DAVINCI_EMAC=m
 CONFIG_TI_DAVINCI_MDIO=m
 CONFIG_TI_CPSW=m
 CONFIG_TI_CPSW_PHY_SEL=y
-# CONFIG_TI_CPTS is not set
+CONFIG_TI_CPTS=y
+# Needed for BBone White
+CONFIG_REGULATOR_TPS65217=y
 CONFIG_TI_EMIF=m
 CONFIG_DRM_TILCDC=m
 CONFIG_SPI_DAVINCI=m
 CONFIG_SND_DAVINCI_SOC=m
+CONFIG_SND_DAVINCI_SOC_I2S=m
+CONFIG_SND_DAVINCI_SOC_MCASP=m
+CONFIG_SND_DAVINCI_SOC_VCIF=m
+CONFIG_SND_DAVINCI_SOC_GENERIC_EVM=m
+CONFIG_SND_AM33XX_SOC_EVM=m
 CONFIG_REGULATOR_TI_ABB=m
 CONFIG_TI_ADC081C=m
 CONFIG_TI_AM335X_ADC=m
 CONFIG_PWM_TIPWMSS=y
-CONFIG_SND_AM33XX_SOC_EVM=m
-CONFIG_SND_AM335X_SOC_NXPTDA_EVM=m
-
-# Allwinner a1x
-CONFIG_PINCTRL_SUNXI=y
-CONFIG_SUNXI_WATCHDOG=m
-CONFIG_MDIO_SUN4I=m
-CONFIG_NET_VENDOR_ALLWINNER=y
-CONFIG_SUN4I_EMAC=m
-CONFIG_EEPROM_SUNXI_SID=m
+# CONFIG_GPIO_DAVINCI is not set
+# CONFIG_DAVINCI_WATCHDOG is not set
 
 # i.MX
 CONFIG_MXC_IRQ_PRIOR=y
 # CONFIG_MXC_DEBUG_BOARD is not set
+CONFIG_SOC_IMX50=y
 CONFIG_SOC_IMX53=y
 CONFIG_SOC_IMX6Q=y
 CONFIG_SOC_IMX6SL=y
@@ -340,6 +340,7 @@ CONFIG_ARM_IMX6Q_CPUFREQ=m
 CONFIG_IMX_THERMAL=m
 CONFIG_PATA_IMX=m
 CONFIG_PCI_IMX6=y
+# CONFIG_USB_EHCI_MXC is not set
 CONFIG_USB_CHIPIDEA=m
 CONFIG_USB_CHIPIDEA_UDC=y
 CONFIG_USB_CHIPIDEA_HOST=y
@@ -348,13 +349,18 @@ CONFIG_USB_FSL_USB2=m
 CONFIG_NET_VENDOR_FREESCALE=y
 CONFIG_FEC=m
 CONFIG_KEYBOARD_IMX=m
+CONFIG_KEYBOARD_STMPE=m
+CONFIG_TOUCHSCREEN_STMPE=m
 CONFIG_SERIAL_IMX=y
 CONFIG_SERIAL_IMX_CONSOLE=y
 CONFIG_PINCTRL_IMX6SL=y
 CONFIG_I2C_IMX=m
+CONFIG_STMPE_I2C=y
 CONFIG_SPI_IMX=m
+CONFIG_STMPE_SPI=y
 CONFIG_MFD_MC13783=m
 CONFIG_MFD_MC13XXX_SPI=m
+CONFIG_MFD_STMPE=y
 CONFIG_W1_MASTER_MXC=m
 CONFIG_IMX_WEIM=y
 CONFIG_IMX2_WDT=m
@@ -362,8 +368,10 @@ CONFIG_HW_RANDOM_MXC_RNGA=m
 CONFIG_CRYPTO_DEV_SAHARA=m
 CONFIG_RTC_DRV_SNVS=m
 # CONFIG_FB_MX3 is not set
+# CONFIG_FB_IMX is not set
 
 CONFIG_SND_IMX_SOC=m
+CONFIG_SND_SOC_FSL_SPDIF=m
 CONFIG_SND_SOC_FSL_SSI=m
 CONFIG_SND_SOC_FSL_UTILS=m
 CONFIG_SND_SOC_IMX_SSI=m
@@ -375,7 +383,6 @@ CONFIG_SND_SOC_IMX_WM8962=m
 CONFIG_SND_SOC_IMX_MC13783=m
 CONFIG_SND_SOC_IMX_SPDIF=m
 
-CONFIG_USB_EHCI_MXC=m
 CONFIG_USB_IMX21_HCD=m
 CONFIG_USB_MXS_PHY=m
 CONFIG_MMC_DW_SOCFPGA=m
@@ -392,7 +399,6 @@ CONFIG_AHCI_IMX=m
 # CONFIG_MXS_DMA is not set
 
 CONFIG_PWM_IMX=m
-CONFIG_BACKLIGHT_PWM=m
 CONFIG_DRM_IMX=m
 CONFIG_DRM_IMX_FB_HELPER=m
 CONFIG_DRM_IMX_HDMI=m
@@ -424,6 +430,7 @@ CONFIG_INPUT_DA9052_ONKEY=m
 CONFIG_INPUT_DA9055_ONKEY=m
 CONFIG_GPIO_DA9052=m
 CONFIG_GPIO_DA9055=m
+CONFIG_GPIO_STMPE=y
 CONFIG_BATTERY_DA9052=m
 CONFIG_SENSORS_DA9052_ADC=m
 CONFIG_SENSORS_DA9055=m
@@ -476,15 +483,9 @@ CONFIG_AB8500_BM=y
 CONFIG_AB8500_GPADC=y
 CONFIG_SENSORS_AB8500=m
 CONFIG_STE_MODEM_RPROC=m
-CONFIG_CW1200=m
-CONFIG_CW1200_WLAN_SDIO=m
-CONFIG_CW1200_WLAN_SPI=m
-CONFIG_UX500_WATCHDOG=m
-CONFIG_IIO_ST_ACCEL_3AXIS=m
-CONFIG_IIO_ST_GYRO_3AXIS=m
+
 CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
 CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
-CONFIG_IIO_ST_MAGN_3AXIS=m
 CONFIG_IIO_ST_MAGN_I2C_3AXIS=m
 CONFIG_IIO_ST_MAGN_SPI_3AXIS=m
 CONFIG_IIO_ST_PRESS=m
@@ -497,11 +498,12 @@ CONFIG_IIO_ST_SENSORS_CORE=m
 # tegra
 CONFIG_ARCH_TEGRA_2x_SOC=y
 CONFIG_ARCH_TEGRA_3x_SOC=y
-# CONFIG_ARCH_TEGRA_114_SOC is not set
-# CONFIG_ARCH_TEGRA_124_SOC is not set
+CONFIG_ARCH_TEGRA_114_SOC=y
+CONFIG_ARCH_TEGRA_124_SOC=y
 CONFIG_ARM_TEGRA_CPUFREQ=y
 CONFIG_TEGRA20_MC=y
 CONFIG_TEGRA30_MC=y
+CONFIG_TRUSTED_FOUNDATIONS=y
 
 CONFIG_SERIAL_TEGRA=y
 
@@ -511,12 +513,13 @@ CONFIG_TEGRA_IOMMU_SMMU=y
 CONFIG_MMC_SDHCI_TEGRA=m
 
 CONFIG_I2C_TEGRA=m
+CONFIG_I2C_MUX_PCA954x=m
 
 CONFIG_TEGRA_SYSTEM_DMA=y
 CONFIG_TEGRA_EMC_SCALING_ENABLE=y
 CONFIG_TEGRA_AHB=y
 CONFIG_TEGRA20_APB_DMA=y
-# CONFIG_SPI_TEGRA114 is not set
+CONFIG_SPI_TEGRA114=m
 CONFIG_SPI_TEGRA20_SFLASH=m
 CONFIG_SPI_TEGRA20_SLINK=m
 
@@ -530,19 +533,18 @@ CONFIG_RTC_DRV_TEGRA=m
 
 CONFIG_SND_SOC_TEGRA=m
 CONFIG_SND_SOC_TEGRA_ALC5632=m
+CONFIG_SND_SOC_TEGRA_MAX98090=m
 CONFIG_SND_SOC_TEGRA_RT5640=m
 CONFIG_SND_SOC_TEGRA_TRIMSLICE=m
 CONFIG_SND_SOC_TEGRA_WM8753=m
 CONFIG_SND_SOC_TEGRA_WM8903=m
 CONFIG_SND_SOC_TEGRA_WM9712=m
 CONFIG_SND_SOC_TEGRA20_AC97=m
+CONFIG_SND_SOC_TEGRA20_DAS=m
+CONFIG_SND_SOC_TEGRA20_SPDIF=m
 CONFIG_SND_SOC_TEGRA30_AHUB=m
 CONFIG_SND_SOC_TEGRA30_I2S=m
 
-# bool only, upstream aiming for modular in 3.14
-# https://lkml.org/lkml/2013/11/18/47
-# CONFIG_DRM_TEGRA is not set
-
 # AC100 (PAZ00)
 CONFIG_MFD_NVEC=y
 CONFIG_MFD_TPS80031=y
@@ -560,10 +562,13 @@ CONFIG_PWM_TEGRA=m
 
 CONFIG_TEGRA_HOST1X=m
 CONFIG_TEGRA_HOST1X_FIREWALL=y
-
-CONFIG_DRM_TEGRA=y
-# CONFIG_DRM_TEGRA_STAGING is not set
+CONFIG_DRM_TEGRA=m
+CONFIG_DRM_TEGRA_FBDEV=y
 # CONFIG_DRM_TEGRA_DEBUG is not set
+CONFIG_DRM_TEGRA_STAGING=y
+CONFIG_DRM_PANEL=y
+CONFIG_DRM_PANEL_SIMPLE=m
+
 
 CONFIG_CRYPTO_DEV_TEGRA_AES=m
 
@@ -586,6 +591,7 @@ CONFIG_XILINX_EMACLITE=m
 CONFIG_GPIO_XILINX=y
 CONFIG_I2C_XILINX=m
 CONFIG_SPI_XILINX=m
+CONFIG_MMC_SDHCI_OF_ARASAN=m
 
 # Multi function devices
 CONFIG_MFD_88PM800=m
@@ -631,6 +637,7 @@ CONFIG_REGULATOR_MAX8973=m
 # CONFIG_MFD_MAX77686 is not set
 # CONFIG_MFD_MAX77693 is not set
 # CONFIG_MFD_MAX8997 is not set
+# CONFIG_MFD_MAX14577 is not set
 # CONFIG_MFD_AAT2870_CORE is not set
 # CONFIG_MFD_RC5T583 is not set
 # CONFIG_MFD_SMSC is not set
@@ -648,10 +655,9 @@ CONFIG_REGULATOR_MAX8973=m
 # CONFIG_VIRTUALIZATION is not set
 # CONFIG_POWER_RESET_QNAP is not set
 # CONFIG_OMAP2_DSS_DEBUG is not set
-# CONFIG_DRM_TEGRA_DEBUG is not set
 # CONFIG_CRYPTO_DEV_UX500_DEBUG is not set
 # CONFIG_AB8500_DEBUG is not set
 
 # CONFIG_SOC_VF610 is not set
-# CONFIG_ARM_CCI is not set
 # CONFIG_MMC_TMIO is not set
+# CONFIG_SND_SOC_ADI is not set
diff --git a/config-armv7-generic b/config-armv7-generic
index 8215e60..26e90fe 100644
--- a/config-armv7-generic
+++ b/config-armv7-generic
@@ -50,6 +50,7 @@ CONFIG_ALWAYS_USE_PERSISTENT_CLOCK=y
 
 # Platforms enabled/disabled globally on ARMv7
 CONFIG_ARCH_HIGHBANK=y
+CONFIG_ARCH_SUNXI=y
 CONFIG_ARCH_VEXPRESS_CA9X4=y
 CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA=y
 # CONFIG_ARCH_VEXPRESS_SPC is not set
@@ -60,13 +61,9 @@ CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA=y
 # CONFIG_ARCH_U8500 is not set
 # CONFIG_ARCH_WM8850 is not set
 # CONFIG_ARCH_SHMOBILE_MULTI is not set
-
-# highbank
-CONFIG_EDAC_HIGHBANK_MC=m
-CONFIG_EDAC_HIGHBANK_L2=m
-CONFIG_SATA_HIGHBANK=m
-CONFIG_ARM_HIGHBANK_CPUFREQ=m
-# CONFIG_ARM_HIGHBANK_CPUIDLE is not set
+# CONFIG_ARCH_BERLIN is not set
+# CONFIG_ARCH_HI3xxx is not set
+# CONFIG_ARCH_MSM_DT is not set
 
 # errata
 # v5/v6
@@ -118,15 +115,8 @@ CONFIG_CPU_IDLE_GOV_MENU=y
 CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
 CONFIG_LSM_MMAP_MIN_ADDR=32768
 
-CONFIG_ARM_GLOBAL_TIMER=y
-
 CONFIG_XZ_DEC_ARM=y
 
-# Power management
-CONFIG_PM_OPP=y
-CONFIG_ARM_CPU_SUSPEND=y
-CONFIG_GENERIC_CPUFREQ_CPU0=m
-
 CONFIG_LOCAL_TIMERS=y
 CONFIG_UACCESS_WITH_MEMCPY=y
 CONFIG_CC_STACKPROTECTOR=y
@@ -159,10 +149,27 @@ CONFIG_RTC_DRV_PL031=y
 
 CONFIG_PL330_DMA=m
 CONFIG_AMBA_PL08X=y
-CONFIG_ARM_SP805_WATCHDOG=m
 CONFIG_GPIO_PL061=y
 CONFIG_PL320_MBOX=y
 
+# highbank
+CONFIG_EDAC_HIGHBANK_MC=m
+CONFIG_EDAC_HIGHBANK_L2=m
+CONFIG_SATA_HIGHBANK=m
+CONFIG_ARM_HIGHBANK_CPUFREQ=m
+# CONFIG_ARM_HIGHBANK_CPUIDLE is not set
+
+# Allwinner a1x
+CONFIG_PINCTRL_SUNXI=y
+CONFIG_SUNXI_WATCHDOG=m
+CONFIG_MDIO_SUN4I=m
+CONFIG_NET_VENDOR_ALLWINNER=y
+CONFIG_SUN4I_EMAC=m
+CONFIG_STMMAC_PLATFORM=y
+CONFIG_DWMAC_SUNXI=y
+CONFIG_EEPROM_SUNXI_SID=m
+CONFIG_RTC_DRV_SUNXI=m
+
 CONFIG_REGMAP=y
 CONFIG_REGMAP_I2C=m
 CONFIG_REGMAP_SPI=m
@@ -170,6 +177,11 @@ CONFIG_REGMAP_SPMI=m
 CONFIG_REGMAP_MMIO=m
 CONFIG_REGMAP_IRQ=y
 
+# Power management
+CONFIG_PM_OPP=y
+CONFIG_ARM_CPU_SUSPEND=y
+CONFIG_GENERIC_CPUFREQ_CPU0=m
+
 # usb
 CONFIG_USB_OTG=y
 # CONFIG_USB_OTG_WHITELIST is not set
@@ -214,6 +226,8 @@ CONFIG_USB_CONFIGFS_OBEX=y
 # CONFIG_USB_CONFIGFS_RNDIS is not set
 CONFIG_USB_CONFIGFS_SERIAL=y
 CONFIG_USB_CONFIGFS_STORAGE=y
+# CONFIG_USB_CONFIGFS_F_LB_SS is not set
+# CONFIG_USB_CONFIGFS_F_FS is not set
 
 # CONFIG_MUSB_PIO_ONLY is not set
 # CONFIG_USB_MUSB_DEBUG is not set
@@ -256,6 +270,8 @@ CONFIG_PINCTRL_SINGLE=y
 CONFIG_GENERIC_PINCONF=y
 # CONFIG_PINCTRL_SAMSUNG is not set
 # CONFIG_PINCTRL_EXYNOS4 is not set
+# CONFIG_PINCTRL_CAPRI is not set
+# CONFIG_PINCTRL_MSM8X74 is not set
 
 # GPIO
 # CONFIG_GPIO_EM is not set
@@ -267,8 +283,11 @@ CONFIG_GPIO_MC33880=m
 CONFIG_GPIO_TPS65910=y
 CONFIG_GPIO_TPS65912=m
 CONFIG_LEDS_GPIO=m
+CONFIG_MDIO_BUS_MUX=m
 CONFIG_MDIO_BUS_MUX_GPIO=m
 CONFIG_MDIO_BUS_MUX_MMIOREG=m
+CONFIG_INPUT_GPIO=m
+CONFIG_INPUT_GPIO_BEEPER=m
 CONFIG_INPUT_GPIO_TILT_POLLED=m
 CONFIG_INPUT_MATRIXKMAP=m
 CONFIG_KEYBOARD_GPIO=m
@@ -300,6 +319,7 @@ CONFIG_NFC_NCI_SPI=y
 # i2c
 CONFIG_I2C_DESIGNWARE_CORE=m
 CONFIG_I2C_DESIGNWARE_PLATFORM=m
+CONFIG_I2C_MV64XXX=m
 
 # HW crypto and rng
 CONFIG_CRYPTO_SHA1_ARM=m
@@ -331,6 +351,22 @@ CONFIG_MTD_DATAFLASH=m
 CONFIG_MTD_DATAFLASH_WRITE_VERIFY=y
 CONFIG_MTD_DATAFLASH_OTP=y
 CONFIG_MTD_M25P80=m
+CONFIG_MTD_NAND=m
+CONFIG_MTD_NAND_CAFE=m
+# CONFIG_MTD_NAND_DENALI is not set
+CONFIG_MTD_NAND_DOCG4=m
+CONFIG_MTD_NAND_ECC_SMC=y
+CONFIG_MTD_NAND_FSMC=m
+CONFIG_MTD_NAND_GPIO=m
+CONFIG_MTD_NAND_MXC=m
+CONFIG_MTD_NAND_NANDSIM=m
+CONFIG_MTD_NAND_ORION=m
+CONFIG_MTD_NAND_PLATFORM=m
+CONFIG_MTD_NAND_PXA3xx=m
+CONFIG_MTD_NAND_RICOH=m
+CONFIG_MTD_NAND_TMIO=m
+CONFIG_MTD_SPINAND_MT29F=m
+CONFIG_MTD_SPINAND_ONDIEECC=y
 CONFIG_MTD_SST25L=m
 CONFIG_EEPROM_AT25=m
 CONFIG_EEPROM_93XX46=m
@@ -347,6 +383,7 @@ CONFIG_SPI_DW_PCI=m
 # CONFIG_MMC_DW_SOCFPGA is not set
 # CONFIG_MMC_DW_EXYNOS is not set
 # CONFIG_MMC_DW_IDMAC is not set
+# CONFIG_MMC_DW_K3 is not set
 CONFIG_USB_DWC2=m
 # CONFIG_USB_DWC2_DEBUG is not set
 # CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
@@ -355,6 +392,7 @@ CONFIG_USB_DWC3_OMAP=m
 CONFIG_USB_DWC3_EXYNOS=m
 CONFIG_USB_DWC3_PCI=m
 # CONFIG_USB_DWC3_DEBUG is not set
+# CONFIG_USB_DWC3_KEYSTONE is not set
 CONFIG_DW_WATCHDOG=m
 CONFIG_PCIE_DW=y
 CONFIG_PCI_EXYNOS=y
@@ -395,11 +433,12 @@ CONFIG_RTC_DRV_TPS80031=m
 # Regulators
 CONFIG_REGULATOR=y
 CONFIG_RFKILL_REGULATOR=m
-# CONFIG_REGULATOR_DUMMY is not set
-CONFIG_REGULATOR_FIXED_VOLTAGE=m
+CONFIG_REGULATOR_DUMMY=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
 CONFIG_REGULATOR_VIRTUAL_CONSUMER=m
 CONFIG_REGULATOR_USERSPACE_CONSUMER=m
 CONFIG_REGULATOR_GPIO=m
+# CONFIG_REGULATOR_ACT8865 is not set
 CONFIG_REGULATOR_AD5398=m
 CONFIG_REGULATOR_DA9210=m
 CONFIG_REGULATOR_FAN53555=m
@@ -476,18 +515,6 @@ CONFIG_LEDS_DAC124S085=m
 CONFIG_LEDS_PWM=m
 CONFIG_BMP085_SPI=m
 
-# Contiguous Memory Allocator
-CONFIG_OF_RESERVED_MEM=y
-CONFIG_CMA=y
-CONFIG_DMA_CMA=y
-# CONFIG_CMA_DEBUG is not set
-CONFIG_CMA_SIZE_MBYTES=16
-CONFIG_CMA_SIZE_SEL_MBYTES=y
-# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
-# CONFIG_CMA_SIZE_SEL_MIN is not set
-# CONFIG_CMA_SIZE_SEL_MAX is not set
-CONFIG_CMA_ALIGNMENT=8
-CONFIG_CMA_AREAS=7
 CONFIG_SRAM=y
 
 # Ethernet
@@ -524,6 +551,9 @@ CONFIG_UBIFS_FS_LZO=y
 CONFIG_UBIFS_FS_ZLIB=y
 # CONFIG_UBIFS_FS_DEBUG is not set
 
+# Sensors
+CONFIG_SENSORS_HTU21=m
+
 # Chromebook
 CONFIG_MFD_CROS_EC=m
 CONFIG_MFD_CROS_EC_I2C=m
@@ -532,11 +562,10 @@ CONFIG_KEYBOARD_CROS_EC=m
 
 # Should be in generic
 CONFIG_BPF_JIT=y
+
 # CONFIG_NET_VENDOR_CIRRUS is not set
 # CONFIG_NET_VENDOR_MICROCHIP is not set
-
 # CONFIG_PATA_PLATFORM is not set
-
 # CONFIG_DRM_EXYNOS is not set
 # CONFIG_DRM_TILCDC is not set
 # CONFIG_DRM_IMX is not set
@@ -565,6 +594,8 @@ CONFIG_BPF_JIT=y
 # CONFIG_SPI_TOPCLIFF_PCH is not set
 # CONFIG_SPI_PXA2XX is not set
 # CONFIG_SPI_FSL_DSPI is not set
+# CONFIG_FB_XILINX is not set
+# CONFIG_USB_S3C_HSOTG is not set
 
 # these modules all fail with missing __bad_udelay
 # http://www.spinics.net/lists/arm/msg15615.html provides some background
@@ -586,7 +617,5 @@ CONFIG_BPF_JIT=y
 # CONFIG_DEBUG_USER is not set
 # CONFIG_DEBUG_LL is not set
 # CONFIG_DEBUG_PINCTRL is not set
-# CONFIG_ARM_DT_BL_CPUFREQ is not set
-
-# FIX ME
-# CONFIG_FB_XILINX is not set
+# CONFIG_DMADEVICES_VDEBUG is not set
+# CONFIG_DMADEVICES_DEBUG is not set
diff --git a/config-armv7-lpae b/config-armv7-lpae
index c3b22bc..25fe122 100644
--- a/config-armv7-lpae
+++ b/config-armv7-lpae
@@ -1,8 +1,6 @@
 # ARM A15 lpae unified arch kernel
-CONFIG_ARCH_EXYNOS_MULTI=y
 CONFIG_ARCH_KEYSTONE=y
 CONFIG_ARCH_VIRT=y
-CONFIG_ARCH_EXYNOS5=y
 
 # CONFIG_ARCH_MVEBU is not set
 # CONFIG_ARCH_MXC is not set
@@ -12,23 +10,17 @@ CONFIG_ARCH_EXYNOS5=y
 # CONFIG_SOC_AM33XX is not set
 # CONFIG_SND_AM33XX_SOC_EVM is not set
 # CONFIG_SOC_AM43XX is not set
+# CONFIG_SOC_DRA7XX is not set
 # CONFIG_ARCH_ROCKCHIP is not set
 # CONFIG_ARCH_SOCFPGA is not set
-# CONFIG_ARCH_SUNXI is not set
 # CONFIG_ARCH_TEGRA is not set
 # CONFIG_ARCH_ZYNQ is not set
 
-
-# CONFIG_ARCH_EXYNOS4 is not set
-
-# CONFIG_EXYNOS_ATAGS is not set
-
 CONFIG_ARM_LPAE=y
 CONFIG_SYS_SUPPORTS_HUGETLBFS=y
 CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
 CONFIG_ARM_VIRT_EXT=y
 CONFIG_VIRTUALIZATION=y
-CONFIG_ARM_SMMU=y
 CONFIG_ARM_DMA_IOMMU_ALIGNMENT=8
 
 # Cortex-A15
@@ -41,7 +33,7 @@ CONFIG_KVM_ARM_MAX_VCPUS=8
 CONFIG_KVM_ARM_VGIC=y
 CONFIG_KVM_ARM_TIMER=y
 
-CONFIG_XEN=y
+# CONFIG_XEN is not set
 CONFIG_XEN_FBDEV_FRONTEND=y
 CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m
 CONFIG_XEN_BLKDEV_FRONTEND=m
@@ -58,6 +50,7 @@ CONFIG_XEN_SYS_HYPERVISOR=y
 CONFIG_XEN_GNTDEV=y
 CONFIG_XEN_GRANT_DEV_ALLOC=m
 CONFIG_XEN_WDT=m
+# CONFIG_XEN_BALLOON is not set
 
 CONFIG_SERIAL_SAMSUNG=y
 CONFIG_SERIAL_SAMSUNG_CONSOLE=y
@@ -72,9 +65,9 @@ CONFIG_SOC_EXYNOS5440=y
 CONFIG_EXYNOS_THERMAL=m
 CONFIG_PCI_EXYNOS=y
 
-CONFIG_ARM_CCI=y
 CONFIG_TCG_TIS_I2C_INFINEON=m
 
+# CONFIG_EXYNOS_ATAGS is not set
 CONFIG_PINCTRL_EXYNOS=y
 CONFIG_PINCTRL_EXYNOS5440=y
 CONFIG_EXYNOS_IOMMU=y
@@ -113,11 +106,15 @@ CONFIG_SAMSUNG_USB3PHY=m
 CONFIG_MMC_DW_EXYNOS=m
 CONFIG_RTC_DRV_S3C=m
 
-# Chromebook
-CONFIG_MFD_CROS_EC=m
-CONFIG_MFD_CROS_EC_I2C=m
-CONFIG_MFD_CROS_EC_SPI=m
-CONFIG_KEYBOARD_CROS_EC=m
+# TI Keystone
+CONFIG_KEYSTONE_USB_PHY=m
+CONFIG_USB_DWC3_KEYSTONE=m
+CONFIG_GPIO_DAVINCI=y
+CONFIG_I2C_DAVINCI=m
+# CONFIG_DAVINCI_WATCHDOG is not set
+# CONFIG_SPI_DAVINCI is not set
+# CONFIG_SND_DAVINCI_SOC is not set
+# CONFIG_TI_SOC_THERMAL is not set
 
 # Arndale/Origen
 CONFIG_MFD_MAX8997=y
@@ -136,7 +133,3 @@ CONFIG_S3C_LOWLEVEL_UART_PORT=1
 # CONFIG_S3C2410_WATCHDOG is not set
 # CONFIG_MMC_SDHCI_S3C is not set
 # CONFIG_TEGRA_HOST1X is not set
-# CONFIG_SPI_DAVINCI is not set
-# CONFIG_I2C_DAVINCI is not set
-# CONFIG_SND_DAVINCI_SOC is not set
-# CONFIG_TI_SOC_THERMAL is not set
diff --git a/config-debug b/config-debug
index 8000b4e..e225326 100644
--- a/config-debug
+++ b/config-debug
@@ -26,8 +26,6 @@ CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
 CONFIG_FAIL_IO_TIMEOUT=y
 CONFIG_FAIL_MMC_REQUEST=y
 
-CONFIG_SLUB_DEBUG_ON=y
-
 CONFIG_LOCK_STAT=y
 
 CONFIG_DEBUG_STACK_USAGE=y
diff --git a/config-generic b/config-generic
index f429973..3ed2e5d 100644
--- a/config-generic
+++ b/config-generic
@@ -128,7 +128,8 @@ CONFIG_MMC=m
 CONFIG_SDIO_UART=m
 # CONFIG_MMC_TEST is not set
 # CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
+# https://lists.fedoraproject.org/pipermail/kernel/2014-February/004889.html
+CONFIG_MMC_UNSAFE_RESUME=y
 # CONFIG_MMC_CLKGATE is not set
 CONFIG_MMC_BLOCK=m
 CONFIG_MMC_BLOCK_MINORS=8
@@ -148,6 +149,7 @@ CONFIG_MMC_REALTEK_PCI=m
 CONFIG_MMC_VUB300=m
 # CONFIG_MMC_SDHCI_PXAV2 is not set
 # CONFIG_MMC_SDHCI_PXAV3 is not set
+# CONFIG_MMC_SDHCI_OF_ARASAN is not set
 
 
 CONFIG_CB710_CORE=m
@@ -182,6 +184,7 @@ CONFIG_INFINIBAND_NES=m
 CONFIG_INFINIBAND_QIB=m
 CONFIG_INFINIBAND_QIB_DCA=y
 # CONFIG_INFINIBAND_OCRDMA is not set
+# CONFIG_INFINIBAND_USNIC is not set
 
 #
 # Executable file formats
@@ -196,7 +199,6 @@ CONFIG_BINFMT_MISC=m
 # Device Drivers
 #
 
-# CONFIG_COMMON_CLK_DEBUG is not set
 # CONFIG_COMMON_CLK_SI5351 is not set
 
 #
@@ -313,6 +315,8 @@ CONFIG_BLK_DEV=y
 CONFIG_BLK_DEV_NULL_BLK=m
 CONFIG_BLK_DEV_FD=m
 # CONFIG_PARIDE is not set
+CONFIG_ZRAM=m
+# CONFIG_ZRAM_DEBUG is not set
 
 CONFIG_BLK_CPQ_DA=m
 CONFIG_BLK_CPQ_CISS_DA=m
@@ -665,7 +669,7 @@ CONFIG_FIREWIRE_SBP2=m
 CONFIG_FIREWIRE_NET=m
 CONFIG_FIREWIRE_OHCI_DEBUG=y
 CONFIG_FIREWIRE_NOSY=m
-CONFIG_FIREWIRE_SERIAL=m
+# CONFIG_FIREWIRE_SERIAL is not set
 # CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
 
 #
@@ -857,6 +861,7 @@ CONFIG_NETFILTER_XT_TARGET_TPROXY=m
 
 CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
 CONFIG_NETFILTER_XT_MATCH_BPF=m
+CONFIG_NETFILTER_XT_MATCH_CGROUP=m
 CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
 CONFIG_NETFILTER_XT_MATCH_COMMENT=m
 CONFIG_NETFILTER_XT_MATCH_CPU=m
@@ -873,8 +878,10 @@ CONFIG_NETFILTER_XT_MATCH_ESP=m
 CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
 CONFIG_NETFILTER_XT_MATCH_HELPER=m
 CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
 CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
 CONFIG_NETFILTER_XT_MATCH_IPVS=m
+CONFIG_NETFILTER_XT_MATCH_L2TP=m
 CONFIG_NETFILTER_XT_MATCH_LENGTH=m
 CONFIG_NETFILTER_XT_MATCH_LIMIT=m
 CONFIG_NETFILTER_XT_MATCH_MAC=m
@@ -988,6 +995,7 @@ CONFIG_IP6_NF_TARGET_MASQUERADE=m
 
 # nf_tables support
 CONFIG_NF_TABLES=m
+CONFIG_NF_TABLES_INET=m
 CONFIG_NFT_EXTHDR=m
 CONFIG_NFT_META=m
 CONFIG_NFT_CT=m
@@ -997,6 +1005,8 @@ CONFIG_NFT_COUNTER=m
 CONFIG_NFT_LOG=m
 CONFIG_NFT_LIMIT=m
 CONFIG_NFT_NAT=m
+CONFIG_NFT_QUEUE=m
+CONFIG_NFT_REJECT=m
 CONFIG_NFT_COMPAT=m
 
 CONFIG_NF_TABLES_IPV4=m
@@ -1137,6 +1147,8 @@ CONFIG_NET_SCH_QFQ=m
 CONFIG_NET_SCH_CODEL=m
 CONFIG_NET_SCH_FQ_CODEL=m
 CONFIG_NET_SCH_FQ=m
+CONFIG_NET_SCH_HHF=m
+CONFIG_NET_SCH_PIE=m
 CONFIG_NET_SCH_PLUG=m
 CONFIG_NET_CLS=y
 CONFIG_NET_CLS_ACT=y
@@ -1186,7 +1198,6 @@ CONFIG_OPENVSWITCH=m
 CONFIG_OPENVSWITCH_GRE=y
 CONFIG_OPENVSWITCH_VXLAN=y
 CONFIG_VSOCKETS=m
-CONFIG_NETPRIO_CGROUP=m
 
 
 #
@@ -1374,6 +1385,10 @@ CONFIG_IXGBE_DCB=y
 CONFIG_IXGBE_HWMON=y
 CONFIG_IXGBE_PTP=y
 CONFIG_I40E=m
+# CONFIG_I40E_VXLAN is not set
+# CONFIG_I40E_DCB is not set
+# CONFIG_I40EVF is not set
+
 
 # CONFIG_NET_VENDOR_I825XX is not set
 CONFIG_NET_VENDOR_MARVELL=y
@@ -1620,6 +1635,9 @@ CONFIG_ATH9K_HTC=m
 CONFIG_ATH9K_BTCOEX_SUPPORT=y
 # CONFIG_ATH9K_HTC_DEBUGFS is not set
 # CONFIG_ATH9K_LEGACY_RATE_CONTROL is not set
+# CONFIG_ATH9K_STATION_STATISTICS is not set
+# CONFIG_ATH9K_WOW is not set
+# 
 CONFIG_ATH10K=m
 CONFIG_ATH10K_PCI=m
 # CONFIG_ATH10K_DEBUG is not set
@@ -1737,6 +1755,7 @@ CONFIG_RT73USB=m
 CONFIG_RTL8180=m
 CONFIG_RTL8187=m
 # CONFIG_USB_ZD1201 is not set
+# CONFIG_USB_NET_SR9800 is not set
 CONFIG_USB_NET_RNDIS_WLAN=m
 CONFIG_USB_NET_KALMIA=m
 CONFIG_USB_NET_QMI_WWAN=m
@@ -1814,6 +1833,8 @@ CONFIG_NFC_HCI=m
 CONFIG_NFC_SHDLC=y
 CONFIG_NFC_LLCP=y
 CONFIG_NFC_SIM=m
+CONFIG_NFC_MRVL=m
+CONFIG_NFC_MRVL_USB=m
 
 #
 # Near Field Communication (NFC) devices
@@ -2312,7 +2333,12 @@ CONFIG_I2C=m
 CONFIG_I2C_COMPAT=y
 CONFIG_I2C_CHARDEV=m
 # CONFIG_I2C_MUX is not set
+# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
 # CONFIG_I2C_MUX_PCA954x is not set
+# CONFIG_I2C_MUX_GPIO is not set
+# CONFIG_I2C_MUX_PCA9541 is not set
+# CONFIG_I2C_MUX_PINCTRL is not set
+#
 
 #
 # I2C Algorithms
@@ -2352,6 +2378,7 @@ CONFIG_I2C_NFORCE2=m
 # CONFIG_I2C_OCORES is not set
 CONFIG_I2C_PARPORT=m
 CONFIG_I2C_PARPORT_LIGHT=m
+# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
 CONFIG_I2C_PASEMI=m
 CONFIG_I2C_PCA_PLATFORM=m
 # CONFIG_I2C_PIIX4 is not set
@@ -2536,6 +2563,7 @@ CONFIG_HID_SENSOR_ENUM_BASE_QUIRKS=y
 # CONFIG_MCP4725 is not set
 # CONFIG_ITG3200 is not set
 # CONFIG_APDS9300 is not set
+# CONFIG_CM32181 is not set
 # CONFIG_CM36651 is not set
 # CONFIG_GP2AP020A00F is not set
 # CONFIG_TSL2583 is not set
@@ -2550,6 +2578,7 @@ CONFIG_HID_SENSOR_ENUM_BASE_QUIRKS=y
 CONFIG_IIO_ST_GYRO_3AXIS=m
 CONFIG_IIO_ST_MAGN_3AXIS=m
 CONFIG_IIO_ST_ACCEL_3AXIS=m
+CONFIG_HID_SENSOR_INCLINOMETER_3D=m
 # CONFIG_ADJD_S311 is not set
 # CONFIG_SENSORS_TSL2563 is not set
 # CONFIG_VCNL4000 is not set
@@ -2587,6 +2616,8 @@ CONFIG_IIO_ST_ACCEL_3AXIS=m
 # CONFIG_ADXRS450 is not set
 # CONFIG_ADIS16400 is not set
 # CONFIG_ADIS16480 is not set
+# CONFIG_DHT11 is not set
+# CONFIG_MPL3115 is not set
 
 # staging IIO drivers
 # CONFIG_AD7291 is not set
@@ -2718,6 +2749,7 @@ CONFIG_WM831X_WATCHDOG=m
 # CONFIG_DW_WATCHDOG is not set
 CONFIG_W83697UG_WDT=m
 # CONFIG_MEN_A21_WDT is not set
+# CONFIG_GPIO_WATCHDOG is not set
 
 CONFIG_HW_RANDOM=y
 CONFIG_HW_RANDOM_TIMERIOMEM=m
@@ -2781,6 +2813,7 @@ CONFIG_RTC_DRV_DS3232=m
 CONFIG_RTC_DRV_ISL12022=m
 # CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
 # CONFIG_RTC_DRV_MOXART is not set
+# CONFIG_RTC_DRV_ISL12057 is not set
 
 CONFIG_R3964=m
 # CONFIG_APPLICOM is not set
@@ -2824,6 +2857,7 @@ CONFIG_DRM_I915=m
 CONFIG_DRM_I915_KMS=y
 CONFIG_DRM_I915_FBDEV=y
 # CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT is not set
+# CONFIG_DRM_I915_UMS is not set
 CONFIG_DRM_VIA=m
 CONFIG_DRM_NOUVEAU=m
 CONFIG_NOUVEAU_DEBUG=5
@@ -2838,6 +2872,7 @@ CONFIG_DRM_UDL=m
 CONFIG_DRM_VMWGFX=m
 CONFIG_DRM_VMWGFX_FBCON=y
 CONFIG_DRM_QXL=m
+CONFIG_DRM_BOCHS=m
 
 #
 # PCMCIA character devices
@@ -2871,6 +2906,10 @@ CONFIG_VIDEO_V4L2=y
 # CONFIG_VIDEO_V4L2_INT_DEVICE is not set
 CONFIG_VIDEO_V4L2_SUBDEV_API=y
 # CONFIG_VIDEO_VIVI is not set
+# CONFIG_USB_SI4713 is not set
+# CONFIG_PLATFORM_SI4713 is not set
+# CONFIG_I2C_SI4713 is not set
+# CONFIG_USB_RAREMONO is not set
 
 #
 # Video For Linux
@@ -2904,6 +2943,7 @@ CONFIG_VIDEO_CX88_BLACKBIRD=m
 CONFIG_VIDEO_CX88_ENABLE_VP3054=y
 CONFIG_VIDEO_CX88_VP3054=m
 CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_V4L2=m
 CONFIG_VIDEO_EM28XX_ALSA=m
 CONFIG_VIDEO_EM28XX_DVB=m
 CONFIG_VIDEO_EM28XX_RC=y
@@ -3195,6 +3235,7 @@ CONFIG_FB_EFI=y
 # CONFIG_FB_BROADSHEET is not set
 # CONFIG_FB_UDL is not set
 # CONFIG_FB_GOLDFISH is not set
+# CONFIG_FB_OPENCORES is not set
 
 # CONFIG_FIRMWARE_EDID is not set
 
@@ -3419,6 +3460,7 @@ CONFIG_USB_EHCI_TT_NEWSCHED=y
 CONFIG_USB_ISP1362_HCD=m
 CONFIG_USB_FUSBH200_HCD=m
 # CONFIG_USB_FOTG210_HCD is not set
+# CONFIG_USB_GR_UDC is not set
 CONFIG_USB_OHCI_HCD=y
 CONFIG_USB_OHCI_HCD_PCI=y
 # CONFIG_USB_OHCI_HCD_SSB is not set
@@ -3735,6 +3777,7 @@ CONFIG_USB_SERIAL_MOS7715_PARPORT=y
 # CONFIG_USB_SERIAL_ZTE is not set
 CONFIG_USB_SERIAL_MOS7840=m
 CONFIG_USB_SERIAL_MOTOROLA=m
+# CONFIG_USB_SERIAL_MXUPORT is not set
 CONFIG_USB_SERIAL_NAVMAN=m
 CONFIG_USB_SERIAL_OPTION=m
 CONFIG_USB_SERIAL_OTI6858=m
@@ -3778,6 +3821,7 @@ CONFIG_USB_APPLEDISPLAY=m
 
 # Physical Layer USB driver
 CONFIG_USB_PHY=y
+# CONFIG_USB_OTG_FSM is not set
 
 # CONFIG_GENERIC_PHY is not set
 # CONFIG_PHY_EXYNOS_MIPI_VIDEO is not set
@@ -3789,6 +3833,7 @@ CONFIG_USB_PHY=y
 # CONFIG_SAMSUNG_USBPHY is not set
 # CONFIG_SAMSUNG_USB2PHY is not set
 # CONFIG_SAMSUNG_USB3PHY is not set
+# CONFIG_BCM_KONA_USB2_PHY is not set
 CONFIG_USB_RCAR_PHY=m
 CONFIG_USB_ATM=m
 CONFIG_USB_CXACRU=m
@@ -3909,6 +3954,7 @@ CONFIG_MFD_VIPERBOARD=m
 # CONFIG_MFD_TPS65912 is not set
 # CONFIG_MFD_SYSCON is not set
 # CONFIG_MFD_DA9063 is not set
+# CONFIG_MFD_LP3943 is not set
 
 #
 # File systems
@@ -3961,6 +4007,7 @@ CONFIG_CEPH_FS=m
 CONFIG_CEPH_FSCACHE=y
 CONFIG_BLK_DEV_RBD=m
 CONFIG_CEPH_LIB=m
+CONFIG_CEPH_FS_POSIX_ACL=y
 # CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
 
 CONFIG_FSCACHE=m
@@ -4269,6 +4316,7 @@ CONFIG_LOCKUP_DETECTOR=y
 # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
 # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
 # CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_TIMEOUT=0
 CONFIG_ATOMIC64_SELFTEST=y
 CONFIG_MEMORY_FAILURE=y
 CONFIG_HWPOISON_INJECT=m
@@ -4479,6 +4527,8 @@ CONFIG_MEMCG_SWAP_ENABLED=y
 CONFIG_MEMCG_KMEM=y
 # CONFIG_CGROUP_HUGETLB is not set
 CONFIG_CGROUP_PERF=y
+CONFIG_CGROUP_NET_PRIO=m
+# CONFIG_CGROUP_NET_CLASSID is not set
 CONFIG_BLK_CGROUP=y
 
 # CONFIG_SYSFS_DEPRECATED is not set
@@ -4501,6 +4551,7 @@ CONFIG_THERMAL_GOV_FAIR_SHARE=y
 # CONFIG_THERMAL_GOV_USER_SPACE is not set
 CONFIG_THERMAL_GOV_STEP_WISE=y
 # CONFIG_THERMAL_EMULATION is not set
+# CONFIG_THERMAL_OF is not set
 # CONFIG_CPU_THERMAL is not set
 
 CONFIG_INOTIFY=y
@@ -4762,6 +4813,7 @@ CONFIG_NOZOMI=m
 CONFIG_INPUT_APANEL=m
 CONFIG_INPUT_GP2A=m
 # CONFIG_INPUT_GPIO_TILT_POLLED is not set
+# CONFIG_INPUT_GPIO_BEEPER is not set
 
 # CONFIG_INTEL_MENLOW is not set
 CONFIG_ENCLOSURE_SERVICES=m
@@ -4841,6 +4893,9 @@ CONFIG_STAGING_MEDIA=y
 # CONFIG_TI_ST is not set
 # CONFIG_FB_XGI is not set
 # CONFIG_VIDEO_GO7007 is not set
+# CONFIG_I2C_BCM2048 is not set
+# CONFIG_VIDEO_TCM825X is not set
+# CONFIG_VIDEO_OMAP4 is not set
 # CONFIG_USB_MSI3101 is not set
 # CONFIG_DT3155 is not set
 # CONFIG_W35UND is not set
@@ -4868,10 +4923,10 @@ CONFIG_RTL8192E=m
 # CONFIG_VIDEO_CX25821 is not set
 # CONFIG_R8187SE is not set
 # CONFIG_R8188EU is not set
+# CONFIG_R8821AE is not set
 # CONFIG_RTL8192U is not set
 # CONFIG_FB_SM7XX is not set
 # CONFIG_SPECTRA is not set
-# CONFIG_ZRAM is not set
 # CONFIG_EASYCAP is not set
 # CONFIG_SOLO6X10 is not set
 # CONFIG_ACPI_QUICKSTART is not set
@@ -4896,7 +4951,6 @@ CONFIG_ALTERA_STAPL=m
 # CONFIG_RTS5139 is not set
 # CONFIG_NVEC_LEDS is not set
 # CONFIG_VT6655 is not set
-# CONFIG_ZSMALLOC is not set
 # CONFIG_RAMSTER is not set
 # CONFIG_USB_WPAN_HCD is not set
 # CONFIG_WIMAX_GDM72XX is not set 
@@ -4913,6 +4967,7 @@ CONFIG_ALTERA_STAPL=m
 # CONFIG_XILLYBUS is not set
 # CONFIG_DGAP is not set
 # CONFIG_DGNC is not set
+# CONFIG_RTS5208 is not set
 # END OF STAGING
 
 #
@@ -4988,6 +5043,8 @@ CONFIG_PTP_1588_CLOCK_PCH=m
 CONFIG_CLEANCACHE=y
 CONFIG_FRONTSWAP=y
 CONFIG_ZSWAP=y
+CONFIG_ZSMALLOC=y
+# CONFIG_PGTABLE_MAPPING is not set
 
 # CONFIG_MDIO_GPIO is not set
 # CONFIG_KEYBOARD_GPIO is not set
@@ -5027,16 +5084,17 @@ CONFIG_GPIO_VIPERBOARD=m
 # CONFIG_GPIO_GRGPIO is not set
 # CONFIG_GPIO_PL061 is not set
 # CONFIG_GPIO_BCM_KONA is not set
+# CONFIG_GPIO_SCH311X is not set
 
 # FIXME: Why?
 CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
 
 CONFIG_TEST_KSTRTOX=y
 CONFIG_XZ_DEC=y
-# CONFIG_XZ_DEC_X86 is not set
-# CONFIG_XZ_DEC_POWERPC is not set
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
 # CONFIG_XZ_DEC_IA64 is not set
-# CONFIG_XZ_DEC_ARM is not set
+CONFIG_XZ_DEC_ARM=y
 # CONFIG_XZ_DEC_ARMTHUMB is not set
 # CONFIG_XZ_DEC_SPARC is not set
 # CONFIG_XZ_DEC_TEST is not set
@@ -5059,6 +5117,8 @@ CONFIG_PSTORE_RAM=m
 # CONFIG_PSTORE_CONSOLE is not set
 # CONFIG_PSTORE_FTRACE is not set
 
+# CONFIG_TEST_MODULE is not set
+# CONFIG_TEST_USER_COPY is not set
 
 # CONFIG_AVERAGE is not set
 # CONFIG_VMXNET3 is not set
@@ -5090,10 +5150,14 @@ CONFIG_FMC_TRIVIAL=m
 CONFIG_FMC_WRITE_EEPROM=m
 CONFIG_FMC_CHARDEV=m
 
+# CONFIG_GENWQE is not set
+
 # CONFIG_POWERCAP is not set
 
 # CONFIG_HSI is not set
 
+# CONFIG_CPU_IDLE is not set
+
 # CONFIG_ARM_ARCH_TIMER_EVTSTREAM is not set
 
 # CONFIG_PM_DEVFREQ is not set
diff --git a/config-nodebug b/config-nodebug
index f9f4309..ee4842b 100644
--- a/config-nodebug
+++ b/config-nodebug
@@ -26,8 +26,6 @@ CONFIG_CPUMASK_OFFSTACK=y
 # CONFIG_FAIL_IO_TIMEOUT is not set
 # CONFIG_FAIL_MMC_REQUEST is not set
 
-# CONFIG_SLUB_DEBUG_ON is not set
-
 # CONFIG_LOCK_STAT is not set
 
 # CONFIG_DEBUG_STACK_USAGE is not set
diff --git a/config-powerpc-generic b/config-powerpc-generic
index a2f0dcf..9c0ad60 100644
--- a/config-powerpc-generic
+++ b/config-powerpc-generic
@@ -321,6 +321,7 @@ CONFIG_SERIAL_GRLIB_GAISLER_APBUART=m
 
 # CONFIG_PPC_MPC512x is not set
 # CONFIG_RTC_DRV_MPC5121 is not set
+# CONFIG_RTC_DRV_HYM8563 is not set
 
 # CONFIG_MPC512X_DMA is not set
 
@@ -360,7 +361,7 @@ CONFIG_RCU_FANOUT_LEAF=16
 # CONFIG_SPAPR_TCE_IOMMU is not set
 # CONFIG_TRANSPARENT_HUGEPAGE is not set
 
-# CONFIG_PPC_DENORMALISATION is not set
+CONFIG_PPC_DENORMALISATION=y
 # CONFIG_MDIO_BUS_MUX_MMIOREG is not set
 # CONFIG_GPIO_ADNP is not set
 # CONFIG_MFD_SYSCON is not set
diff --git a/config-powerpc64 b/config-powerpc64
index 4cefd1a..4b8ba84 100644
--- a/config-powerpc64
+++ b/config-powerpc64
@@ -89,6 +89,8 @@ CONFIG_NR_CPUS=1024
 CONFIG_RTAS_PROC=y
 CONFIG_IOMMU_VMERGE=y
 CONFIG_NUMA=y
+CONFIG_NUMA_BALANCING=y
+CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
 CONFIG_PPC_64K_PAGES=y
 CONFIG_PPC_SUBPAGE_PROT=y
 CONFIG_SCHED_SMT=y
@@ -99,6 +101,8 @@ CONFIG_HZ_100=y
 
 CONFIG_MEMORY_HOTREMOVE=y
 
+CONFIG_PPC64_SUPPORTS_MEMORY_FAILURE=y
+
 CONFIG_CGROUP_HUGETLB=y
 
 # CONFIG_MV643XX_ETH is not set
@@ -159,7 +163,8 @@ CONFIG_PSERIES_ENERGY=m
 
 CONFIG_CPU_IDLE=y
 # CONFIG_CPU_IDLE_GOV_LADDER is not set
-CONFIG_PSERIES_IDLE=y
+CONFIG_PSERIES_CPUIDLE=y
+CONFIG_POWERNV_CPUIDLE=y
 
 CONFIG_PPC_ICSWX=y
 CONFIG_IO_EVENT_IRQ=y
diff --git a/config-powerpc64p7 b/config-powerpc64p7
index 8ff0117..4fe09ee 100644
--- a/config-powerpc64p7
+++ b/config-powerpc64p7
@@ -80,6 +80,8 @@ CONFIG_NR_CPUS=1024
 CONFIG_RTAS_PROC=y
 CONFIG_IOMMU_VMERGE=y
 CONFIG_NUMA=y
+CONFIG_NUMA_BALANCING=y
+CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
 CONFIG_PPC_64K_PAGES=y
 CONFIG_PPC_SUBPAGE_PROT=y
 CONFIG_SCHED_SMT=y
@@ -90,6 +92,8 @@ CONFIG_HZ_100=y
 
 CONFIG_MEMORY_HOTREMOVE=y
 
+CONFIG_PPC64_SUPPORTS_MEMORY_FAILURE=y
+
 CONFIG_CGROUP_HUGETLB=y
 
 # CONFIG_MV643XX_ETH is not set
@@ -150,7 +154,8 @@ CONFIG_PSERIES_ENERGY=m
 
 CONFIG_CPU_IDLE=y
 # CONFIG_CPU_IDLE_GOV_LADDER is not set
-CONFIG_PSERIES_IDLE=y
+CONFIG_PSERIES_CPUIDLE=y
+CONFIG_POWERNV_CPUIDLE=y
 
 CONFIG_PPC_ICSWX=y
 CONFIG_IO_EVENT_IRQ=y
diff --git a/config-x86-32-generic b/config-x86-32-generic
index f3c11b3..21fe6fe 100644
--- a/config-x86-32-generic
+++ b/config-x86-32-generic
@@ -224,8 +224,13 @@ CONFIG_BACKLIGHT_PWM=m
 # CONFIG_GPIO_ADNP is not set
 # CONFIG_BACKLIGHT_OT200 is not set
 # CONFIG_RTC_DRV_SNVS is not set
+# CONFIG_RTC_DRV_HYM8563 is not set
 # CONFIG_OF_DISPLAY_TIMING is not set
 # CONFIG_OF_VIDEOMODE is not set
 
 # CONFIG_MLX5_INFINIBAND is not set
 # CONFIG_PINCTRL_SINGLE is not set
+# CONFIG_PINCTRL_CAPRI is not set
+# CONFIG_PINCTRL_MSM8X74 is not set
+# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_QCOM is not set
diff --git a/config-x86-generic b/config-x86-generic
index 3d42bbc..f6b3fa8 100644
--- a/config-x86-generic
+++ b/config-x86-generic
@@ -41,6 +41,7 @@ CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
 CONFIG_EFI_PCDP=y
 CONFIG_FB_EFI=y
 CONFIG_EARLY_PRINTK_EFI=y
+CONFIG_EFI_RUNTIME_MAP=y
 # needs FB_SIMPLE to work correctly
 # CONFIG_X86_SYSFB is not set
 
@@ -114,6 +115,9 @@ CONFIG_NVRAM=y
 CONFIG_CRYPTO_DEV_PADLOCK=m
 CONFIG_CRYPTO_DEV_PADLOCK_AES=m
 CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
+CONFIG_CRYPTO_DEV_CCP=y
+CONFIG_CRYPTO_DEV_CCP_DD=m
+CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
 
 CONFIG_GENERIC_ISA_DMA=y
 
@@ -200,6 +204,7 @@ CONFIG_COMPAL_LAPTOP=m
 CONFIG_DELL_LAPTOP=m
 CONFIG_CHROME_PLATFORMS=y
 CONFIG_CHROMEOS_LAPTOP=m
+CONFIG_CHROMEOS_PSTORE=m
 CONFIG_EEEPC_LAPTOP=m
 CONFIG_FUJITSU_TABLET=m
 CONFIG_FUJITSU_LAPTOP=m
@@ -216,6 +221,7 @@ CONFIG_ACER_WMI=m
 CONFIG_ACERHDF=m
 CONFIG_ASUS_WMI=m
 CONFIG_ASUS_NB_WMI=m
+CONFIG_HP_WIRELESS=m
 CONFIG_HP_WMI=m
 # CONFIG_INTEL_SCU_IPC is not set
 CONFIG_DELL_WMI=m
@@ -410,6 +416,7 @@ CONFIG_HP_ACCEL=m
 
 CONFIG_SCHED_SMT=y
 CONFIG_CC_STACKPROTECTOR=y
+CONFIG_CC_STACKPROTECTOR_STRONG=y
 CONFIG_RELOCATABLE=y
 
 CONFIG_HYPERV=m
@@ -446,6 +453,7 @@ CONFIG_PINCTRL_BAYTRAIL=y
 
 # CONFIG_INTEL_POWERCLAMP is not set
 CONFIG_X86_PKG_TEMP_THERMAL=m
+CONFIG_ACPI_INT3403_THERMAL=m
 
 CONFIG_VMWARE_VMCI=m
 CONFIG_VMWARE_VMCI_VSOCKETS=m
diff --git a/config-x86_64-generic b/config-x86_64-generic
index 9588c1b..02883b8 100644
--- a/config-x86_64-generic
+++ b/config-x86_64-generic
@@ -37,6 +37,7 @@ CONFIG_SWIOTLB=y
 # CONFIG_GART_IOMMU is not set
 
 CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
 CONFIG_CGROUP_HUGETLB=y
 CONFIG_MEM_SOFT_DIRTY=y
 
@@ -93,8 +94,8 @@ CONFIG_HAVE_MEMORY_PRESENT=y
 CONFIG_SPARSEMEM_EXTREME=y
 CONFIG_SPARSEMEM_VMEMMAP=y
 # CONFIG_MOVABLE_NODE is not set
-# CONFIG_ARCH_MEMORY_PROBE is not set
 CONFIG_MEMORY_HOTPLUG=y
+# CONFIG_ARCH_MEMORY_PROBE is not set
 # CONFIG_MEMORY_HOTREMOVE is not set
 
 # CONFIG_BLK_DEV_CMD640 is not set
@@ -117,6 +118,7 @@ CONFIG_XEN_DEV_EVTCHN=m
 CONFIG_XEN_SYS_HYPERVISOR=y
 # CONFIG_XEN_MCE_LOG is not set
 # CONFIG_XEN_STUB is not set
+# CONFIG_XEN_PVH is not set
 
 CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
 
diff --git a/drm-fix-qxl-mode-flags-backport.patch b/drm-fix-qxl-mode-flags-backport.patch
new file mode 100644
index 0000000..e8885ff
--- /dev/null
+++ b/drm-fix-qxl-mode-flags-backport.patch
@@ -0,0 +1,119 @@
+Bugzilla: 1060327
+Upstream-status: Queued for 3.16
+
+diff -up linux-3.14.2-200.fc20.i686/drivers/gpu/drm/drm_crtc_helper.c.dma linux-3.14.2-200.fc20.i686/drivers/gpu/drm/drm_crtc_helper.c
+--- linux-3.14.2-200.fc20.i686/drivers/gpu/drm/drm_crtc_helper.c.dma	2014-03-31 13:40:15.000000000 +1000
++++ linux-3.14.2-200.fc20.i686/drivers/gpu/drm/drm_crtc_helper.c	2014-05-01 10:27:07.410210002 +1000
+@@ -120,8 +120,8 @@ static void drm_mode_validate_flag(struc
+  * RETURNS:
+  * Number of modes found on @connector.
+  */
+-int drm_helper_probe_single_connector_modes(struct drm_connector *connector,
+-					    uint32_t maxX, uint32_t maxY)
++static int drm_helper_probe_single_connector_modes_merge_bits(struct drm_connector *connector,
++					    uint32_t maxX, uint32_t maxY, bool merge_type_bits)
+ {
+ 	struct drm_device *dev = connector->dev;
+ 	struct drm_display_mode *mode;
+@@ -173,7 +173,7 @@ int drm_helper_probe_single_connector_mo
+ 	if (count == 0)
+ 		goto prune;
+ 
+-	drm_mode_connector_list_update(connector);
++	drm_mode_connector_list_update(connector, merge_type_bits);
+ 
+ 	if (maxX && maxY)
+ 		drm_mode_validate_size(dev, &connector->modes, maxX,
+@@ -213,8 +213,21 @@ prune:
+ 
+ 	return count;
+ }
++
++int drm_helper_probe_single_connector_modes(struct drm_connector *connector,
++					    uint32_t maxX, uint32_t maxY)
++{
++	return drm_helper_probe_single_connector_modes_merge_bits(connector, maxX, maxY, true);
++}
+ EXPORT_SYMBOL(drm_helper_probe_single_connector_modes);
+ 
++int drm_helper_probe_single_connector_modes_nomerge(struct drm_connector *connector,
++						    uint32_t maxX, uint32_t maxY)
++{
++	return drm_helper_probe_single_connector_modes_merge_bits(connector, maxX, maxY, false);
++}
++EXPORT_SYMBOL(drm_helper_probe_single_connector_modes_nomerge);
++
+ /**
+  * drm_helper_encoder_in_use - check if a given encoder is in use
+  * @encoder: encoder to check
+diff -up linux-3.14.2-200.fc20.i686/drivers/gpu/drm/drm_modes.c.dma linux-3.14.2-200.fc20.i686/drivers/gpu/drm/drm_modes.c
+--- linux-3.14.2-200.fc20.i686/drivers/gpu/drm/drm_modes.c.dma	2014-03-31 13:40:15.000000000 +1000
++++ linux-3.14.2-200.fc20.i686/drivers/gpu/drm/drm_modes.c	2014-05-01 10:27:59.015207267 +1000
+@@ -1025,7 +1025,7 @@ EXPORT_SYMBOL(drm_mode_sort);
+  * list and only adds different modes. All modes unverified after this point
+  * will be removed by the prune invalid modes.
+  */
+-void drm_mode_connector_list_update(struct drm_connector *connector)
++void drm_mode_connector_list_update(struct drm_connector *connector, bool merge_type_bits)
+ {
+ 	struct drm_display_mode *mode;
+ 	struct drm_display_mode *pmode, *pt;
+@@ -1041,7 +1041,10 @@ void drm_mode_connector_list_update(stru
+ 				/* if equal delete the probed mode */
+ 				mode->status = pmode->status;
+ 				/* Merge type bits together */
+-				mode->type |= pmode->type;
++				if (merge_type_bits)
++					mode->type |= pmode->type;
++				else
++					mode->type = pmode->type;
+ 				list_del(&pmode->head);
+ 				drm_mode_destroy(connector->dev, pmode);
+ 				break;
+diff -up linux-3.14.2-200.fc20.i686/drivers/gpu/drm/qxl/qxl_display.c.dma linux-3.14.2-200.fc20.i686/drivers/gpu/drm/qxl/qxl_display.c
+--- linux-3.14.2-200.fc20.i686/drivers/gpu/drm/qxl/qxl_display.c.dma	2014-03-31 13:40:15.000000000 +1000
++++ linux-3.14.2-200.fc20.i686/drivers/gpu/drm/qxl/qxl_display.c	2014-05-01 10:27:07.411210001 +1000
+@@ -841,7 +841,7 @@ static const struct drm_connector_funcs
+ 	.save = qxl_conn_save,
+ 	.restore = qxl_conn_restore,
+ 	.detect = qxl_conn_detect,
+-	.fill_modes = drm_helper_probe_single_connector_modes,
++	.fill_modes = drm_helper_probe_single_connector_modes_nomerge,
+ 	.set_property = qxl_conn_set_property,
+ 	.destroy = qxl_conn_destroy,
+ };
+diff -up linux-3.14.2-200.fc20.i686/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c.dma linux-3.14.2-200.fc20.i686/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
+--- linux-3.14.2-200.fc20.i686/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c.dma	2014-03-31 13:40:15.000000000 +1000
++++ linux-3.14.2-200.fc20.i686/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c	2014-05-01 10:27:07.411210001 +1000
+@@ -2003,7 +2003,7 @@ int vmw_du_connector_fill_modes(struct d
+ 	if (du->pref_mode)
+ 		list_move(&du->pref_mode->head, &connector->probed_modes);
+ 
+-	drm_mode_connector_list_update(connector);
++	drm_mode_connector_list_update(connector, true);
+ 
+ 	return 1;
+ }
+diff -up linux-3.14.2-200.fc20.i686/include/drm/drm_crtc.h.dma linux-3.14.2-200.fc20.i686/include/drm/drm_crtc.h
+--- linux-3.14.2-200.fc20.i686/include/drm/drm_crtc.h.dma	2014-03-31 13:40:15.000000000 +1000
++++ linux-3.14.2-200.fc20.i686/include/drm/drm_crtc.h	2014-05-01 10:27:07.412210001 +1000
+@@ -1033,7 +1033,7 @@ extern int drm_mode_hsync(const struct d
+ extern int drm_mode_vrefresh(const struct drm_display_mode *mode);
+ extern void drm_mode_set_crtcinfo(struct drm_display_mode *p,
+ 				  int adjust_flags);
+-extern void drm_mode_connector_list_update(struct drm_connector *connector);
++extern void drm_mode_connector_list_update(struct drm_connector *connector, bool merge_type_bits);
+ extern int drm_mode_connector_update_edid_property(struct drm_connector *connector,
+ 						struct edid *edid);
+ extern int drm_object_property_set_value(struct drm_mode_object *obj,
+diff -up linux-3.14.2-200.fc20.i686/include/drm/drm_crtc_helper.h.dma linux-3.14.2-200.fc20.i686/include/drm/drm_crtc_helper.h
+--- linux-3.14.2-200.fc20.i686/include/drm/drm_crtc_helper.h.dma	2014-03-31 13:40:15.000000000 +1000
++++ linux-3.14.2-200.fc20.i686/include/drm/drm_crtc_helper.h	2014-05-01 10:27:07.412210001 +1000
+@@ -126,6 +126,7 @@ struct drm_connector_helper_funcs {
+ };
+ 
+ extern int drm_helper_probe_single_connector_modes(struct drm_connector *connector, uint32_t maxX, uint32_t maxY);
++extern int drm_helper_probe_single_connector_modes_nomerge(struct drm_connector *connector, uint32_t maxX, uint32_t maxY);
+ extern void drm_helper_disable_unused_functions(struct drm_device *dev);
+ extern int drm_crtc_helper_set_config(struct drm_mode_set *set);
+ extern bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
diff --git a/fanotify-fix-EOVERFLOW-on-64-bit.patch b/fanotify-fix-EOVERFLOW-on-64-bit.patch
new file mode 100644
index 0000000..11ba4e1
--- /dev/null
+++ b/fanotify-fix-EOVERFLOW-on-64-bit.patch
@@ -0,0 +1,32 @@
+Bugzilla: 696821
+Upstream-status: Sent http://marc.info/?l=linux-kernel&m=139835974112096&w=2
+
+On 64-bit systems, O_LARGEFILE is automatically added to flags inside
+the open() syscall (also openat(), blkdev_open(), etc).
+Userspace therefore defines O_LARGEFILE to be 0 - you can use it,
+but it's a no-op. Everything should be O_LARGEFILE by default.
+
+But: when fanotify does create_fd() it uses dentry_open(), which skips
+all that. And userspace can't set O_LARGEFILE in fanotify_init() because
+it's defined to 0. So if fanotify gets an event regarding a large file,
+the read() will just fail with -EOVERFLOW.
+
+This patch adds O_LARGEFILE to fanotify_init()'s event_f_flags on 64-bit
+systems, using the same test as open()/openat()/etc.
+
+Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=696821
+
+Acked-by: Eric Paris <eparis at redhat.com>
+Signed-off-by: Will Woods <wwoods at redhat.com>
+
+--- linux-3.14.1-200.fc20.x86_64/fs/notify/fanotify/fanotify_user.c.orig	2014-04-23 18:15:29.347644932 -0400
++++ linux-3.14.1-200.fc20.x86_64/fs/notify/fanotify/fanotify_user.c	2014-04-23 18:17:44.249438484 -0400
+@@ -742,6 +742,8 @@
+ 	oevent->path.mnt = NULL;
+ 	oevent->path.dentry = NULL;
+ 
++	if (force_o_largefile())
++		event_f_flags |= O_LARGEFILE;
+ 	group->fanotify_data.f_flags = event_f_flags;
+ #ifdef CONFIG_FANOTIFY_ACCESS_PERMISSIONS
+ 	oevent->response = 0;
diff --git a/kernel.spec b/kernel.spec
index 6f6f56c..8050f9c 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -68,13 +68,13 @@ Summary: The Linux kernel
 # base_sublevel is the kernel version we're starting with and patching
 # on top of -- for example, 3.1-rc7-git1 starts with a 3.0 base,
 # which yields a base_sublevel of 0.
-%define base_sublevel 13
+%define base_sublevel 14
 
 ## If this is a released kernel ##
 %if 0%{?released_kernel}
 
 # Do we have a -stable update to apply?
-%define stable_update 11
+%define stable_update 3
 # Is it a -stable RC?
 %define stable_rc 0
 # Set rpm version accordingly
@@ -691,15 +691,14 @@ Patch21010: arm-omap-load-tfp410.patch
 # ARM tegra
 Patch21020: arm-tegra-usb-no-reset-linux33.patch
 
+# Add panel support for tegra paz00
+# Backported from linux-next scheduled for 3.15
+Patch21021: arm-tegra-paz00-panel-dts.patch
+
 # ARM i.MX6
 # http://www.spinics.net/lists/devicetree/msg08276.html
 Patch21025: arm-imx6-utilite.patch
 
-# am33xx (BeagleBone)
-# https://github.com/beagleboard/kernel
-# Pulled primarily from the above git repo and should be landing upstream
-Patch21031: arm-am33xx-bblack.patch
-
 #rhbz 754518
 Patch21235: scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch
 
@@ -713,61 +712,27 @@ Patch22000: weird-root-dentry-name-debug.patch
 
 Patch25047: drm-radeon-Disable-writeback-by-default-on-ppc.patch
 
-# Fix 15sec NFS mount delay
-Patch25152: sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch
-Patch25153: sunrpc-replace-gssd_running-with-more-reliable-check.patch
-Patch25154: nfs-check-gssd-running-before-krb5i-auth.patch
-#rhbz 1037793
-Patch25166: sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch
-Patch25167: rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch
-Patch25168: rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch
-
-#rhbz 953211
-Patch25184: Input-ALPS-add-support-for-Dolphin-devices.patch
-
-#rhbz 1064430 1056711
-Patch25196: ipv6-introduce-IFA_F_NOPREFIXROUTE-and-IFA_F_MANAGETEMPADDR-flags.patch
-Patch25197: ipv6-addrconf-revert-if_inet6ifa_flag-format.patch
-
-#CVE-2014-0069 rhbz 1064253 1062584
-Patch25201: cifs-sanity-check-length-of-data-to-send-before-sending.patch
-
-#rhbz 1068862
-Patch25002: cifs-mask-off-top-byte-in-get_rfc1002_length.patch
-
-#CVE-2014-0102 rhbz 1071396
-Patch25026: keyring-fix.patch
-
-#rhbz 1027465
-Patch25032: HID-Bluetooth-hidp-make-sure-input-buffers-are-big-e.patch
-
-#rhbz 1013466
-Patch25033: selinux-put-the-mmap-DAC-controls-before-the-MAC-controls.patch
-
 #rhbz 1051748
 Patch25035: Bluetooth-allocate-static-minor-for-vhci.patch
 
-#rhbz 1065663
-Patch25040: iwlwifi-dvm-clear-IWL_STA_UCODE_INPROGRESS-when-asso.patch
-
 #rhbz 1046495
 Patch25044: iwlwifi-dvm-take-mutex-when-sending-SYNC-BT-config-command.patch
 
-#CVE-2014-2568 rhbz 1079012 1079013
-Patch25049: nfqueue-Orphan-frags-in-nfqnl_zcopy-and-handle-error.patch
+#CVE-2014-0155 rhbz 1081589 1085016
+Patch25036: KVM-ioapic-fix-assignment-of-ioapic-rtc_status-pending_eoi.patch
 
 #rhbz 1074235
 Patch25055: lib-percpu_counter.c-fix-bad-percpu-counter-state-du.patch
 
-#CVE-2014-0155 rhbz 1081589 1085016
-Patch25057: KVM-ioapic-fix-assignment-of-ioapic-rtc_status-pending_eoi.patch
-
 #CVE-2014-2851 rhbz 1086730 1087420
 Patch25059: net-ipv4-current-group_info-should-be-put-after-using.patch
 
-#rhbz 1085582 1085697
+#rhbz 1085582 1085697 1088588
 Patch25060: 0001-synaptics-Add-min-max-quirk-for-ThinkPad-T431s-L440-.patch
 
+#rhbz 1074710
+Patch25061: mm-page_alloc.c-change-mm-debug-routines-back-to-EXP.patch
+
 #rhbz 1071914
 Patch25063: USB-serial-ftdi_sio-add-id-for-Brainboxes-serial-car.patch
 
@@ -780,11 +745,53 @@ Patch25064: 0001-HID-rmi-do-not-handle-touchscreens-through-hid-rmi.patch
 #rhbz 1090161
 Patch25072: HID-rmi-do-not-fetch-more-than-16-bytes-in-a-query.patch
 
+#rhbz 1013466
+Patch25065: selinux-put-the-mmap-DAC-controls-before-the-MAC-controls.patch
+
 #rhbz 1089689
-Patch25065: 0001-synaptics-Add-min-max-quirk-for-ThinkPad-Edge-E431.patch
+Patch25066: 0001-synaptics-Add-min-max-quirk-for-ThinkPad-Edge-E431.patch
+
+#rhbz 1090746
+Patch25067: ACPICA-Tables-Fix-bad-pointer-issue-in-acpi_tb_parse_root_table.patch
+
+#rhbz 696821
+Patch25068: fanotify-fix-EOVERFLOW-on-64-bit.patch
+
+#rhbz 983342 1093120
+Patch25070: 0001-acpi-video-Add-4-new-models-to-the-use_native_backli.patch
+
+#rhbz 1060327
+Patch25071: drm-fix-qxl-mode-flags-backport.patch
+
+#rhbz 1093931
+Patch25073: net-Start-with-correct-mac_len-in-skb_network_protoc.patch
+
+#rhbz 1089545
+Patch25074: 0001-acpi-video-Add-use_native_backlight-quirks-for-Think.patch
 
-#CVE-2014-3122 rhbz 1093076 1093084
-Patch25069: mm-try_to_unmap_cluster-should-lock_page-before-mloc.patch
+#rhbz 1082586
+Patch25075: locks-allow-__break_lease-to-sleep-even-when-break_t.patch
+
+#CVE-2014-0196 rhbz 1094232 1094240
+Patch25076: n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch
+
+#misc input fixes
+Patch25077: 0001-hid-quirks-Add-NO_INIT_REPORTS-quirk-for-Synaptics-T.patch
+Patch25078: 0002-elantech-Fix-elantech-on-Gigabyte-U2442.patch
+
+#rhbz 861573
+Patch25079: 0003-samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch
+
+#rhbz 1067181
+Patch25080: 0004-acpi-blacklist-Add-dmi_enable_osi_linux-quirk-for-As.patch
+
+#CVE-2014-0181 rhbz 1094270 1094265
+Patch25081: net-Fix-ns_capable-check-in-sock_diag_put_filterinfo.patch
+Patch25082: 1-5-netlink-Rename-netlink_capable-netlink_allowed.patch
+Patch25083: 2-5-net-Move-the-permission-check-in-sock_diag_put_filterinfo-to-packet_diag_dump.patch
+Patch25084: 3-5-net-Add-variants-of-capable-for-use-on-on-sockets.patch
+Patch25085: 4-5-net-Add-variants-of-capable-for-use-on-netlink-messages.patch
+Patch25086: 5-5-net-Use-netlink_ns_capable-to-verify-the-permisions-of-netlink-messages.patch
 
 # END OF PATCH DEFINITIONS
 
@@ -1335,9 +1342,9 @@ ApplyPatch arm-lpae-ax88796.patch
 ApplyPatch arm-sound-soc-samsung-dma-avoid-another-64bit-division.patch
 ApplyPatch arm-omap-load-tfp410.patch
 ApplyPatch arm-tegra-usb-no-reset-linux33.patch
+ApplyPatch arm-tegra-paz00-panel-dts.patch
 ApplyPatch arm-imx6-utilite.patch
 
-ApplyPatch arm-am33xx-bblack.patch
 
 #
 # bugfixes to drivers and filesystems
@@ -1402,8 +1409,6 @@ ApplyPatch crash-driver.patch
 
 # crypto/
 
-# keys
-
 # secure boot
 ApplyPatch secure-modules.patch
 ApplyPatch modsign-uefi.patch
@@ -1445,52 +1450,12 @@ ApplyPatch ath9k_rx_dma_stop_check.patch
 
 ApplyPatch drm-radeon-Disable-writeback-by-default-on-ppc.patch
 
-# Fix 15sec NFS mount delay
-ApplyPatch sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch
-ApplyPatch sunrpc-replace-gssd_running-with-more-reliable-check.patch
-ApplyPatch nfs-check-gssd-running-before-krb5i-auth.patch
-#rhbz 1037793
-ApplyPatch rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch
-ApplyPatch sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch
-ApplyPatch rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch
-
-#rhbz 953211
-ApplyPatch Input-ALPS-add-support-for-Dolphin-devices.patch
-
-#rhbz 1064430 1056711
-ApplyPatch ipv6-introduce-IFA_F_NOPREFIXROUTE-and-IFA_F_MANAGETEMPADDR-flags.patch
-ApplyPatch ipv6-addrconf-revert-if_inet6ifa_flag-format.patch
-
-#CVE-2014-0069 rhbz 1064253 1062584
-ApplyPatch cifs-sanity-check-length-of-data-to-send-before-sending.patch
-
-#rhbz 1068862
-ApplyPatch cifs-mask-off-top-byte-in-get_rfc1002_length.patch
-
-#CVE-2014-0102 rhbz 1071396
-ApplyPatch keyring-fix.patch
-
-#rhbz 1027465
-ApplyPatch HID-Bluetooth-hidp-make-sure-input-buffers-are-big-e.patch
-
-#rhbz 1013466
-ApplyPatch selinux-put-the-mmap-DAC-controls-before-the-MAC-controls.patch
-
 #rhbz 1051748
 ApplyPatch Bluetooth-allocate-static-minor-for-vhci.patch
 
-#rhbz 1065663
-ApplyPatch iwlwifi-dvm-clear-IWL_STA_UCODE_INPROGRESS-when-asso.patch
-
 #rhbz 1046495
 ApplyPatch iwlwifi-dvm-take-mutex-when-sending-SYNC-BT-config-command.patch
 
-#CVE-2014-2568 rhbz 1079012 1079013
-ApplyPatch nfqueue-Orphan-frags-in-nfqnl_zcopy-and-handle-error.patch
-
-#rhbz 1074235
-ApplyPatch lib-percpu_counter.c-fix-bad-percpu-counter-state-du.patch
-
 #CVE-2014-0155 rhbz 1081589 1085016
 ApplyPatch KVM-ioapic-fix-assignment-of-ioapic-rtc_status-pending_eoi.patch
 
@@ -1501,20 +1466,69 @@ ApplyPatch 0001-HID-rmi-do-not-handle-touchscreens-through-hid-rmi.patch
 #rhbz 1090161
 ApplyPatch HID-rmi-do-not-fetch-more-than-16-bytes-in-a-query.patch
 
+#rhbz 1074235
+ApplyPatch lib-percpu_counter.c-fix-bad-percpu-counter-state-du.patch
+
 #CVE-2014-2851 rhbz 1086730 1087420
 ApplyPatch net-ipv4-current-group_info-should-be-put-after-using.patch
 
 #rhbz 1085582 1085697
 ApplyPatch 0001-synaptics-Add-min-max-quirk-for-ThinkPad-T431s-L440-.patch
 
+#rhbz 1074710
+ApplyPatch mm-page_alloc.c-change-mm-debug-routines-back-to-EXP.patch
+
 #rhbz 1071914
 ApplyPatch USB-serial-ftdi_sio-add-id-for-Brainboxes-serial-car.patch
 
+#rhbz 1013466
+ApplyPatch selinux-put-the-mmap-DAC-controls-before-the-MAC-controls.patch
+
 #rhbz 1089689
 ApplyPatch 0001-synaptics-Add-min-max-quirk-for-ThinkPad-Edge-E431.patch
 
-#CVE-2014-3122 rhbz 1093076 1093084
-ApplyPatch mm-try_to_unmap_cluster-should-lock_page-before-mloc.patch
+#rhbz 1090746
+ApplyPatch ACPICA-Tables-Fix-bad-pointer-issue-in-acpi_tb_parse_root_table.patch
+
+#rhbz 696821
+ApplyPatch fanotify-fix-EOVERFLOW-on-64-bit.patch
+
+#rhbz 983342 1093120
+ApplyPatch 0001-acpi-video-Add-4-new-models-to-the-use_native_backli.patch
+
+#rhbz 1060327
+ApplyPatch drm-fix-qxl-mode-flags-backport.patch
+
+#rhbz 1093931
+ApplyPatch net-Start-with-correct-mac_len-in-skb_network_protoc.patch
+
+#rhbz 1089545
+ApplyPatch 0001-acpi-video-Add-use_native_backlight-quirks-for-Think.patch
+
+#rhbz 1082586
+ApplyPatch locks-allow-__break_lease-to-sleep-even-when-break_t.patch
+
+#CVE-2014-0196 rhbz 1094232 1094240
+ApplyPatch n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch
+
+#misc input fixes
+ApplyPatch 0001-hid-quirks-Add-NO_INIT_REPORTS-quirk-for-Synaptics-T.patch
+ApplyPatch 0002-elantech-Fix-elantech-on-Gigabyte-U2442.patch
+
+#rhbz 861573
+ApplyPatch 0003-samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch
+
+#rhbz 1067181
+ApplyPatch 0004-acpi-blacklist-Add-dmi_enable_osi_linux-quirk-for-As.patch
+
+#CVE-2014-0181 rhbz 1094270 1094265
+ApplyPatch net-Fix-ns_capable-check-in-sock_diag_put_filterinfo.patch
+ApplyPatch 1-5-netlink-Rename-netlink_capable-netlink_allowed.patch
+ApplyPatch 2-5-net-Move-the-permission-check-in-sock_diag_put_filterinfo-to-packet_diag_dump.patch
+ApplyPatch 3-5-net-Add-variants-of-capable-for-use-on-on-sockets.patch
+ApplyPatch 4-5-net-Add-variants-of-capable-for-use-on-netlink-messages.patch
+ApplyPatch 5-5-net-Use-netlink_ns_capable-to-verify-the-permisions-of-netlink-messages.patch
+
 
 # END OF PATCH APPLICATIONS
 
@@ -2025,7 +2039,7 @@ find $RPM_BUILD_ROOT/usr/include \
 
 %if %{with_perf}
 # perf tool binary and supporting scripts/binaries
-%{perf_make} DESTDIR=$RPM_BUILD_ROOT install
+%{perf_make} DESTDIR=$RPM_BUILD_ROOT install-bin
 # remove the 'trace' symlink.
 rm -f %{buildroot}%{_bindir}/trace
 
@@ -2033,7 +2047,7 @@ rm -f %{buildroot}%{_bindir}/trace
 %{perf_make} DESTDIR=$RPM_BUILD_ROOT install-python_ext
 
 # perf man pages (note: implicit rpm magic compresses them later)
-%{perf_make} DESTDIR=$RPM_BUILD_ROOT install-man || %{doc_build_fail}
+%{perf_make} DESTDIR=$RPM_BUILD_ROOT try-install-man || %{doc_build_fail}
 %endif
 
 %if %{with_tools}
@@ -2328,6 +2342,9 @@ fi
 # and build.
 
 %changelog
+* Thu May 08 2014 Justin M. Forbes <jforbes at fedoraproject.org> - 3.14.3-100
+- Linux v3.14.3
+
 * Sat May 03 2014 Josh Boyer <jwboyer at fedoraproject.org>
 - Add patch to fix HID rmi driver from Benjamin Tissoires (rhbz 1090161)
 
diff --git a/locks-allow-__break_lease-to-sleep-even-when-break_t.patch b/locks-allow-__break_lease-to-sleep-even-when-break_t.patch
new file mode 100644
index 0000000..ee893f0
--- /dev/null
+++ b/locks-allow-__break_lease-to-sleep-even-when-break_t.patch
@@ -0,0 +1,50 @@
+Bugzilla: 1082586
+Upstream-status: 3.15 and sent for stable
+
+From f1c6bb2cb8b81013e8979806f8e15e3d53efb96d Mon Sep 17 00:00:00 2001
+From: Jeff Layton <jlayton at redhat.com>
+Date: Tue, 15 Apr 2014 06:17:49 -0400
+Subject: [PATCH] locks: allow __break_lease to sleep even when break_time is 0
+
+A fl->fl_break_time of 0 has a special meaning to the lease break code
+that basically means "never break the lease". knfsd uses this to ensure
+that leases don't disappear out from under it.
+
+Unfortunately, the code in __break_lease can end up passing this value
+to wait_event_interruptible as a timeout, which prevents it from going
+to sleep at all. This makes __break_lease to spin in a tight loop and
+causes soft lockups.
+
+Fix this by ensuring that we pass a minimum value of 1 as a timeout
+instead.
+
+Cc: <stable at vger.kernel.org>
+Cc: J. Bruce Fields <bfields at fieldses.org>
+Reported-by: Terry Barnaby <terry1 at beam.ltd.uk>
+Signed-off-by: Jeff Layton <jlayton at redhat.com>
+---
+ fs/locks.c | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/fs/locks.c b/fs/locks.c
+index 13fc7a6d380a..b380f5543614 100644
+--- a/fs/locks.c
++++ b/fs/locks.c
+@@ -1391,11 +1391,10 @@ int __break_lease(struct inode *inode, unsigned int mode, unsigned int type)
+ 
+ restart:
+ 	break_time = flock->fl_break_time;
+-	if (break_time != 0) {
++	if (break_time != 0)
+ 		break_time -= jiffies;
+-		if (break_time == 0)
+-			break_time++;
+-	}
++	if (break_time == 0)
++		break_time++;
+ 	locks_insert_block(flock, new_fl);
+ 	spin_unlock(&inode->i_lock);
+ 	error = wait_event_interruptible_timeout(new_fl->fl_wait,
+-- 
+1.9.0
+
diff --git a/mm-page_alloc.c-change-mm-debug-routines-back-to-EXP.patch b/mm-page_alloc.c-change-mm-debug-routines-back-to-EXP.patch
new file mode 100644
index 0000000..c0144ba
--- /dev/null
+++ b/mm-page_alloc.c-change-mm-debug-routines-back-to-EXP.patch
@@ -0,0 +1,61 @@
+Bugzilla: 1074710
+Upstream-status: 3.15
+
+From ed12d845b5f528cc0846023862b9c448a36122ec Mon Sep 17 00:00:00 2001
+From: John Hubbard <jhubbard at nvidia.com>
+Date: Mon, 7 Apr 2014 15:37:59 -0700
+Subject: [PATCH] mm/page_alloc.c: change mm debug routines back to
+ EXPORT_SYMBOL
+
+A new dump_page() routine was recently added, and marked
+EXPORT_SYMBOL_GPL.  dump_page() was also added to the VM_BUG_ON_PAGE()
+macro, and so the end result is that non-GPL code can no longer call
+get_page() and a few other routines.
+
+This only happens if the kernel was compiled with CONFIG_DEBUG_VM.
+
+Change dump_page() to be EXPORT_SYMBOL.
+
+Longer explanation:
+
+Prior to commit 309381feaee5 ("mm: dump page when hitting a VM_BUG_ON
+using VM_BUG_ON_PAGE") , it was possible to build MIT-licensed (non-GPL)
+drivers on Fedora.  Fedora is semi-unique, in that it sets
+CONFIG_VM_DEBUG.
+
+Because Fedora sets CONFIG_VM_DEBUG, they end up pulling in dump_page(),
+via VM_BUG_ON_PAGE, via get_page().  As one of the authors of NVIDIA's
+new, open source, "UVM-Lite" kernel module, I originally choose to use
+the kernel's get_page() routine from within nvidia_uvm_page_cache.c,
+because get_page() has always seemed to be very clearly intended for use
+by non-GPL, driver code.
+
+So I'm hoping that making get_page() widely accessible again will not be
+too controversial.  We did check with Fedora first, and they responded
+(https://bugzilla.redhat.com/show_bug.cgi?id=1074710#c3) that we should
+try to get upstream changed, before asking Fedora to change.  Their
+reasoning seems beneficial to Linux: leaving CONFIG_DEBUG_VM set allows
+Fedora to help catch mm bugs.
+
+Signed-off-by: John Hubbard <jhubbard at nvidia.com>
+Cc: Sasha Levin <sasha.levin at oracle.com>
+Cc: Josh Boyer <jwboyer at redhat.com>
+Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
+---
+ mm/page_alloc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mm/page_alloc.c b/mm/page_alloc.c
+index 48427a7cfb45..5dba2933c9c0 100644
+--- a/mm/page_alloc.c
++++ b/mm/page_alloc.c
+@@ -6568,4 +6568,4 @@ void dump_page(struct page *page, const char *reason)
+ {
+ 	dump_page_badflags(page, reason, 0);
+ }
+-EXPORT_SYMBOL_GPL(dump_page);
++EXPORT_SYMBOL(dump_page);
+-- 
+1.9.0
+
diff --git a/n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch b/n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch
new file mode 100644
index 0000000..d5f980c
--- /dev/null
+++ b/n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch
@@ -0,0 +1,86 @@
+Bugzilla: 1094240
+Upstream-status: 3.15 and CC'd to stable
+
+From 4291086b1f081b869c6d79e5b7441633dc3ace00 Mon Sep 17 00:00:00 2001
+From: Peter Hurley <peter at hurleysoftware.com>
+Date: Sat, 3 May 2014 14:04:59 +0200
+Subject: [PATCH] n_tty: Fix n_tty_write crash when echoing in raw mode
+
+The tty atomic_write_lock does not provide an exclusion guarantee for
+the tty driver if the termios settings are LECHO & !OPOST.  And since
+it is unexpected and not allowed to call TTY buffer helpers like
+tty_insert_flip_string concurrently, this may lead to crashes when
+concurrect writers call pty_write. In that case the following two
+writers:
+* the ECHOing from a workqueue and
+* pty_write from the process
+race and can overflow the corresponding TTY buffer like follows.
+
+If we look into tty_insert_flip_string_fixed_flag, there is:
+  int space = __tty_buffer_request_room(port, goal, flags);
+  struct tty_buffer *tb = port->buf.tail;
+  ...
+  memcpy(char_buf_ptr(tb, tb->used), chars, space);
+  ...
+  tb->used += space;
+
+so the race of the two can result in something like this:
+              A                                B
+__tty_buffer_request_room
+                                  __tty_buffer_request_room
+memcpy(buf(tb->used), ...)
+tb->used += space;
+                                  memcpy(buf(tb->used), ...) ->BOOM
+
+B's memcpy is past the tty_buffer due to the previous A's tb->used
+increment.
+
+Since the N_TTY line discipline input processing can output
+concurrently with a tty write, obtain the N_TTY ldisc output_lock to
+serialize echo output with normal tty writes.  This ensures the tty
+buffer helper tty_insert_flip_string is not called concurrently and
+everything is fine.
+
+Note that this is nicely reproducible by an ordinary user using
+forkpty and some setup around that (raw termios + ECHO). And it is
+present in kernels at least after commit
+d945cb9cce20ac7143c2de8d88b187f62db99bdc (pty: Rework the pty layer to
+use the normal buffering logic) in 2.6.31-rc3.
+
+js: add more info to the commit log
+js: switch to bool
+js: lock unconditionally
+js: lock only the tty->ops->write call
+
+References: CVE-2014-0196
+Reported-and-tested-by: Jiri Slaby <jslaby at suse.cz>
+Signed-off-by: Peter Hurley <peter at hurleysoftware.com>
+Signed-off-by: Jiri Slaby <jslaby at suse.cz>
+Cc: Linus Torvalds <torvalds at linux-foundation.org>
+Cc: Alan Cox <alan at lxorguk.ukuu.org.uk>
+Cc: <stable at vger.kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
+---
+ drivers/tty/n_tty.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c
+index 41fe8a047d37..fe9d129c8735 100644
+--- a/drivers/tty/n_tty.c
++++ b/drivers/tty/n_tty.c
+@@ -2353,8 +2353,12 @@ static ssize_t n_tty_write(struct tty_struct *tty, struct file *file,
+ 			if (tty->ops->flush_chars)
+ 				tty->ops->flush_chars(tty);
+ 		} else {
++			struct n_tty_data *ldata = tty->disc_data;
++
+ 			while (nr > 0) {
++				mutex_lock(&ldata->output_lock);
+ 				c = tty->ops->write(tty, b, nr);
++				mutex_unlock(&ldata->output_lock);
+ 				if (c < 0) {
+ 					retval = c;
+ 					goto break_out;
+-- 
+1.9.0
+
diff --git a/net-Fix-ns_capable-check-in-sock_diag_put_filterinfo.patch b/net-Fix-ns_capable-check-in-sock_diag_put_filterinfo.patch
new file mode 100644
index 0000000..9e4abdb
--- /dev/null
+++ b/net-Fix-ns_capable-check-in-sock_diag_put_filterinfo.patch
@@ -0,0 +1,72 @@
+Bugzilla: 1094270
+Upstream-status: 3.15 and queued for stable
+
+From 3b72ed3ca18b9f55fc90f55a52c32b22b3a2837e Mon Sep 17 00:00:00 2001
+From: Andrew Lutomirski <luto at amacapital.net>
+Date: Wed, 16 Apr 2014 21:41:34 -0700
+Subject: [PATCH 1/6] net: Fix ns_capable check in sock_diag_put_filterinfo
+
+The caller needs capabilities on the namespace being queried, not on
+their own namespace.  This is a security bug, although it likely has
+only a minor impact.
+
+Cc: stable at vger.kernel.org
+Signed-off-by: Andy Lutomirski <luto at amacapital.net>
+Acked-by: Nicolas Dichtel <nicolas.dichtel at 6wind.com>
+---
+ include/linux/sock_diag.h | 2 +-
+ net/core/sock_diag.c      | 4 ++--
+ net/packet/diag.c         | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/include/linux/sock_diag.h b/include/linux/sock_diag.h
+index 54f91d35e5fd..302ab805b0bb 100644
+--- a/include/linux/sock_diag.h
++++ b/include/linux/sock_diag.h
+@@ -23,7 +23,7 @@ int sock_diag_check_cookie(void *sk, __u32 *cookie);
+ void sock_diag_save_cookie(void *sk, __u32 *cookie);
+ 
+ int sock_diag_put_meminfo(struct sock *sk, struct sk_buff *skb, int attr);
+-int sock_diag_put_filterinfo(struct user_namespace *user_ns, struct sock *sk,
++int sock_diag_put_filterinfo(struct sock *sk,
+ 			     struct sk_buff *skb, int attrtype);
+ 
+ #endif
+diff --git a/net/core/sock_diag.c b/net/core/sock_diag.c
+index a0e9cf6379de..6a7fae228634 100644
+--- a/net/core/sock_diag.c
++++ b/net/core/sock_diag.c
+@@ -49,7 +49,7 @@ int sock_diag_put_meminfo(struct sock *sk, struct sk_buff *skb, int attrtype)
+ }
+ EXPORT_SYMBOL_GPL(sock_diag_put_meminfo);
+ 
+-int sock_diag_put_filterinfo(struct user_namespace *user_ns, struct sock *sk,
++int sock_diag_put_filterinfo(struct sock *sk,
+ 			     struct sk_buff *skb, int attrtype)
+ {
+ 	struct nlattr *attr;
+@@ -57,7 +57,7 @@ int sock_diag_put_filterinfo(struct user_namespace *user_ns, struct sock *sk,
+ 	unsigned int len;
+ 	int err = 0;
+ 
+-	if (!ns_capable(user_ns, CAP_NET_ADMIN)) {
++	if (!ns_capable(sock_net(sk)->user_ns, CAP_NET_ADMIN)) {
+ 		nla_reserve(skb, attrtype, 0);
+ 		return 0;
+ 	}
+diff --git a/net/packet/diag.c b/net/packet/diag.c
+index 533ce4ff108a..435ff99ba8c7 100644
+--- a/net/packet/diag.c
++++ b/net/packet/diag.c
+@@ -172,7 +172,7 @@ static int sk_diag_fill(struct sock *sk, struct sk_buff *skb,
+ 		goto out_nlmsg_trim;
+ 
+ 	if ((req->pdiag_show & PACKET_SHOW_FILTER) &&
+-	    sock_diag_put_filterinfo(user_ns, sk, skb, PACKET_DIAG_FILTER))
++	    sock_diag_put_filterinfo(sk, skb, PACKET_DIAG_FILTER))
+ 		goto out_nlmsg_trim;
+ 
+ 	return nlmsg_end(skb, nlh);
+-- 
+1.9.0
+
diff --git a/net-Start-with-correct-mac_len-in-skb_network_protoc.patch b/net-Start-with-correct-mac_len-in-skb_network_protoc.patch
new file mode 100644
index 0000000..fc3262d
--- /dev/null
+++ b/net-Start-with-correct-mac_len-in-skb_network_protoc.patch
@@ -0,0 +1,48 @@
+Bugzilla: 1093931
+Upstream-status: 3.15 and queued for stable (3.14.y only)
+
+From 1e785f48d29a09b6cf96db7b49b6320dada332e1 Mon Sep 17 00:00:00 2001
+From: Vlad Yasevich <vyasevic at redhat.com>
+Date: Mon, 14 Apr 2014 17:37:26 -0400
+Subject: [PATCH] net: Start with correct mac_len in skb_network_protocol
+
+Sometimes, when the packet arrives at skb_mac_gso_segment()
+its skb->mac_len already accounts for some of the mac lenght
+headers in the packet.  This seems to happen when forwarding
+through and OpenSSL tunnel.
+
+When we start looking for any vlan headers in skb_network_protocol()
+we seem to ignore any of the already known mac headers and start
+with an ETH_HLEN.  This results in an incorrect offset, dropped
+TSO frames and general slowness of the connection.
+
+We can start counting from the known skb->mac_len
+and return at least that much if all mac level headers
+are known and accounted for.
+
+Fixes: 53d6471cef17262d3ad1c7ce8982a234244f68ec (net: Account for all vlan headers in skb_mac_gso_segment)
+CC: Eric Dumazet <eric.dumazet at gmail.com>
+CC: Daniel Borkman <dborkman at redhat.com>
+Tested-by: Martin Filip <nexus+kernel at smoula.net>
+Signed-off-by: Vlad Yasevich <vyasevic at redhat.com>
+Signed-off-by: David S. Miller <davem at davemloft.net>
+---
+ net/core/dev.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/net/core/dev.c b/net/core/dev.c
+index 14dac0654f28..5b3042e69f85 100644
+--- a/net/core/dev.c
++++ b/net/core/dev.c
+@@ -2284,7 +2284,7 @@ EXPORT_SYMBOL(skb_checksum_help);
+ __be16 skb_network_protocol(struct sk_buff *skb, int *depth)
+ {
+ 	__be16 type = skb->protocol;
+-	int vlan_depth = ETH_HLEN;
++	int vlan_depth = skb->mac_len;
+ 
+ 	/* Tunnel gso handlers can set protocol to ethernet. */
+ 	if (type == htons(ETH_P_TEB)) {
+-- 
+1.9.0
+
diff --git a/secure-modules.patch b/secure-modules.patch
index 21157c9..86bf9dc 100644
--- a/secure-modules.patch
+++ b/secure-modules.patch
@@ -1,7 +1,7 @@
 Bugzilla: N/A
 Upstream-status: Fedora mustard.  Replaced by securelevels, but that was nak'd
 
-From 0fc411ee00c81b8a18b1417d31f2736fad155d89 Mon Sep 17 00:00:00 2001
+From f212a4d8b8638a3e15e4cd76874d4fab60726752 Mon Sep 17 00:00:00 2001
 From: Matthew Garrett <matthew.garrett at nebula.com>
 Date: Fri, 9 Aug 2013 17:58:15 -0400
 Subject: [PATCH 01/14] Add secure_modules() call
@@ -17,10 +17,10 @@ Signed-off-by: Matthew Garrett <matthew.garrett at nebula.com>
  2 files changed, 17 insertions(+)
 
 diff --git a/include/linux/module.h b/include/linux/module.h
-index 05f2447..de97e77 100644
+index 15cd6b1..30702eb 100644
 --- a/include/linux/module.h
 +++ b/include/linux/module.h
-@@ -515,6 +515,8 @@ int unregister_module_notifier(struct notifier_block * nb);
+@@ -512,6 +512,8 @@ int unregister_module_notifier(struct notifier_block * nb);
  
  extern void print_modules(void);
  
@@ -29,7 +29,7 @@ index 05f2447..de97e77 100644
  #else /* !CONFIG_MODULES... */
  
  /* Given an address, look for it in the exception tables. */
-@@ -625,6 +627,11 @@ static inline int unregister_module_notifier(struct notifier_block * nb)
+@@ -622,6 +624,11 @@ static inline int unregister_module_notifier(struct notifier_block * nb)
  static inline void print_modules(void)
  {
  }
@@ -42,10 +42,10 @@ index 05f2447..de97e77 100644
  
  #ifdef CONFIG_SYSFS
 diff --git a/kernel/module.c b/kernel/module.c
-index dc58274..81206c1 100644
+index f5a3b1e..644c33e 100644
 --- a/kernel/module.c
 +++ b/kernel/module.c
-@@ -3860,3 +3860,13 @@ void module_layout(struct module *mod,
+@@ -3831,3 +3831,13 @@ void module_layout(struct module *mod,
  }
  EXPORT_SYMBOL(module_layout);
  #endif
@@ -60,10 +60,10 @@ index dc58274..81206c1 100644
 +}
 +EXPORT_SYMBOL(secure_modules);
 -- 
-1.8.3.1
+1.8.4.2
 
 
-From b94942e55b519e70366e970cea3665c464d1b7da Mon Sep 17 00:00:00 2001
+From 394a8259d0b457495dddda8704821ec9e56ea44a Mon Sep 17 00:00:00 2001
 From: Matthew Garrett <matthew.garrett at nebula.com>
 Date: Thu, 8 Mar 2012 10:10:38 -0500
 Subject: [PATCH 02/14] PCI: Lock down BAR access when module security is
@@ -83,7 +83,7 @@ Signed-off-by: Matthew Garrett <matthew.garrett at nebula.com>
  3 files changed, 19 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
-index d8eb880..a851ad6 100644
+index c91e6c1..447742e 100644
 --- a/drivers/pci/pci-sysfs.c
 +++ b/drivers/pci/pci-sysfs.c
 @@ -29,6 +29,7 @@
@@ -94,7 +94,7 @@ index d8eb880..a851ad6 100644
  #include "pci.h"
  
  static int sysfs_initialized;	/* = 0 */
-@@ -644,6 +645,9 @@ pci_write_config(struct file* filp, struct kobject *kobj,
+@@ -668,6 +669,9 @@ pci_write_config(struct file* filp, struct kobject *kobj,
  	loff_t init_off = off;
  	u8 *data = (u8*) buf;
  
@@ -104,7 +104,7 @@ index d8eb880..a851ad6 100644
  	if (off > dev->cfg_size)
  		return 0;
  	if (off + count > dev->cfg_size) {
-@@ -950,6 +954,9 @@ pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr,
+@@ -974,6 +978,9 @@ pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr,
  	resource_size_t start, end;
  	int i;
  
@@ -114,7 +114,7 @@ index d8eb880..a851ad6 100644
  	for (i = 0; i < PCI_ROM_RESOURCE; i++)
  		if (res == &pdev->resource[i])
  			break;
-@@ -1057,6 +1064,9 @@ pci_write_resource_io(struct file *filp, struct kobject *kobj,
+@@ -1081,6 +1088,9 @@ pci_write_resource_io(struct file *filp, struct kobject *kobj,
  		      struct bin_attribute *attr, char *buf,
  		      loff_t off, size_t count)
  {
@@ -125,7 +125,7 @@ index d8eb880..a851ad6 100644
  }
  
 diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c
-index cdc7836..e3d498b 100644
+index 46d1378..294fe7b 100644
 --- a/drivers/pci/proc.c
 +++ b/drivers/pci/proc.c
 @@ -117,6 +117,9 @@ proc_bus_pci_write(struct file *file, const char __user *buf, size_t nbytes, lof
@@ -158,7 +158,7 @@ index cdc7836..e3d498b 100644
  
  	/* Make sure the caller is mapping a real resource for this device */
 diff --git a/drivers/pci/syscall.c b/drivers/pci/syscall.c
-index e1c1ec5..bffbf71 100644
+index 24750a1..fa57896 100644
 --- a/drivers/pci/syscall.c
 +++ b/drivers/pci/syscall.c
 @@ -10,6 +10,7 @@
@@ -179,10 +179,10 @@ index e1c1ec5..bffbf71 100644
  
  	dev = pci_get_bus_and_slot(bus, dfn);
 -- 
-1.8.3.1
+1.8.4.2
 
 
-From 36f34509fe52cc49e1b1f6815a3f235040f64a03 Mon Sep 17 00:00:00 2001
+From 69532e626cece8a43c2528246e0421488b468102 Mon Sep 17 00:00:00 2001
 From: Matthew Garrett <matthew.garrett at nebula.com>
 Date: Thu, 8 Mar 2012 10:35:59 -0500
 Subject: [PATCH 03/14] x86: Lock down IO port access when module security is
@@ -252,10 +252,10 @@ index f895a8c..1af8664 100644
  		return -EFAULT;
  	while (count-- > 0 && i < 65536) {
 -- 
-1.8.3.1
+1.8.4.2
 
 
-From 67d9800dcf60467e076587b0aac67bcdc516cfe2 Mon Sep 17 00:00:00 2001
+From 8771ff55273e964d707b174dd0dbe433783c0254 Mon Sep 17 00:00:00 2001
 From: Matthew Garrett <matthew.garrett at nebula.com>
 Date: Fri, 9 Mar 2012 08:39:37 -0500
 Subject: [PATCH 04/14] ACPI: Limit access to custom_method
@@ -284,10 +284,10 @@ index 12b62f2..50647b3 100644
  		/* parse the table header to get the table length */
  		if (count <= sizeof(struct acpi_table_header))
 -- 
-1.8.3.1
+1.8.4.2
 
 
-From bdf3761573167c20c72b151c1088b24fd24869ac Mon Sep 17 00:00:00 2001
+From 7d3e3db90e1b4cf33ba4a46624ae4a68f787e5fc Mon Sep 17 00:00:00 2001
 From: Matthew Garrett <matthew.garrett at nebula.com>
 Date: Fri, 9 Mar 2012 08:46:50 -0500
 Subject: [PATCH 05/14] asus-wmi: Restrict debugfs interface when module
@@ -339,10 +339,10 @@ index 19c313b..db18ef66 100644
  				     1, asus->debug.method_id,
  				     &input, &output);
 -- 
-1.8.3.1
+1.8.4.2
 
 
-From 65d88af5a2c6bb6d01da17819d8ba782bd208837 Mon Sep 17 00:00:00 2001
+From 98ebe083d75333e269730fe374cca42ac7f08a07 Mon Sep 17 00:00:00 2001
 From: Matthew Garrett <matthew.garrett at nebula.com>
 Date: Fri, 9 Mar 2012 09:28:15 -0500
 Subject: [PATCH 06/14] Restrict /dev/mem and /dev/kmem when module loading is
@@ -382,10 +382,10 @@ index 1af8664..61406c8 100644
  		unsigned long to_write = min_t(unsigned long, count,
  					       (unsigned long)high_memory - p);
 -- 
-1.8.3.1
+1.8.4.2
 
 
-From 4aa42b7fa5d7f79eb1d179e728ffa561fd9cf354 Mon Sep 17 00:00:00 2001
+From 71353d491c70b303a07b4e79c896e729a4f74978 Mon Sep 17 00:00:00 2001
 From: Josh Boyer <jwboyer at redhat.com>
 Date: Mon, 25 Jun 2012 19:57:30 -0400
 Subject: [PATCH 07/14] acpi: Ignore acpi_rsdp kernel parameter when module
@@ -401,7 +401,7 @@ Signed-off-by: Josh Boyer <jwboyer at redhat.com>
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
-index e5f416c..9311c00 100644
+index 54a20ff..d21d269 100644
 --- a/drivers/acpi/osl.c
 +++ b/drivers/acpi/osl.c
 @@ -45,6 +45,7 @@
@@ -412,7 +412,7 @@ index e5f416c..9311c00 100644
  
  #include <asm/io.h>
  #include <asm/uaccess.h>
-@@ -249,7 +250,7 @@ early_param("acpi_rsdp", setup_acpi_rsdp);
+@@ -248,7 +249,7 @@ early_param("acpi_rsdp", setup_acpi_rsdp);
  acpi_physical_address __init acpi_os_get_root_pointer(void)
  {
  #ifdef CONFIG_KEXEC
@@ -422,10 +422,10 @@ index e5f416c..9311c00 100644
  #endif
  
 -- 
-1.8.3.1
+1.8.4.2
 
 
-From c9e62c2ce588d98a774a3853e56d95e48b9df98c Mon Sep 17 00:00:00 2001
+From e0a6b0dd91460123d71784d531b9df26449940ae Mon Sep 17 00:00:00 2001
 From: Matthew Garrett <matthew.garrett at nebula.com>
 Date: Fri, 9 Aug 2013 03:33:56 -0400
 Subject: [PATCH 08/14] kexec: Disable at runtime if the kernel enforces module
@@ -441,7 +441,7 @@ Signed-off-by: Matthew Garrett <matthew.garrett at nebula.com>
  1 file changed, 8 insertions(+)
 
 diff --git a/kernel/kexec.c b/kernel/kexec.c
-index 2a74f30..13601e3 100644
+index 9c97016..8ad0d38 100644
 --- a/kernel/kexec.c
 +++ b/kernel/kexec.c
 @@ -32,6 +32,7 @@
@@ -452,7 +452,7 @@ index 2a74f30..13601e3 100644
  
  #include <asm/page.h>
  #include <asm/uaccess.h>
-@@ -943,6 +944,13 @@ SYSCALL_DEFINE4(kexec_load, unsigned long, entry, unsigned long, nr_segments,
+@@ -946,6 +947,13 @@ SYSCALL_DEFINE4(kexec_load, unsigned long, entry, unsigned long, nr_segments,
  		return -EPERM;
  
  	/*
@@ -467,10 +467,10 @@ index 2a74f30..13601e3 100644
  	 * This leaves us room for future extensions.
  	 */
 -- 
-1.8.3.1
+1.8.4.2
 
 
-From d0e3cb2c13dc9634849ddacf75b6f0d94147516a Mon Sep 17 00:00:00 2001
+From c340630e68e5ed4d731d60d05ef9e2ae27080b66 Mon Sep 17 00:00:00 2001
 From: Matthew Garrett <matthew.garrett at nebula.com>
 Date: Tue, 3 Sep 2013 11:23:29 -0400
 Subject: [PATCH 09/14] uswsusp: Disable when module loading is restricted
@@ -485,7 +485,7 @@ Signed-off-by: Matthew Garrett <matthew.garrett at nebula.com>
  1 file changed, 4 insertions(+)
 
 diff --git a/kernel/power/user.c b/kernel/power/user.c
-index 957f061..e570609d 100644
+index 98d3575..efe99de 100644
 --- a/kernel/power/user.c
 +++ b/kernel/power/user.c
 @@ -24,6 +24,7 @@
@@ -507,10 +507,10 @@ index 957f061..e570609d 100644
  
  	if (!atomic_add_unless(&snapshot_device_available, -1, 0)) {
 -- 
-1.8.3.1
+1.8.4.2
 
 
-From b238417ed3c5a0b21bbfcac84f6c70011b8977c0 Mon Sep 17 00:00:00 2001
+From 273deda4ddec360ce67ac256b8cbdabdc5e8c51d Mon Sep 17 00:00:00 2001
 From: Matthew Garrett <matthew.garrett at nebula.com>
 Date: Fri, 8 Feb 2013 11:12:13 -0800
 Subject: [PATCH 10/14] x86: Restrict MSR access when module loading is
@@ -552,10 +552,10 @@ index 05266b5..e2bd647 100644
  			err = -EFAULT;
  			break;
 -- 
-1.8.3.1
+1.8.4.2
 
 
-From c3a9afb3b580b4f721d245fc5d13e378b99b9cd8 Mon Sep 17 00:00:00 2001
+From 089166c0d42f1b82988aad4f23607deb6ee531e7 Mon Sep 17 00:00:00 2001
 From: Matthew Garrett <matthew.garrett at nebula.com>
 Date: Fri, 9 Aug 2013 18:36:30 -0400
 Subject: [PATCH 11/14] Add option to automatically enforce module signatures
@@ -591,10 +591,10 @@ index 199f453..ec38acf 100644
  290/040	ALL	edd_mbr_sig_buffer EDD MBR signatures
  2D0/A00	ALL	e820_map	E820 memory map table
 diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index 725e157..fe212ef 100644
+index 5216e28..2a147a3 100644
 --- a/arch/x86/Kconfig
 +++ b/arch/x86/Kconfig
-@@ -1604,6 +1604,16 @@ config EFI_STUB
+@@ -1582,6 +1582,16 @@ config EFI_STUB
  
  	  See Documentation/efi-stub.txt for more information.
  
@@ -673,10 +673,10 @@ index a7677ba..4e172e9 100644
  
  	setup_efi_pci(boot_params);
 diff --git a/arch/x86/include/uapi/asm/bootparam.h b/arch/x86/include/uapi/asm/bootparam.h
-index 9c3733c..a7ba210 100644
+index 225b098..90dbfb7 100644
 --- a/arch/x86/include/uapi/asm/bootparam.h
 +++ b/arch/x86/include/uapi/asm/bootparam.h
-@@ -131,7 +131,8 @@ struct boot_params {
+@@ -133,7 +133,8 @@ struct boot_params {
  	__u8  eddbuf_entries;				/* 0x1e9 */
  	__u8  edd_mbr_sig_buf_entries;			/* 0x1ea */
  	__u8  kbd_status;				/* 0x1eb */
@@ -687,10 +687,10 @@ index 9c3733c..a7ba210 100644
  	 * The sentinel is set to a nonzero value (0xff) in header.S.
  	 *
 diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index 918d489..fe429c1 100644
+index 182b3f9..ab6cc9e 100644
 --- a/arch/x86/kernel/setup.c
 +++ b/arch/x86/kernel/setup.c
-@@ -1127,6 +1127,12 @@ void __init setup_arch(char **cmdline_p)
+@@ -1129,6 +1129,12 @@ void __init setup_arch(char **cmdline_p)
  
  	io_delay_init();
  
@@ -704,7 +704,7 @@ index 918d489..fe429c1 100644
  	 * Parse the ACPI tables for possible boot-time SMP configuration.
  	 */
 diff --git a/include/linux/module.h b/include/linux/module.h
-index de97e77..d69fe19 100644
+index 30702eb..3eb0f52 100644
 --- a/include/linux/module.h
 +++ b/include/linux/module.h
 @@ -190,6 +190,12 @@ const struct exception_table_entry *search_exception_tables(unsigned long add);
@@ -721,10 +721,10 @@ index de97e77..d69fe19 100644
  
  extern int modules_disabled; /* for sysctl */
 diff --git a/kernel/module.c b/kernel/module.c
-index 81206c1..e1428f0 100644
+index 644c33e..92b73b1 100644
 --- a/kernel/module.c
 +++ b/kernel/module.c
-@@ -3861,6 +3861,13 @@ void module_layout(struct module *mod,
+@@ -3832,6 +3832,13 @@ void module_layout(struct module *mod,
  EXPORT_SYMBOL(module_layout);
  #endif
  
@@ -739,10 +739,10 @@ index 81206c1..e1428f0 100644
  {
  #ifdef CONFIG_MODULE_SIG
 -- 
-1.8.3.1
+1.8.4.2
 
 
-From 27a1aa77c7fbaaae8c6a776190a38dcbf3c3d6d2 Mon Sep 17 00:00:00 2001
+From e9ad6bd405fa01b7dd52d8c75b9dc91ae52e131d Mon Sep 17 00:00:00 2001
 From: Josh Boyer <jwboyer at redhat.com>
 Date: Tue, 5 Feb 2013 19:25:05 -0500
 Subject: [PATCH 12/14] efi: Disable secure boot if shim is in insecure mode
@@ -798,10 +798,10 @@ index 4e172e9..4905f4d 100644
  }
  
 -- 
-1.8.3.1
+1.8.4.2
 
 
-From 2a445ca2c187da4497ef5f68f111574fd2b0d419 Mon Sep 17 00:00:00 2001
+From f9f355d5e58c1503bb7c03d92c9e89267e0f46ad Mon Sep 17 00:00:00 2001
 From: Josh Boyer <jwboyer at fedoraproject.org>
 Date: Tue, 27 Aug 2013 13:28:43 -0400
 Subject: [PATCH 13/14] efi: Make EFI_SECURE_BOOT_SIG_ENFORCE depend on EFI
@@ -815,10 +815,10 @@ Signed-off-by: Josh Boyer <jwboyer at fedoraproject.org>
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index fe212ef..bf83fd3 100644
+index 2a147a3..9e644d5 100644
 --- a/arch/x86/Kconfig
 +++ b/arch/x86/Kconfig
-@@ -1605,7 +1605,8 @@ config EFI_STUB
+@@ -1583,7 +1583,8 @@ config EFI_STUB
  	  See Documentation/efi-stub.txt for more information.
  
  config EFI_SECURE_BOOT_SIG_ENFORCE
@@ -829,10 +829,10 @@ index fe212ef..bf83fd3 100644
  	---help---
  	  UEFI Secure Boot provides a mechanism for ensuring that the
 -- 
-1.8.3.1
+1.8.4.2
 
 
-From b1c533cc1d1ca7a03497cc4f2e1b029bde95633c Mon Sep 17 00:00:00 2001
+From a30576a9db583213474b74360c5869e8882e6ed7 Mon Sep 17 00:00:00 2001
 From: Josh Boyer <jwboyer at fedoraproject.org>
 Date: Tue, 27 Aug 2013 13:33:03 -0400
 Subject: [PATCH 14/14] efi: Add EFI_SECURE_BOOT bit
@@ -847,10 +847,10 @@ Signed-off-by: Josh Boyer <jwboyer at fedoraproject.org>
  2 files changed, 3 insertions(+)
 
 diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index fe429c1..469fbf0 100644
+index ab6cc9e..99933cd 100644
 --- a/arch/x86/kernel/setup.c
 +++ b/arch/x86/kernel/setup.c
-@@ -1129,7 +1129,9 @@ void __init setup_arch(char **cmdline_p)
+@@ -1131,7 +1131,9 @@ void __init setup_arch(char **cmdline_p)
  
  #ifdef CONFIG_EFI_SECURE_BOOT_SIG_ENFORCE
  	if (boot_params.secure_boot) {
@@ -861,17 +861,17 @@ index fe429c1..469fbf0 100644
  #endif
  
 diff --git a/include/linux/efi.h b/include/linux/efi.h
-index bc5687d..b010a2e 100644
+index 0a819e7..0c1d367 100644
 --- a/include/linux/efi.h
 +++ b/include/linux/efi.h
-@@ -653,6 +653,7 @@ extern int __init efi_setup_pcdp_console(char *);
- #define EFI_RUNTIME_SERVICES	3	/* Can we use runtime services? */
+@@ -657,6 +657,7 @@ extern int __init efi_setup_pcdp_console(char *);
  #define EFI_MEMMAP		4	/* Can we use EFI memory map? */
  #define EFI_64BIT		5	/* Is the firmware 64-bit? */
-+#define EFI_SECURE_BOOT		6 /* Are we in Secure Boot mode? */
+ #define EFI_ARCH_1		6	/* First arch-specific bit */
++#define EFI_SECURE_BOOT		7 /* Are we in Secure Boot mode? */
  
  #ifdef CONFIG_EFI
  # ifdef CONFIG_X86
 -- 
-1.8.3.1
+1.8.4.2
 
diff --git a/selinux-put-the-mmap-DAC-controls-before-the-MAC-controls.patch b/selinux-put-the-mmap-DAC-controls-before-the-MAC-controls.patch
index 31e4548..5d9a4ff 100644
--- a/selinux-put-the-mmap-DAC-controls-before-the-MAC-controls.patch
+++ b/selinux-put-the-mmap-DAC-controls-before-the-MAC-controls.patch
@@ -1,5 +1,5 @@
 Bugzilla: 1013466
-Upstream-status: queued for 3.14/3.15? http://marc.info/?l=selinux&m=139351174702148&w=2
+Upstream-status: 3.15 (commit 98883bfd9d603a2760f6d53eccfaa3ae2c053e72)
 
 It turns out that doing the SELinux MAC checks for mmap() before the
 DAC checks was causing users and the SELinux policy folks headaches
diff --git a/sources b/sources
index 9d33592..7665091 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-0ecbaf65c00374eb4a826c2f9f37606f  linux-3.13.tar.xz
-6f12f7b53cb5e7f5fc44dc382246f8db  patch-3.13.11.xz
+b621207b3f6ecbb67db18b13258f8ea8  linux-3.14.tar.xz
+92a784cdb150c798e122ac080dc0f455  patch-3.14.3.xz
diff --git a/sysrq-secure-boot.patch b/sysrq-secure-boot.patch
index b4bb80d..c73e3d2 100644
--- a/sysrq-secure-boot.patch
+++ b/sysrq-secure-boot.patch
@@ -1,20 +1,23 @@
-From 71aac34ed679daa0bf772051eb40412b5bd95da3 Mon Sep 17 00:00:00 2001
+Bugzilla: N/A
+Upstream-status: Fedora mustard
+
+From 29c1f71a2d0845a71ea2ebd2fb33542373dc52dd Mon Sep 17 00:00:00 2001
 From: Kyle McMartin <kyle at redhat.com>
 Date: Fri, 30 Aug 2013 09:28:51 -0400
 Subject: [PATCH] Add sysrq option to disable secure boot mode
 
 ---
- arch/x86/kernel/setup.c     | 35 +++++++++++++++++++++++++++++++++++
+ arch/x86/kernel/setup.c     | 36 ++++++++++++++++++++++++++++++++++++
  drivers/input/misc/uinput.c |  1 +
  drivers/tty/sysrq.c         | 19 +++++++++++++------
  include/linux/input.h       |  5 +++++
  include/linux/sysrq.h       |  8 +++++++-
  kernel/debug/kdb/kdb_main.c |  2 +-
  kernel/module.c             |  4 ++--
- 7 files changed, 64 insertions(+), 10 deletions(-)
+ 7 files changed, 65 insertions(+), 10 deletions(-)
 
 diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index 08dc16e..6971f8e 100644
+index c773add..92c480c 100644
 --- a/arch/x86/kernel/setup.c
 +++ b/arch/x86/kernel/setup.c
 @@ -70,6 +70,11 @@
@@ -29,11 +32,10 @@ index 08dc16e..6971f8e 100644
  #include <video/edid.h>
  
  #include <asm/mtrr.h>
-@@ -1253,3 +1258,33 @@ void __init i386_reserve_resources(void)
- }
+@@ -1275,6 +1280,37 @@ void __init i386_reserve_resources(void)
  
  #endif /* CONFIG_X86_32 */
-+
+ 
 +#ifdef CONFIG_MAGIC_SYSRQ
 +#ifdef CONFIG_MODULE_SIG
 +extern bool sig_enforce;
@@ -63,8 +65,13 @@ index 08dc16e..6971f8e 100644
 +}
 +late_initcall(secure_boot_sysrq);
 +#endif /*CONFIG_MAGIC_SYSRQ*/
++
++
+ static struct notifier_block kernel_offset_notifier = {
+ 	.notifier_call = dump_kernel_offset
+ };
 diff --git a/drivers/input/misc/uinput.c b/drivers/input/misc/uinput.c
-index a0a4bba..3327cc3 100644
+index 7728359..a3e8ba8 100644
 --- a/drivers/input/misc/uinput.c
 +++ b/drivers/input/misc/uinput.c
 @@ -351,6 +351,7 @@ static int uinput_allocate_device(struct uinput_device *udev)
@@ -76,10 +83,10 @@ index a0a4bba..3327cc3 100644
  	input_set_drvdata(udev->dev, udev);
  
 diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c
-index d5cc3ac..05b33f5 100644
+index ce396ec..aee594a 100644
 --- a/drivers/tty/sysrq.c
 +++ b/drivers/tty/sysrq.c
-@@ -461,6 +461,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = {
+@@ -462,6 +462,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = {
  	&sysrq_showstate_blocked_op,	/* w */
  	/* x: May be registered on ppc/powerpc for xmon */
  	/* x: May be registered on sparc64 for global PMU dump */
@@ -87,7 +94,7 @@ index d5cc3ac..05b33f5 100644
  	NULL,				/* x */
  	/* y: May be registered on sparc64 for global register dump */
  	NULL,				/* y */
-@@ -504,7 +505,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p)
+@@ -505,7 +506,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p)
                  sysrq_key_table[i] = op_p;
  }
  
@@ -96,7 +103,7 @@ index d5cc3ac..05b33f5 100644
  {
  	struct sysrq_key_op *op_p;
  	int orig_log_level;
-@@ -524,11 +525,15 @@ void __handle_sysrq(int key, bool check_mask)
+@@ -525,11 +526,15 @@ void __handle_sysrq(int key, bool check_mask)
  
          op_p = __sysrq_get_key_op(key);
          if (op_p) {
@@ -113,7 +120,7 @@ index d5cc3ac..05b33f5 100644
  			printk("%s\n", op_p->action_msg);
  			console_loglevel = orig_log_level;
  			op_p->handler(key);
-@@ -559,7 +564,7 @@ void __handle_sysrq(int key, bool check_mask)
+@@ -560,7 +565,7 @@ void __handle_sysrq(int key, bool check_mask)
  void handle_sysrq(int key)
  {
  	if (sysrq_on())
@@ -122,7 +129,7 @@ index d5cc3ac..05b33f5 100644
  }
  EXPORT_SYMBOL(handle_sysrq);
  
-@@ -639,7 +644,7 @@ static void sysrq_do_reset(unsigned long _state)
+@@ -640,7 +645,7 @@ static void sysrq_do_reset(unsigned long _state)
  static void sysrq_handle_reset_request(struct sysrq_state *state)
  {
  	if (state->reset_requested)
@@ -131,7 +138,7 @@ index d5cc3ac..05b33f5 100644
  
  	if (sysrq_reset_downtime_ms)
  		mod_timer(&state->keyreset_timer,
-@@ -756,8 +761,10 @@ static bool sysrq_handle_keypress(struct sysrq_state *sysrq,
+@@ -791,8 +796,10 @@ static bool sysrq_handle_keypress(struct sysrq_state *sysrq,
  
  	default:
  		if (sysrq->active && value && value != 2) {
@@ -143,7 +150,7 @@ index d5cc3ac..05b33f5 100644
  		}
  		break;
  	}
-@@ -1038,7 +1045,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf,
+@@ -1080,7 +1087,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf,
  
  		if (get_user(c, buf))
  			return -EFAULT;
@@ -183,10 +190,10 @@ index 82ce323..9e534f2 100644
   * Verify that we are in sync with input_device_id mod_devicetable.h #defines
   */
 diff --git a/include/linux/sysrq.h b/include/linux/sysrq.h
-index 7faf933..87ae634 100644
+index 387fa7d..4b07e30 100644
 --- a/include/linux/sysrq.h
 +++ b/include/linux/sysrq.h
-@@ -31,6 +31,8 @@
+@@ -28,6 +28,8 @@
  #define SYSRQ_ENABLE_BOOT	0x0080
  #define SYSRQ_ENABLE_RTNICE	0x0100
  
@@ -195,7 +202,7 @@ index 7faf933..87ae634 100644
  struct sysrq_key_op {
  	void (*handler)(int);
  	char *help_msg;
-@@ -45,8 +47,12 @@ struct sysrq_key_op {
+@@ -42,8 +44,12 @@ struct sysrq_key_op {
   * are available -- else NULL's).
   */
  
@@ -210,10 +217,10 @@ index 7faf933..87ae634 100644
  int unregister_sysrq_key(int key, struct sysrq_key_op *op);
  struct sysrq_key_op *__sysrq_get_key_op(int key);
 diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c
-index 00eb8f7..54fbbcc 100644
+index 0b097c8..18b400d 100644
 --- a/kernel/debug/kdb/kdb_main.c
 +++ b/kernel/debug/kdb/kdb_main.c
-@@ -1921,7 +1921,7 @@ static int kdb_sr(int argc, const char **argv)
+@@ -1924,7 +1924,7 @@ static int kdb_sr(int argc, const char **argv)
  	if (argc != 1)
  		return KDB_ARGCOUNT;
  	kdb_trap_printk++;
@@ -223,7 +230,7 @@ index 00eb8f7..54fbbcc 100644
  
  	return 0;
 diff --git a/kernel/module.c b/kernel/module.c
-index bc7c987..5e4e2c2 100644
+index 92b73b1..a44fb2a 100644
 --- a/kernel/module.c
 +++ b/kernel/module.c
 @@ -109,9 +109,9 @@ struct list_head *kdb_modules = &modules; /* kdb needs the list of modules */
@@ -239,5 +246,5 @@ index bc7c987..5e4e2c2 100644
  static int param_set_bool_enable_only(const char *val,
  				      const struct kernel_param *kp)
 -- 
-1.8.3.1
+1.8.4.2
 


More information about the scm-commits mailing list