Linux v4.1-5596-gaefbef10e3ae
This commit is contained in:
parent
21694f1b76
commit
35eff41288
@ -14,10 +14,10 @@ Signed-off-by: David Howells <dhowells@redhat.com>
|
||||
1 file changed, 20 insertions(+)
|
||||
|
||||
diff --git a/include/linux/efi.h b/include/linux/efi.h
|
||||
index aa4ee20ec8bb..958d1d9a5af8 100644
|
||||
index 13a3a411c65f..1d54caed7ae8 100644
|
||||
--- a/include/linux/efi.h
|
||||
+++ b/include/linux/efi.h
|
||||
@@ -589,6 +589,12 @@ void efi_native_runtime_setup(void);
|
||||
@@ -594,6 +594,12 @@ void efi_native_runtime_setup(void);
|
||||
#define DEVICE_TREE_GUID \
|
||||
EFI_GUID( 0xb1b621d5, 0xf19c, 0x41a5, 0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0 )
|
||||
|
||||
@ -30,7 +30,7 @@ index aa4ee20ec8bb..958d1d9a5af8 100644
|
||||
typedef struct {
|
||||
efi_guid_t guid;
|
||||
u64 table;
|
||||
@@ -804,6 +810,20 @@ typedef struct _efi_file_io_interface {
|
||||
@@ -809,6 +815,20 @@ typedef struct _efi_file_io_interface {
|
||||
|
||||
#define EFI_INVALID_TABLE_ADDR (~0UL)
|
||||
|
||||
|
@ -159,10 +159,10 @@ index 000000000000..424896a0b169
|
||||
+ return 0;
|
||||
+}
|
||||
diff --git a/include/linux/efi.h b/include/linux/efi.h
|
||||
index 958d1d9a5af8..3dd6f4a51b9b 100644
|
||||
index 1d54caed7ae8..1ed1fa0ea172 100644
|
||||
--- a/include/linux/efi.h
|
||||
+++ b/include/linux/efi.h
|
||||
@@ -925,6 +925,10 @@ extern bool efi_poweroff_required(void);
|
||||
@@ -940,6 +940,10 @@ extern bool efi_poweroff_required(void);
|
||||
char * __init efi_md_typeattr_format(char *buf, size_t size,
|
||||
const efi_memory_desc_t *md);
|
||||
|
||||
|
@ -33,7 +33,7 @@ index 82fbdbc1e0b0..a811210ad486 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 226d5696e1d1..6a8f880e213f 100644
|
||||
index 8e0b76ad8350..39645abe44e3 100644
|
||||
--- a/arch/x86/Kconfig
|
||||
+++ b/arch/x86/Kconfig
|
||||
@@ -1697,6 +1697,16 @@ config EFI_MIXED
|
||||
@ -129,10 +129,10 @@ index ab456dc233b5..74ba4083e7ce 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 d74ac33290ae..88dad730e858 100644
|
||||
index d3b95b89e9b2..d3071ca120eb 100644
|
||||
--- a/arch/x86/kernel/setup.c
|
||||
+++ b/arch/x86/kernel/setup.c
|
||||
@@ -1156,6 +1156,12 @@ void __init setup_arch(char **cmdline_p)
|
||||
@@ -1161,6 +1161,12 @@ void __init setup_arch(char **cmdline_p)
|
||||
|
||||
io_delay_init();
|
||||
|
||||
@ -146,7 +146,7 @@ index d74ac33290ae..88dad730e858 100644
|
||||
* Parse the ACPI tables for possible boot-time SMP configuration.
|
||||
*/
|
||||
diff --git a/include/linux/module.h b/include/linux/module.h
|
||||
index cdc46a791b9d..0c1edd33a42c 100644
|
||||
index 6b99261cbb4b..7117d03cbfe8 100644
|
||||
--- a/include/linux/module.h
|
||||
+++ b/include/linux/module.h
|
||||
@@ -188,6 +188,12 @@ const struct exception_table_entry *search_exception_tables(unsigned long add);
|
||||
|
@ -16,7 +16,7 @@ Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
|
||||
2 files changed, 17 insertions(+)
|
||||
|
||||
diff --git a/include/linux/module.h b/include/linux/module.h
|
||||
index c883b86ea964..cdc46a791b9d 100644
|
||||
index 1e5436042eb0..6b99261cbb4b 100644
|
||||
--- a/include/linux/module.h
|
||||
+++ b/include/linux/module.h
|
||||
@@ -508,6 +508,8 @@ int unregister_module_notifier(struct notifier_block *nb);
|
||||
|
@ -15,7 +15,7 @@ Upstream-status: Fedora mustard
|
||||
7 files changed, 65 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
|
||||
index d99c8c38914f..bfb77c4faae6 100644
|
||||
index 9bcd51050511..0290275eaaf8 100644
|
||||
--- a/arch/x86/kernel/setup.c
|
||||
+++ b/arch/x86/kernel/setup.c
|
||||
@@ -70,6 +70,11 @@
|
||||
@ -30,7 +30,7 @@ index d99c8c38914f..bfb77c4faae6 100644
|
||||
#include <video/edid.h>
|
||||
|
||||
#include <asm/mtrr.h>
|
||||
@@ -1283,6 +1288,37 @@ void __init i386_reserve_resources(void)
|
||||
@@ -1287,6 +1292,37 @@ void __init i386_reserve_resources(void)
|
||||
|
||||
#endif /* CONFIG_X86_32 */
|
||||
|
||||
@ -81,10 +81,10 @@ index 421e29e4cd81..61c1eb97806c 100644
|
||||
input_set_drvdata(udev->dev, udev);
|
||||
|
||||
diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c
|
||||
index 843f2cdc280b..13a5a3843d4c 100644
|
||||
index 1c4791033b72..04d5f0033564 100644
|
||||
--- a/drivers/tty/sysrq.c
|
||||
+++ b/drivers/tty/sysrq.c
|
||||
@@ -465,6 +465,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = {
|
||||
@@ -464,6 +464,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 */
|
||||
@ -92,7 +92,7 @@ index 843f2cdc280b..13a5a3843d4c 100644
|
||||
NULL, /* x */
|
||||
/* y: May be registered on sparc64 for global register dump */
|
||||
NULL, /* y */
|
||||
@@ -508,7 +509,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p)
|
||||
@@ -507,7 +508,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p)
|
||||
sysrq_key_table[i] = op_p;
|
||||
}
|
||||
|
||||
@ -101,7 +101,7 @@ index 843f2cdc280b..13a5a3843d4c 100644
|
||||
{
|
||||
struct sysrq_key_op *op_p;
|
||||
int orig_log_level;
|
||||
@@ -528,11 +529,15 @@ void __handle_sysrq(int key, bool check_mask)
|
||||
@@ -527,11 +528,15 @@ void __handle_sysrq(int key, bool check_mask)
|
||||
|
||||
op_p = __sysrq_get_key_op(key);
|
||||
if (op_p) {
|
||||
@ -118,7 +118,7 @@ index 843f2cdc280b..13a5a3843d4c 100644
|
||||
pr_cont("%s\n", op_p->action_msg);
|
||||
console_loglevel = orig_log_level;
|
||||
op_p->handler(key);
|
||||
@@ -564,7 +569,7 @@ void __handle_sysrq(int key, bool check_mask)
|
||||
@@ -563,7 +568,7 @@ void __handle_sysrq(int key, bool check_mask)
|
||||
void handle_sysrq(int key)
|
||||
{
|
||||
if (sysrq_on())
|
||||
@ -148,7 +148,7 @@ index 843f2cdc280b..13a5a3843d4c 100644
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1091,7 +1098,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf,
|
||||
@@ -1076,7 +1083,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf,
|
||||
|
||||
if (get_user(c, buf))
|
||||
return -EFAULT;
|
||||
|
@ -1,52 +0,0 @@
|
||||
From: Andreas Fleig <andreasfleig@gmail.com>
|
||||
Date: Thu, 23 Apr 2015 10:25:58 +0200
|
||||
Subject: [PATCH] HID: lenovo: set INPUT_PROP_POINTING_STICK
|
||||
|
||||
Set flags INPUT_PROP_POINTER and INPUT_PROP_POINTING_STICK for the trackpoint
|
||||
integrated in Lenovo USB and Bluetooth keyboards. Libinput checks these flags
|
||||
to enable features such as middle-button-scrolling by default.
|
||||
|
||||
Signed-off-by: Andreas Fleig <andreasfleig@gmail.com>
|
||||
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
|
||||
---
|
||||
drivers/hid/hid-lenovo.c | 19 +++++++++++++++++++
|
||||
1 file changed, 19 insertions(+)
|
||||
|
||||
diff --git a/drivers/hid/hid-lenovo.c b/drivers/hid/hid-lenovo.c
|
||||
index c4c3f0952521..78608d646007 100644
|
||||
--- a/drivers/hid/hid-lenovo.c
|
||||
+++ b/drivers/hid/hid-lenovo.c
|
||||
@@ -762,6 +762,24 @@ static void lenovo_remove(struct hid_device *hdev)
|
||||
hid_hw_stop(hdev);
|
||||
}
|
||||
|
||||
+static void lenovo_input_configured(struct hid_device *hdev,
|
||||
+ struct hid_input *hi)
|
||||
+{
|
||||
+ switch (hdev->product) {
|
||||
+ case USB_DEVICE_ID_LENOVO_TPKBD:
|
||||
+ case USB_DEVICE_ID_LENOVO_CUSBKBD:
|
||||
+ case USB_DEVICE_ID_LENOVO_CBTKBD:
|
||||
+ if (test_bit(EV_REL, hi->input->evbit)) {
|
||||
+ /* set only for trackpoint device */
|
||||
+ __set_bit(INPUT_PROP_POINTER, hi->input->propbit);
|
||||
+ __set_bit(INPUT_PROP_POINTING_STICK,
|
||||
+ hi->input->propbit);
|
||||
+ }
|
||||
+ break;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+
|
||||
static const struct hid_device_id lenovo_devices[] = {
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_TPKBD) },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_CUSBKBD) },
|
||||
@@ -774,6 +792,7 @@ MODULE_DEVICE_TABLE(hid, lenovo_devices);
|
||||
static struct hid_driver lenovo_driver = {
|
||||
.name = "lenovo",
|
||||
.id_table = lenovo_devices,
|
||||
+ .input_configured = lenovo_input_configured,
|
||||
.input_mapping = lenovo_input_mapping,
|
||||
.probe = lenovo_probe,
|
||||
.remove = lenovo_remove,
|
@ -1,44 +0,0 @@
|
||||
From: Andrew Duggan <aduggan@synaptics.com>
|
||||
Date: Tue, 16 Jun 2015 14:08:41 -0700
|
||||
Subject: [PATCH] HID: rmi: Disable populating F30 when the touchpad has
|
||||
physical buttons
|
||||
|
||||
Physical buttons do not use F30 to report their state and in some cases the
|
||||
data reported in F30 is incorrect and inconsistent with what is reported by
|
||||
the HID descriptor. When physical buttons are present, ignore F30 and let
|
||||
hid-input report buttons based on what is defined in the HID descriptor.
|
||||
|
||||
Signed-off-by: Andrew Duggan <aduggan@synaptics.com>
|
||||
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
|
||||
---
|
||||
drivers/hid/hid-rmi.c | 9 ++++++---
|
||||
1 file changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c
|
||||
index 368ffdf2c0a3..721f7f90a157 100644
|
||||
--- a/drivers/hid/hid-rmi.c
|
||||
+++ b/drivers/hid/hid-rmi.c
|
||||
@@ -1013,6 +1013,7 @@ static int rmi_populate_f30(struct hid_device *hdev)
|
||||
|
||||
static int rmi_populate(struct hid_device *hdev)
|
||||
{
|
||||
+ struct rmi_data *data = hid_get_drvdata(hdev);
|
||||
int ret;
|
||||
|
||||
ret = rmi_scan_pdt(hdev);
|
||||
@@ -1033,9 +1034,11 @@ static int rmi_populate(struct hid_device *hdev)
|
||||
return ret;
|
||||
}
|
||||
|
||||
- ret = rmi_populate_f30(hdev);
|
||||
- if (ret)
|
||||
- hid_warn(hdev, "Error while initializing F30 (%d).\n", ret);
|
||||
+ if (!(data->device_flags & RMI_DEVICE_HAS_PHYS_BUTTONS)) {
|
||||
+ ret = rmi_populate_f30(hdev);
|
||||
+ if (ret)
|
||||
+ hid_warn(hdev, "Error while initializing F30 (%d).\n", ret);
|
||||
+ }
|
||||
|
||||
return 0;
|
||||
}
|
@ -29,10 +29,10 @@ index 72665eb80692..2c7b80d31366 100644
|
||||
+
|
||||
#endif /* _KEYS_SYSTEM_KEYRING_H */
|
||||
diff --git a/init/Kconfig b/init/Kconfig
|
||||
index dc24dec60232..3b703d077513 100644
|
||||
index b999fa381bf9..4e0037c349f6 100644
|
||||
--- a/init/Kconfig
|
||||
+++ b/init/Kconfig
|
||||
@@ -1758,6 +1758,15 @@ config SYSTEM_TRUSTED_KEYRING
|
||||
@@ -1744,6 +1744,15 @@ config SYSTEM_TRUSTED_KEYRING
|
||||
|
||||
Keys in this keyring are used by module signature checking.
|
||||
|
||||
|
@ -43,10 +43,10 @@ Signed-off-by: Josh Stone <jistone@redhat.com>
|
||||
2 files changed, 21 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index f5c8983aeeb7..962bafd4a18e 100644
|
||||
index 6c6f14628f32..144ffbb5af82 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -704,7 +704,11 @@ KBUILD_CFLAGS += -fomit-frame-pointer
|
||||
@@ -703,7 +703,11 @@ KBUILD_CFLAGS += -fomit-frame-pointer
|
||||
endif
|
||||
endif
|
||||
|
||||
@ -59,7 +59,7 @@ index f5c8983aeeb7..962bafd4a18e 100644
|
||||
ifdef CONFIG_DEBUG_INFO
|
||||
ifdef CONFIG_DEBUG_INFO_SPLIT
|
||||
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
|
||||
index ba2b0c87e65b..390e4089c086 100644
|
||||
index b908048f8d6a..1bfb8e63218f 100644
|
||||
--- a/lib/Kconfig.debug
|
||||
+++ b/lib/Kconfig.debug
|
||||
@@ -165,7 +165,23 @@ config DEBUG_INFO_DWARF4
|
||||
|
@ -25,10 +25,10 @@ Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
|
||||
create mode 100644 kernel/modsign_uefi.c
|
||||
|
||||
diff --git a/include/linux/efi.h b/include/linux/efi.h
|
||||
index 3dd6f4a51b9b..9cc069579351 100644
|
||||
index 1ed1fa0ea172..6d392cbf7243 100644
|
||||
--- a/include/linux/efi.h
|
||||
+++ b/include/linux/efi.h
|
||||
@@ -595,6 +595,12 @@ void efi_native_runtime_setup(void);
|
||||
@@ -600,6 +600,12 @@ void efi_native_runtime_setup(void);
|
||||
#define EFI_CERT_X509_GUID \
|
||||
EFI_GUID( 0xa5c059a1, 0x94e4, 0x4aa7, 0x87, 0xb5, 0xab, 0x15, 0x5c, 0x2b, 0xf0, 0x72 )
|
||||
|
||||
@ -42,10 +42,10 @@ index 3dd6f4a51b9b..9cc069579351 100644
|
||||
efi_guid_t guid;
|
||||
u64 table;
|
||||
diff --git a/init/Kconfig b/init/Kconfig
|
||||
index 3b703d077513..1c9c8e500a48 100644
|
||||
index 4e0037c349f6..f3e3a0d45d40 100644
|
||||
--- a/init/Kconfig
|
||||
+++ b/init/Kconfig
|
||||
@@ -1912,6 +1912,15 @@ config MODULE_SIG_ALL
|
||||
@@ -1898,6 +1898,15 @@ config MODULE_SIG_ALL
|
||||
comment "Do not forget to sign required modules with scripts/sign-file"
|
||||
depends on MODULE_SIG_FORCE && !MODULE_SIG_ALL
|
||||
|
||||
|
@ -11,14 +11,14 @@ Upstream-status: Sigh. We almost got to drop this.
|
||||
Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
|
||||
---
|
||||
Documentation/kernel-parameters.txt | 2 +-
|
||||
drivers/acpi/video.c | 2 +-
|
||||
drivers/acpi/acpi_video.c | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
|
||||
index 6726139bd289..a5e55141ae64 100644
|
||||
index fd66d220c115..d5be5fb06be0 100644
|
||||
--- a/Documentation/kernel-parameters.txt
|
||||
+++ b/Documentation/kernel-parameters.txt
|
||||
@@ -3871,7 +3871,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
|
||||
@@ -3909,7 +3909,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
|
||||
the allocated input device; If set to 0, video driver
|
||||
will only send out the event without touching backlight
|
||||
brightness level.
|
||||
@ -27,10 +27,10 @@ index 6726139bd289..a5e55141ae64 100644
|
||||
|
||||
virtio_mmio.device=
|
||||
[VMMIO] Memory mapped virtio (platform) device.
|
||||
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
|
||||
index cc79d3fedfb2..d9bf8ba7d848 100644
|
||||
--- a/drivers/acpi/video.c
|
||||
+++ b/drivers/acpi/video.c
|
||||
diff --git a/drivers/acpi/acpi_video.c b/drivers/acpi/acpi_video.c
|
||||
index 8c2fe2f2f9fd..6021e67be1f7 100644
|
||||
--- a/drivers/acpi/acpi_video.c
|
||||
+++ b/drivers/acpi/acpi_video.c
|
||||
@@ -68,7 +68,7 @@ MODULE_AUTHOR("Bruno Ducrot");
|
||||
MODULE_DESCRIPTION("ACPI Video Driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
@ -13,7 +13,7 @@ Signed-off-by: Josh Boyer <jwboyer@redhat.com>
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
|
||||
index 7ccba395c9dd..9cbdbccf3dc3 100644
|
||||
index a5dc9034efee..fd2aee6de6a7 100644
|
||||
--- a/drivers/acpi/osl.c
|
||||
+++ b/drivers/acpi/osl.c
|
||||
@@ -44,6 +44,7 @@
|
||||
@ -24,7 +24,7 @@ index 7ccba395c9dd..9cbdbccf3dc3 100644
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <asm/uaccess.h>
|
||||
@@ -252,7 +253,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
|
||||
|
@ -1,37 +0,0 @@
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Thu, 28 May 2015 18:25:46 +0200
|
||||
Subject: [PATCH] acpi_video: Add enable_native_backlight quirk for
|
||||
MacbookPro12,1
|
||||
|
||||
It seems that the latest generation of MacbookPro needs to use the
|
||||
native backlight driver, just like most modern laptops do, but it does
|
||||
not automatically get enabled as the Apple BIOS does not advertise
|
||||
Windows 8 compatibility. So add a quirk for this.
|
||||
|
||||
Cc: Christopher Beland <beland@alum.mit.edu>
|
||||
Reported-by: Christopher Beland <beland@alum.mit.edu>
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
---
|
||||
drivers/acpi/video.c | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
|
||||
index d9bf8ba7d848..b57d69370bac 100644
|
||||
--- a/drivers/acpi/video.c
|
||||
+++ b/drivers/acpi/video.c
|
||||
@@ -583,6 +583,15 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "102434U"),
|
||||
},
|
||||
},
|
||||
+ {
|
||||
+ /* https://bugzilla.redhat.com/show_bug.cgi?id=1217249 */
|
||||
+ .callback = video_enable_native_backlight,
|
||||
+ .ident = "Apple MacBook Pro 12,1",
|
||||
+ .matches = {
|
||||
+ DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
|
||||
+ DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro12,1"),
|
||||
+ },
|
||||
+ },
|
||||
{}
|
||||
};
|
||||
|
@ -6,19 +6,20 @@ Add XGBE phy driver support for A0 hardware.
|
||||
|
||||
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
|
||||
---
|
||||
drivers/net/phy/Makefile | 1 +
|
||||
drivers/net/phy/Makefile | 2 +
|
||||
drivers/net/phy/amd-xgbe-phy-a0.c | 1814 +++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 1815 insertions(+)
|
||||
2 files changed, 1816 insertions(+)
|
||||
create mode 100644 drivers/net/phy/amd-xgbe-phy-a0.c
|
||||
|
||||
diff --git a/drivers/net/phy/Makefile b/drivers/net/phy/Makefile
|
||||
index 501ea7699a2d..92e76446033e 100644
|
||||
index fcc25a0c45cd..5be1b6f5861b 100644
|
||||
--- a/drivers/net/phy/Makefile
|
||||
+++ b/drivers/net/phy/Makefile
|
||||
@@ -34,4 +34,5 @@ obj-$(CONFIG_MDIO_BUS_MUX_MMIOREG) += mdio-mux-mmioreg.o
|
||||
@@ -34,4 +34,6 @@ obj-$(CONFIG_MDIO_BUS_MUX_GPIO) += mdio-mux-gpio.o
|
||||
obj-$(CONFIG_MDIO_BUS_MUX_MMIOREG) += mdio-mux-mmioreg.o
|
||||
obj-$(CONFIG_MDIO_SUN4I) += mdio-sun4i.o
|
||||
obj-$(CONFIG_MDIO_MOXART) += mdio-moxart.o
|
||||
obj-$(CONFIG_AMD_XGBE_PHY) += amd-xgbe-phy.o
|
||||
+obj-$(CONFIG_AMD_XGBE_PHY) += amd-xgbe-phy.o
|
||||
+obj-$(CONFIG_AMD_XGBE_PHY) += amd-xgbe-phy-a0.o
|
||||
obj-$(CONFIG_MDIO_BCM_UNIMAC) += mdio-bcm-unimac.o
|
||||
diff --git a/drivers/net/phy/amd-xgbe-phy-a0.c b/drivers/net/phy/amd-xgbe-phy-a0.c
|
||||
|
@ -1,9 +1,13 @@
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Subject: arm64: acpi drop expert patch
|
||||
Date: Sun May 3 18:35:23 2015 +0100
|
||||
Date: Sun, 3 May 2015 18:35:23 +0100
|
||||
Subject: [PATCH] arm64: acpi drop expert patch
|
||||
|
||||
---
|
||||
drivers/acpi/Kconfig | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
|
||||
index ab2cbb5..87a6c19 100644
|
||||
index 35da507411a0..e3518852eb39 100644
|
||||
--- a/drivers/acpi/Kconfig
|
||||
+++ b/drivers/acpi/Kconfig
|
||||
@@ -5,7 +5,7 @@
|
@ -14,10 +14,10 @@ Signed-off-by: Mark Salter <msalter@redhat.com>
|
||||
1 file changed, 19 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
|
||||
index 74753132c3ac..3cc99d7c2361 100644
|
||||
index ffd3970721bf..b181dc1e4018 100644
|
||||
--- a/arch/arm64/kernel/setup.c
|
||||
+++ b/arch/arm64/kernel/setup.c
|
||||
@@ -579,3 +579,22 @@ const struct seq_operations cpuinfo_op = {
|
||||
@@ -566,3 +566,22 @@ const struct seq_operations cpuinfo_op = {
|
||||
.stop = c_stop,
|
||||
.show = c_show
|
||||
};
|
||||
|
@ -15,7 +15,7 @@ Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
|
||||
index 7543a56e0f45..93b5a6998371 100644
|
||||
index 6f8558f744a4..d448974b6766 100644
|
||||
--- a/drivers/platform/x86/asus-wmi.c
|
||||
+++ b/drivers/platform/x86/asus-wmi.c
|
||||
@@ -1589,6 +1589,9 @@ static int show_dsts(struct seq_file *m, void *data)
|
||||
|
@ -1,3 +1,7 @@
|
||||
From: Ming Lei <ming.lei@canonical.com>
|
||||
Date: Tue, 28 Apr 2015 14:40:49 -0400
|
||||
Subject: [PATCH] blk: loop: avoid too many pending work IO
|
||||
|
||||
If there are too many pending per work I/O, too many
|
||||
high priority work thread can be generated so that
|
||||
system performance can be effected.
|
||||
@ -32,7 +36,7 @@ Signed-off-by: Ming Lei <ming.lei@canonical.com>
|
||||
2 files changed, 19 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
|
||||
index ae3fcb4..5a728c6 100644
|
||||
index d7173cb1ea76..4db0301420b0 100644
|
||||
--- a/drivers/block/loop.c
|
||||
+++ b/drivers/block/loop.c
|
||||
@@ -1425,13 +1425,24 @@ static int loop_queue_rq(struct blk_mq_hw_ctx *hctx,
|
||||
@ -44,11 +48,11 @@ index ae3fcb4..5a728c6 100644
|
||||
+
|
||||
+ /*
|
||||
+ * Fallback to single queue mode if the pending per work
|
||||
+ * I/O number reaches 16, otherwise too many high priority
|
||||
+ * I/O number reaches 32, otherwise too many high priority
|
||||
+ * worker thread may effect system performance as reported
|
||||
+ * in fedora live booting from squashfs over loop.
|
||||
+ */
|
||||
+ if (atomic_read(&lo->pending_per_work_io) >= 16)
|
||||
+ if (atomic_read(&lo->pending_per_work_io) >= 32)
|
||||
+ single_queue = true;
|
||||
|
||||
blk_mq_start_request(bd->rq);
|
||||
@ -66,8 +70,8 @@ index ae3fcb4..5a728c6 100644
|
||||
if (need_sched)
|
||||
queue_work(loop_wq, &lo->write_work);
|
||||
} else {
|
||||
+ atomic_inc(&lo->pending_per_work_io);
|
||||
+ cmd->per_work_io = true;
|
||||
+ atomic_inc(&lo->pending_per_work_io);
|
||||
queue_work(loop_wq, &cmd->read_work);
|
||||
}
|
||||
|
||||
@ -81,7 +85,7 @@ index ae3fcb4..5a728c6 100644
|
||||
|
||||
static void loop_queue_write_work(struct work_struct *work)
|
||||
diff --git a/drivers/block/loop.h b/drivers/block/loop.h
|
||||
index 301c27f..eb855f5 100644
|
||||
index 301c27f8323f..eb855f57a62d 100644
|
||||
--- a/drivers/block/loop.h
|
||||
+++ b/drivers/block/loop.h
|
||||
@@ -57,6 +57,7 @@ struct loop_device {
|
||||
@ -100,5 +104,3 @@ index 301c27f..eb855f5 100644
|
||||
struct list_head list;
|
||||
};
|
||||
|
||||
--
|
||||
1.9.1
|
@ -123,7 +123,7 @@ CONFIG_CRYPTO_SHA1_ARM=m
|
||||
CONFIG_CRYPTO_SHA256_ARM=m
|
||||
CONFIG_CRYPTO_SHA1_ARM_NEON=m
|
||||
CONFIG_CRYPTO_SHA512_ARM_NEON=m
|
||||
|
||||
CONFIG_CRYPTO_SHA512_ARM=m
|
||||
# USB
|
||||
CONFIG_USB_OHCI_HCD_PLATFORM=m
|
||||
CONFIG_USB_EHCI_HCD_PLATFORM=m
|
||||
|
@ -107,6 +107,7 @@ CONFIG_HW_RANDOM_XGENE=m
|
||||
CONFIG_GPIO_XGENE=y
|
||||
CONFIG_GPIO_XGENE_SB=m
|
||||
CONFIG_XGENE_DMA=m
|
||||
CONFIG_EDAC_XGENE=m
|
||||
|
||||
# busted build for various reasons
|
||||
# uses pci_* for some reason to allocate DMA buffers
|
||||
@ -118,6 +119,7 @@ CONFIG_XGENE_DMA=m
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
|
||||
CONFIG_PCI_XGENE=y
|
||||
CONFIG_PCI_XGENE_MSI=y
|
||||
CONFIG_HOTPLUG_PCI=y
|
||||
# CONFIG_HOTPLUG_PCI_CPCI is not set
|
||||
# CONFIG_HOTPLUG_PCI_SHPC is not set
|
||||
@ -166,3 +168,5 @@ CONFIG_SATA_AHCI_PLATFORM=y
|
||||
CONFIG_DEBUG_SECTION_MISMATCH=y
|
||||
|
||||
# CONFIG_FSL_MC_BUS is not set
|
||||
|
||||
CONFIG_ARM_SMMU_V3=y
|
||||
|
@ -218,6 +218,8 @@ CONFIG_RADIO_WL128X=m
|
||||
|
||||
CONFIG_OMAP_REMOTEPROC=m
|
||||
|
||||
CONFIG_GPIO_OMAP=m
|
||||
|
||||
# CONFIG_OMAP2_DSS_DEBUGFS is not set
|
||||
# CONFIG_OMAP_IOMMU_DEBUG is not set
|
||||
# CONFIG_OMAP_MUX_DEBUG is not set
|
||||
@ -282,6 +284,7 @@ CONFIG_COMMON_CLK_QCOM=m
|
||||
CONFIG_MFD_QCOM_RPM=m
|
||||
CONFIG_MFD_PM8921_CORE=m
|
||||
CONFIG_REGULATOR_QCOM_RPM=m
|
||||
CONFIG_REGULATOR_QCOM_SPMI=m
|
||||
CONFIG_APQ_GCC_8084=m
|
||||
CONFIG_APQ_MMCC_8084=m
|
||||
CONFIG_IPQ_GCC_806X=m
|
||||
|
@ -169,6 +169,8 @@ CONFIG_PL320_MBOX=y
|
||||
CONFIG_SND_ARMAACI=m
|
||||
CONFIG_USB_ISP1760=m
|
||||
|
||||
CONFIG_EDAC=y
|
||||
|
||||
# highbank
|
||||
CONFIG_EDAC_HIGHBANK_MC=m
|
||||
CONFIG_EDAC_HIGHBANK_L2=m
|
||||
@ -187,6 +189,14 @@ CONFIG_DMA_SUN6I=m
|
||||
CONFIG_SUNXI_WATCHDOG=m
|
||||
CONFIG_NET_VENDOR_ALLWINNER=y
|
||||
CONFIG_STMMAC_PLATFORM=m
|
||||
CONFIG_DWMAC_GENERIC=m
|
||||
CONFIG_DWMAC_IPQ806X=m
|
||||
CONFIG_DWMAC_LPC18XX=m
|
||||
CONFIG_DWMAC_MESON=m
|
||||
CONFIG_DWMAC_ROCKCHIP=m
|
||||
CONFIG_DWMAC_SOCFPGA=m
|
||||
CONFIG_DWMAC_STI=m
|
||||
CONFIG_DWMAC_SUNXI=m
|
||||
CONFIG_EEPROM_SUNXI_SID=m
|
||||
CONFIG_RTC_DRV_SUNXI=m
|
||||
CONFIG_PHY_SUN4I_USB=m
|
||||
@ -410,6 +420,7 @@ CONFIG_PCI_MVEBU=y
|
||||
CONFIG_CACHE_TAUROS2=y
|
||||
CONFIG_MV_XOR=y
|
||||
CONFIG_CRYPTO_DEV_MV_CESA=m
|
||||
CONFIG_CRYPTO_DEV_MARVELL_CESA=m
|
||||
CONFIG_MV643XX_ETH=m
|
||||
CONFIG_PINCTRL_MVEBU=y
|
||||
CONFIG_PINCTRL_ARMADA_370=y
|
||||
@ -555,6 +566,7 @@ CONFIG_GENERIC_PINCONF=y
|
||||
# CONFIG_PINCTRL_APQ8084 is not set
|
||||
# CONFIG_PINCTRL_IPQ8064 is not set
|
||||
# CONFIG_PINCTRL_MSM8960 is not set
|
||||
# CONFIG_PINCTRL_MSM8660 is not set
|
||||
|
||||
# GPIO
|
||||
# CONFIG_GPIO_EM is not set
|
||||
@ -595,6 +607,7 @@ CONFIG_SPI_TLE62X0=m
|
||||
CONFIG_SPI_XCOMM=m
|
||||
# CONFIG_SPI_FSL_SPI is not set
|
||||
# CONFIG_SPI_CADENCE is not set
|
||||
# CONFIG_SPI_ZYNQMP_GQSPI is not set
|
||||
|
||||
CONFIG_NFC_NCI_SPI=y
|
||||
|
||||
@ -633,6 +646,7 @@ CONFIG_MTD_NAND_PLATFORM=m
|
||||
CONFIG_MTD_NAND_PXA3xx=m
|
||||
CONFIG_MTD_NAND_RICOH=m
|
||||
CONFIG_MTD_NAND_TMIO=m
|
||||
# CONFIG_MTD_NAND_BRCMNAND is not set
|
||||
CONFIG_MTD_SPI_NOR=m
|
||||
# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
|
||||
CONFIG_MTD_SPINAND_MT29F=m
|
||||
|
@ -148,6 +148,7 @@ CONFIG_MMC_REALTEK_PCI=m
|
||||
CONFIG_MMC_REALTEK_USB=m
|
||||
CONFIG_MMC_VUB300=m
|
||||
CONFIG_MMC_TOSHIBA_PCI=m
|
||||
CONFIG_MMC_MTK=m
|
||||
# CONFIG_MMC_SPI is not set
|
||||
# CONFIG_MMC_SDHCI_OF_ARASAN is not set
|
||||
# CONFIG_MMC_SDHCI_F_SDH30 is not set
|
||||
@ -558,6 +559,8 @@ CONFIG_LIBFC=m
|
||||
CONFIG_LIBFCOE=m
|
||||
CONFIG_FCOE=m
|
||||
CONFIG_FCOE_FNIC=m
|
||||
CONFIG_SCSI_SNIC=m
|
||||
# CONFIG_SCSI_SNIC_DEBUG_FS is not set
|
||||
|
||||
CONFIG_ATA=y
|
||||
CONFIG_ATA_BMDMA=y
|
||||
@ -736,6 +739,7 @@ CONFIG_TCP_CONG_HSTCP=m
|
||||
CONFIG_TCP_CONG_HYBLA=m
|
||||
CONFIG_TCP_CONG_ILLINOIS=m
|
||||
CONFIG_TCP_CONG_DCTCP=m
|
||||
CONFIG_TCP_CONG_CDG=m
|
||||
CONFIG_TCP_CONG_LP=m
|
||||
CONFIG_TCP_CONG_SCALABLE=m
|
||||
CONFIG_TCP_CONG_VEGAS=m
|
||||
@ -779,6 +783,7 @@ CONFIG_SYN_COOKIES=y
|
||||
CONFIG_NET_IPVTI=m
|
||||
CONFIG_NET_FOU=m
|
||||
CONFIG_NET_FOU_IP_TUNNELS=y
|
||||
CONFIG_GENEVE_CORE=m
|
||||
CONFIG_GENEVE=m
|
||||
CONFIG_INET_AH=m
|
||||
CONFIG_INET_ESP=m
|
||||
@ -859,6 +864,7 @@ CONFIG_NETWORK_PHY_TIMESTAMPING=y
|
||||
CONFIG_NETFILTER=y
|
||||
CONFIG_NETFILTER_ADVANCED=y
|
||||
CONFIG_NF_CONNTRACK=m
|
||||
CONFIG_NETFILTER_INGRESS=y
|
||||
CONFIG_NETFILTER_NETLINK=m
|
||||
CONFIG_NETFILTER_NETLINK_ACCT=m
|
||||
CONFIG_NETFILTER_NETLINK_QUEUE=m
|
||||
@ -1032,6 +1038,7 @@ CONFIG_IP6_NF_TARGET_MASQUERADE=m
|
||||
# nf_tables support
|
||||
CONFIG_NF_TABLES=m
|
||||
CONFIG_NF_TABLES_INET=m
|
||||
CONFIG_NF_TABLES_NETDEV=m
|
||||
CONFIG_NFT_EXTHDR=m
|
||||
CONFIG_NFT_META=m
|
||||
CONFIG_NFT_CT=m
|
||||
@ -1195,6 +1202,7 @@ CONFIG_NET_CLS_ACT=y
|
||||
CONFIG_NET_CLS_BASIC=m
|
||||
CONFIG_NET_CLS_CGROUP=y
|
||||
CONFIG_NET_CLS_BPF=m
|
||||
CONFIG_NET_CLS_FLOWER=m
|
||||
CONFIG_NET_CLS_FLOW=m
|
||||
CONFIG_NET_CLS_FW=m
|
||||
CONFIG_NET_CLS_IND=y
|
||||
@ -1375,6 +1383,8 @@ CONFIG_NET_VENDOR_BROCADE=y
|
||||
CONFIG_BNA=m
|
||||
CONFIG_NET_CALXEDA_XGMAC=m
|
||||
|
||||
# CONFIG_NET_VENDOR_CAVIUM is not set
|
||||
|
||||
CONFIG_NET_VENDOR_CHELSIO=y
|
||||
CONFIG_CHELSIO_T1=m
|
||||
CONFIG_CHELSIO_T1_1G=y
|
||||
@ -1413,12 +1423,14 @@ CONFIG_SUNDANCE=m
|
||||
CONFIG_NET_VENDOR_EMULEX=y
|
||||
CONFIG_BE2NET=m
|
||||
CONFIG_BE2NET_VXLAN=y
|
||||
# CONFIG_BE2NET_HWMON is not set
|
||||
|
||||
CONFIG_NET_VENDOR_EXAR=y
|
||||
CONFIG_S2IO=m
|
||||
CONFIG_VXGE=m
|
||||
# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
|
||||
|
||||
# CONFIG_NET_VENDOR_EZCHIP is not set
|
||||
# CONFIG_NET_VENDOR_FARADAY is not set
|
||||
# CONFIG_NET_VENDOR_FUJITSU is not set
|
||||
# CONFIG_NET_VENDOR_HISILICON is not set
|
||||
@ -1510,6 +1522,8 @@ CONFIG_R8169=m
|
||||
|
||||
CONFIG_SH_ETH=m
|
||||
|
||||
# CONFIG_NET_VENDOR_RENESAS is not set
|
||||
|
||||
CONFIG_NET_VENDOR_RDC=y
|
||||
CONFIG_R6040=m
|
||||
|
||||
@ -1586,6 +1600,7 @@ CONFIG_SMSC_PHY=m
|
||||
CONFIG_STE10XP=m
|
||||
CONFIG_VITESSE_PHY=m
|
||||
CONFIG_MICREL_PHY=m
|
||||
CONFIG_DP83867_PHY=m
|
||||
# CONFIG_MICREL_KS8995MA is not set
|
||||
|
||||
CONFIG_MII=m
|
||||
@ -1617,6 +1632,7 @@ CONFIG_JME=m
|
||||
# CONFIG_IP1000 is not set
|
||||
# CONFIG_MLX4_EN is not set
|
||||
# CONFIG_MLX4_EN_VXLAN is not set
|
||||
# CONFIG_MLX5_CORE is not set
|
||||
# CONFIG_SFC is not set
|
||||
|
||||
# CONFIG_FDDI is not set
|
||||
@ -1802,6 +1818,8 @@ CONFIG_RSI_USB=m
|
||||
CONFIG_RT2X00=m
|
||||
CONFIG_RT2X00_LIB_DEBUGFS=y
|
||||
# CONFIG_RT2X00_DEBUG is not set
|
||||
CONFIG_WL_MEDIATEK=y
|
||||
CONFIG_MT7601U=m
|
||||
CONFIG_RT2400PCI=m
|
||||
CONFIG_RT2500PCI=m
|
||||
CONFIG_RT61PCI=m
|
||||
@ -1862,6 +1880,7 @@ CONFIG_IEEE802154_FAKELB=m
|
||||
CONFIG_IEEE802154_CC2520=m
|
||||
# CONFIG_IEEE802154_AT86RF230 is not set
|
||||
# CONFIG_IEEE802154_MRF24J40 is not set
|
||||
# CONFIG_IEEE802154_ATUSB is not set
|
||||
|
||||
CONFIG_MAC802154=m
|
||||
CONFIG_NET_MPLS_GSO=m
|
||||
@ -1944,6 +1963,8 @@ CONFIG_NFC_ST21NFCA_I2C=m
|
||||
# CONFIG_NFC_ST21NFCB_I2C is not set
|
||||
# CONFIG_NFC_NXP_NCI is not set
|
||||
# CONFIG_NFC_NCI_SPI is not set
|
||||
# CONFIG_NFC_NCI_UART is not set
|
||||
# CONFIG_NFC_ST_NCI is not set
|
||||
|
||||
|
||||
#
|
||||
@ -2009,6 +2030,7 @@ CONFIG_BT_HCIBTUSB=m
|
||||
# Disable the BT_HCIUSB driver.
|
||||
# It sucks more power than BT_HCIBTUSB which has the same functionality.
|
||||
CONFIG_BT_HCIBTUSB_BCM=y
|
||||
CONFIG_BT_HCIBTUSB_RTL=y
|
||||
CONFIG_BT_HCIUART=m
|
||||
CONFIG_BT_HCIUART_H4=y
|
||||
CONFIG_BT_HCIUART_BCSP=y
|
||||
@ -2158,6 +2180,7 @@ CONFIG_GIGASET_M105=m
|
||||
# Input device support
|
||||
#
|
||||
CONFIG_INPUT=y
|
||||
CONFIG_INPUT_LEDS=y
|
||||
CONFIG_INPUT_FF_MEMLESS=m
|
||||
|
||||
#
|
||||
@ -2192,6 +2215,7 @@ CONFIG_INPUT_CMA3000=m
|
||||
CONFIG_INPUT_CMA3000_I2C=m
|
||||
CONFIG_INPUT_IDEAPAD_SLIDEBAR=m
|
||||
# CONFIG_INPUT_DRV260X_HAPTICS is not set
|
||||
# CONFIG_INPUT_DRV2665_HAPTICS is not set
|
||||
# CONFIG_INPUT_DRV2667_HAPTICS is not set
|
||||
|
||||
#
|
||||
@ -2612,6 +2636,7 @@ CONFIG_CHARGER_SMB347=m
|
||||
CONFIG_SENSORS_SMSC47M1=m
|
||||
CONFIG_SENSORS_SMSC47M192=m
|
||||
CONFIG_SENSORS_SMSC47B397=m
|
||||
CONFIG_SENSORS_TC74=m
|
||||
CONFIG_SENSORS_THMC50=m
|
||||
CONFIG_SENSORS_TMP401=m
|
||||
CONFIG_APDS9802ALS=m
|
||||
@ -4310,6 +4335,7 @@ CONFIG_F2FS_FS_POSIX_ACL=y
|
||||
CONFIG_F2FS_FS_SECURITY=y
|
||||
# CONFIG_F2FS_CHECK_FS is not set
|
||||
# CONFIG_F2FS_IO_TRACE is not set
|
||||
# CONFIG_F2FS_FS_ENCRYPTION is not set
|
||||
|
||||
#
|
||||
# Network File Systems
|
||||
@ -4672,6 +4698,15 @@ CONFIG_CRYPTO_DEV_HIFN_795X=m
|
||||
CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
|
||||
CONFIG_CRYPTO_PCRYPT=m
|
||||
CONFIG_CRYPTO_USER=m
|
||||
CONFIG_CRYPTO_RSA=m
|
||||
CONFIG_CRYPTO_CHACHA20POLY1305=m
|
||||
CONFIG_CRYPTO_ECHAINIV=m
|
||||
CONFIG_CRYPTO_POLY1305=m
|
||||
CONFIG_CRYPTO_CHACHA20=m
|
||||
CONFIG_CRYPTO_842=m
|
||||
CONFIG_CRYPTO_DRBG_HASH=y
|
||||
CONFIG_CRYPTO_DRBG_CTR=y
|
||||
|
||||
|
||||
|
||||
|
||||
@ -5093,6 +5128,10 @@ CONFIG_APM_POWER=m
|
||||
# CONFIG_CHARGER_BQ2415X is not set
|
||||
# CONFIG_CHARGER_BQ24190 is not set
|
||||
# CONFIG_CHARGER_BQ24735 is not set
|
||||
# CONFIG_CHARGER_BQ24257 is not set
|
||||
# CONFIG_CHARGER_BQ25890 is not set
|
||||
# CONFIG_CHARGER_RT9455 is not set
|
||||
|
||||
CONFIG_POWER_RESET=y
|
||||
# CONFIG_POWER_RESET_LTC2952 is not set
|
||||
# CONFIG_POWER_RESET_SYSCON is not set
|
||||
@ -5308,12 +5347,16 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=60
|
||||
CONFIG_RCU_TORTURE_TEST=m
|
||||
# CONFIG_RCU_TORTURE_TEST_SLOW_INIT is not set
|
||||
CONFIG_RCU_TORTURE_TEST_SLOW_INIT_DELAY=3
|
||||
# CONFIG_RCU_TORTURE_TEST_SLOW_PREINIT is not set
|
||||
# CONFIG_RCU_TORTURE_TEST_SLOW_CLEANUP is not set
|
||||
# CONFIG_RCU_TRACE is not set
|
||||
# CONFIG_RCU_EQS_DEBUG is not set
|
||||
# CONFIG_RCU_CPU_STALL_INFO is not set
|
||||
# CONFIG_TASKS_RCU is not set
|
||||
# CONFIG_RCU_USER_QS is not set
|
||||
CONFIG_RCU_KTHREAD_PRIO=0
|
||||
CONFIG_SPARSE_RCU_POINTER=y
|
||||
# CONFIG_RCU_EXPERT is not set
|
||||
|
||||
# CONFIG_LIVEPATCH is not set
|
||||
|
||||
|
@ -282,6 +282,7 @@ CONFIG_SWIOTLB=y
|
||||
# CONFIG_RDS is not set
|
||||
|
||||
CONFIG_PPC_DISABLE_WERROR=y
|
||||
# CONFIG_STRICT_MM_TYPECHECKS is not set
|
||||
|
||||
# CONFIG_XILINX_LL_TEMAC is not set
|
||||
# CONFIG_XILINX_EMACLITE is not set
|
||||
|
@ -11,6 +11,8 @@ CONFIG_PPC_MAPLE=y
|
||||
CONFIG_PPC_PSERIES=y
|
||||
CONFIG_PPC_PMAC=y
|
||||
CONFIG_PPC_POWERNV=y
|
||||
CONFIG_OPAL_PRD=m
|
||||
CONFIG_MTD_POWERNV_FLASH=m
|
||||
CONFIG_SENSORS_IBMPOWERNV=y
|
||||
CONFIG_HW_RANDOM_POWERNV=m
|
||||
CONFIG_POWERNV_CPUFREQ=m
|
||||
@ -171,6 +173,9 @@ CONFIG_CRYPTO_DEV_NX=y
|
||||
CONFIG_CRYPTO_842=m
|
||||
CONFIG_CRYPTO_DEV_NX_ENCRYPT=m
|
||||
CONFIG_CRYPTO_DEV_NX_COMPRESS=m
|
||||
CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES=m
|
||||
CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV=m
|
||||
CONFIG_CRYPTO_DEV_NX_COMPRESS_CRYPTO=m
|
||||
CONFIG_CRYPTO_DEV_VMX=y
|
||||
CONFIG_CRYPTO_DEV_VMX_ENCRYPT=y
|
||||
|
||||
|
@ -6,6 +6,8 @@ CONFIG_POWER7_CPU=y
|
||||
CONFIG_PPC_PSERIES=y
|
||||
# CONFIG_PPC_PMAC is not set
|
||||
CONFIG_PPC_POWERNV=y
|
||||
CONFIG_OPAL_PRD=m
|
||||
CONFIG_MTD_POWERNV_FLASH=m
|
||||
CONFIG_HW_RANDOM_POWERNV=m
|
||||
CONFIG_SENSORS_IBMPOWERNV=y
|
||||
CONFIG_POWERNV_CPUFREQ=m
|
||||
@ -161,6 +163,9 @@ CONFIG_CRYPTO_DEV_NX=y
|
||||
CONFIG_CRYPTO_842=m
|
||||
CONFIG_CRYPTO_DEV_NX_ENCRYPT=m
|
||||
CONFIG_CRYPTO_DEV_NX_COMPRESS=m
|
||||
CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES=m
|
||||
CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV=m
|
||||
CONFIG_CRYPTO_DEV_NX_COMPRESS_CRYPTO=m
|
||||
CONFIG_CRYPTO_DEV_VMX=y
|
||||
CONFIG_CRYPTO_DEV_VMX_ENCRYPT=y
|
||||
|
||||
|
@ -554,3 +554,6 @@ CONFIG_VMXNET3=m
|
||||
CONFIG_VFIO_PCI_VGA=y
|
||||
|
||||
# CONFIG_NTB is not set
|
||||
|
||||
# CONFIG_X86_DEBUG_FPU is not set
|
||||
# CONFIG_PUNIT_ATOM_DEBUG is not set
|
||||
|
@ -177,6 +177,7 @@ CONFIG_SFC=m
|
||||
CONFIG_SFC_MCDI_MON=y
|
||||
CONFIG_SFC_SRIOV=y
|
||||
CONFIG_SFC_MTD=y
|
||||
# CONFIG_SFC_MCDI_LOGGING is not set
|
||||
# Override MTD stuff because SFC_MTD needs it
|
||||
CONFIG_MTD_BLOCK=m
|
||||
|
||||
|
@ -9,10 +9,10 @@ Upstream-status: Fedora mustard
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/init/Kconfig b/init/Kconfig
|
||||
index 1c9c8e500a48..6d00970e220e 100644
|
||||
index f3e3a0d45d40..41765c00d633 100644
|
||||
--- a/init/Kconfig
|
||||
+++ b/init/Kconfig
|
||||
@@ -1144,7 +1144,7 @@ config DEBUG_BLK_CGROUP
|
||||
@@ -1130,7 +1130,7 @@ config DEBUG_BLK_CGROUP
|
||||
endif # CGROUPS
|
||||
|
||||
config CHECKPOINT_RESTORE
|
||||
@ -21,7 +21,7 @@ index 1c9c8e500a48..6d00970e220e 100644
|
||||
default n
|
||||
help
|
||||
Enables additional kernel features in a sake of checkpoint/restore.
|
||||
@@ -1155,7 +1155,7 @@ config CHECKPOINT_RESTORE
|
||||
@@ -1141,7 +1141,7 @@ config CHECKPOINT_RESTORE
|
||||
If unsure, say N here.
|
||||
|
||||
menuconfig NAMESPACES
|
||||
|
@ -12,10 +12,10 @@ Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
|
||||
2 files changed, 3 insertions(+)
|
||||
|
||||
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
|
||||
index 88dad730e858..d99c8c38914f 100644
|
||||
index d3071ca120eb..9bcd51050511 100644
|
||||
--- a/arch/x86/kernel/setup.c
|
||||
+++ b/arch/x86/kernel/setup.c
|
||||
@@ -1158,7 +1158,9 @@ void __init setup_arch(char **cmdline_p)
|
||||
@@ -1163,7 +1163,9 @@ void __init setup_arch(char **cmdline_p)
|
||||
|
||||
#ifdef CONFIG_EFI_SECURE_BOOT_SIG_ENFORCE
|
||||
if (boot_params.secure_boot) {
|
||||
@ -26,10 +26,10 @@ index 88dad730e858..d99c8c38914f 100644
|
||||
#endif
|
||||
|
||||
diff --git a/include/linux/efi.h b/include/linux/efi.h
|
||||
index af5be0368dec..aa4ee20ec8bb 100644
|
||||
index 5f19efe4eb3f..13a3a411c65f 100644
|
||||
--- a/include/linux/efi.h
|
||||
+++ b/include/linux/efi.h
|
||||
@@ -943,6 +943,7 @@ extern int __init efi_setup_pcdp_console(char *);
|
||||
@@ -958,6 +958,7 @@ extern int __init efi_setup_pcdp_console(char *);
|
||||
#define EFI_PARAVIRT 6 /* Access is via a paravirt interface */
|
||||
#define EFI_ARCH_1 7 /* First arch-specific bit */
|
||||
#define EFI_DBG 8 /* Print additional debug info at runtime */
|
||||
|
@ -1,780 +0,0 @@
|
||||
From: Peter Jones <pjones@redhat.com>
|
||||
Date: Tue, 18 Nov 2014 10:18:22 -0500
|
||||
Subject: [PATCH] efi: Add esrt support.
|
||||
|
||||
Add sysfs files for the EFI System Resource Table (ESRT) under
|
||||
/sys/firmware/efi/esrt and for each EFI System Resource Entry under
|
||||
entries/ as a subdir.
|
||||
|
||||
The EFI System Resource Table (ESRT) provides a read-only catalog of
|
||||
system components for which the system accepts firmware upgrades via
|
||||
UEFI's "Capsule Update" feature. This module allows userland utilities
|
||||
to evaluate what firmware updates can be applied to this system, and
|
||||
potentially arrange for those updates to occur.
|
||||
|
||||
The ESRT is described as part of the UEFI specification, in version 2.5
|
||||
which should be available from http://uefi.org/specifications in early
|
||||
2015. If you're a member of the UEFI Forum, information about its
|
||||
addition to the standard is available as UEFI Mantis 1090.
|
||||
|
||||
For some hardware platforms, additional restrictions may be found at
|
||||
http://msdn.microsoft.com/en-us/library/windows/hardware/jj128256.aspx ,
|
||||
and additional documentation may be found at
|
||||
http://download.microsoft.com/download/5/F/5/5F5D16CD-2530-4289-8019-94C6A20BED3C/windows-uefi-firmware-update-platform.docx
|
||||
.
|
||||
|
||||
Signed-off-by: Peter Jones <pjones@redhat.com>
|
||||
---
|
||||
Documentation/ABI/testing/sysfs-firmware-efi-esrt | 81 ++++
|
||||
arch/x86/platform/efi/efi.c | 2 +
|
||||
drivers/firmware/efi/Makefile | 2 +-
|
||||
drivers/firmware/efi/efi.c | 82 +++-
|
||||
drivers/firmware/efi/esrt.c | 464 ++++++++++++++++++++++
|
||||
include/linux/efi.h | 8 +
|
||||
6 files changed, 637 insertions(+), 2 deletions(-)
|
||||
create mode 100644 Documentation/ABI/testing/sysfs-firmware-efi-esrt
|
||||
create mode 100644 drivers/firmware/efi/esrt.c
|
||||
|
||||
diff --git a/Documentation/ABI/testing/sysfs-firmware-efi-esrt b/Documentation/ABI/testing/sysfs-firmware-efi-esrt
|
||||
new file mode 100644
|
||||
index 000000000000..6e431d1a4e79
|
||||
--- /dev/null
|
||||
+++ b/Documentation/ABI/testing/sysfs-firmware-efi-esrt
|
||||
@@ -0,0 +1,81 @@
|
||||
+What: /sys/firmware/efi/esrt/
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: Provides userland access to read the EFI System Resource Table
|
||||
+ (ESRT), a catalog of firmware for which can be updated with
|
||||
+ the UEFI UpdateCapsule mechanism described in section 7.5 of
|
||||
+ the UEFI Standard.
|
||||
+Users: fwupdate - https://github.com/rhinstaller/fwupdate
|
||||
+
|
||||
+What: /sys/firmware/efi/esrt/fw_resource_count
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: The number of entries in the ESRT
|
||||
+
|
||||
+What: /sys/firmware/efi/esrt/fw_resource_count_max
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: The maximum number of entries that /could/ be registered
|
||||
+ in the allocation the table is currently in. This is
|
||||
+ really only useful to the system firmware itself.
|
||||
+
|
||||
+What: /sys/firmware/efi/esrt/fw_resource_version
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: The version of the ESRT structure provided by the firmware.
|
||||
+
|
||||
+What: /sys/firmware/efi/esrt/entries/entry$N/
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: Each ESRT entry is identified by a GUID, and each gets a
|
||||
+ subdirectory under entries/ .
|
||||
+ example: /sys/firmware/efi/esrt/entries/entry0/
|
||||
+
|
||||
+What: /sys/firmware/efi/esrt/entries/entry$N/fw_type
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: What kind of firmware entry this is:
|
||||
+ 0 - Unknown
|
||||
+ 1 - System Firmware
|
||||
+ 2 - Device Firmware
|
||||
+ 3 - UEFI Driver
|
||||
+
|
||||
+What: /sys/firmware/efi/esrt/entries/entry$N/fw_class
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: This is the entry's guid, and will match the directory name.
|
||||
+
|
||||
+What: /sys/firmware/efi/esrt/entries/entry$N/fw_version
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: The version of the firmware currently installed. This is a
|
||||
+ 32-bit unsigned integer.
|
||||
+
|
||||
+What: /sys/firmware/efi/esrt/entries/entry$N/lowest_supported_fw_version
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: The lowest version of the firmware that can be installed.
|
||||
+
|
||||
+What: /sys/firmware/efi/esrt/entries/entry$N/capsule_flags
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: Flags that must be passed to UpdateCapsule()
|
||||
+
|
||||
+What: /sys/firmware/efi/esrt/entries/entry$N/last_attempt_version
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: The last firmware version for which an update was attempted.
|
||||
+
|
||||
+What: /sys/firmware/efi/esrt/entries/entry$N/last_attempt_status
|
||||
+Date: February 2015
|
||||
+Contact: Peter Jones <pjones@redhat.com>
|
||||
+Description: The result of the last firmware update attempt for the
|
||||
+ firmware resource entry.
|
||||
+ 0 - Success
|
||||
+ 1 - Insufficient resources
|
||||
+ 2 - Incorrect version
|
||||
+ 3 - Invalid format
|
||||
+ 4 - Authentication error
|
||||
+ 5 - AC power event
|
||||
+ 6 - Battery power event
|
||||
+
|
||||
diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
|
||||
index 02744df576d5..3b984c3aa1b0 100644
|
||||
--- a/arch/x86/platform/efi/efi.c
|
||||
+++ b/arch/x86/platform/efi/efi.c
|
||||
@@ -501,6 +501,8 @@ void __init efi_init(void)
|
||||
|
||||
if (efi_enabled(EFI_DBG))
|
||||
print_efi_memmap();
|
||||
+
|
||||
+ efi_esrt_init();
|
||||
}
|
||||
|
||||
void __init efi_late_init(void)
|
||||
diff --git a/drivers/firmware/efi/Makefile b/drivers/firmware/efi/Makefile
|
||||
index d8be608a9f3b..26eabbc55341 100644
|
||||
--- a/drivers/firmware/efi/Makefile
|
||||
+++ b/drivers/firmware/efi/Makefile
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# Makefile for linux kernel
|
||||
#
|
||||
-obj-$(CONFIG_EFI) += efi.o vars.o reboot.o
|
||||
+obj-$(CONFIG_EFI) += efi.o esrt.o vars.o reboot.o
|
||||
obj-$(CONFIG_EFI_VARS) += efivars.o
|
||||
obj-$(CONFIG_EFI_VARS_PSTORE) += efi-pstore.o
|
||||
obj-$(CONFIG_UEFI_CPER) += cper.o
|
||||
diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c
|
||||
index 3061bb8629dc..48b4c356740f 100644
|
||||
--- a/drivers/firmware/efi/efi.c
|
||||
+++ b/drivers/firmware/efi/efi.c
|
||||
@@ -39,6 +39,7 @@ struct efi __read_mostly efi = {
|
||||
.fw_vendor = EFI_INVALID_TABLE_ADDR,
|
||||
.runtime = EFI_INVALID_TABLE_ADDR,
|
||||
.config_table = EFI_INVALID_TABLE_ADDR,
|
||||
+ .esrt = EFI_INVALID_TABLE_ADDR,
|
||||
};
|
||||
EXPORT_SYMBOL(efi);
|
||||
|
||||
@@ -64,7 +65,7 @@ static int __init parse_efi_cmdline(char *str)
|
||||
}
|
||||
early_param("efi", parse_efi_cmdline);
|
||||
|
||||
-static struct kobject *efi_kobj;
|
||||
+struct kobject *efi_kobj;
|
||||
static struct kobject *efivars_kobj;
|
||||
|
||||
/*
|
||||
@@ -232,6 +233,84 @@ err_put:
|
||||
|
||||
subsys_initcall(efisubsys_init);
|
||||
|
||||
+/*
|
||||
+ * Find the efi memory descriptor for a given physical address. Given a
|
||||
+ * physicall address, determine if it exists within an EFI Memory Map entry,
|
||||
+ * and if so, populate the supplied memory descriptor with the appropriate
|
||||
+ * data.
|
||||
+ */
|
||||
+int __init efi_mem_desc_lookup(u64 phys_addr, efi_memory_desc_t *out_md)
|
||||
+{
|
||||
+ struct efi_memory_map *map = efi.memmap;
|
||||
+ void *p, *e;
|
||||
+
|
||||
+ if (!efi_enabled(EFI_MEMMAP)) {
|
||||
+ pr_err_once("EFI_MEMMAP is not enabled.\n");
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
+ if (!map) {
|
||||
+ pr_err_once("efi.memmap is not set.\n");
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+ if (!out_md) {
|
||||
+ pr_err_once("out_md is null.\n");
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+ if (WARN_ON_ONCE(!map->phys_map))
|
||||
+ return -EINVAL;
|
||||
+ if (WARN_ON_ONCE(map->nr_map == 0) || WARN_ON_ONCE(map->desc_size == 0))
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ e = map->phys_map + map->nr_map * map->desc_size;
|
||||
+ for (p = map->phys_map; p < e; p += map->desc_size) {
|
||||
+ efi_memory_desc_t *md;
|
||||
+ u64 size;
|
||||
+ u64 end;
|
||||
+
|
||||
+ /*
|
||||
+ * If a driver calls this after efi_free_boot_services,
|
||||
+ * ->map will be NULL, and the target may also not be mapped.
|
||||
+ * So just always get our own virtual map on the CPU.
|
||||
+ *
|
||||
+ */
|
||||
+ md = early_memremap((phys_addr_t)p, sizeof (*md));
|
||||
+ if (!md) {
|
||||
+ pr_err_once("early_memremap(%p, %zu) failed.\n",
|
||||
+ p, sizeof (*md));
|
||||
+ return -ENOMEM;
|
||||
+ }
|
||||
+
|
||||
+ if (!(md->attribute & EFI_MEMORY_RUNTIME) &&
|
||||
+ md->type != EFI_BOOT_SERVICES_DATA &&
|
||||
+ md->type != EFI_RUNTIME_SERVICES_DATA) {
|
||||
+ early_memunmap(md, sizeof (*md));
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ size = md->num_pages << EFI_PAGE_SHIFT;
|
||||
+ end = md->phys_addr + size;
|
||||
+ if (phys_addr >= md->phys_addr && phys_addr < end) {
|
||||
+ memcpy(out_md, md, sizeof(*out_md));
|
||||
+ early_memunmap(md, sizeof (*md));
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ early_memunmap(md, sizeof (*md));
|
||||
+ }
|
||||
+ pr_err_once("requested map not found.\n");
|
||||
+ return -ENOENT;
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Calculate the highest address of an efi memory descriptor.
|
||||
+ */
|
||||
+u64 __init efi_mem_desc_end(efi_memory_desc_t *md)
|
||||
+{
|
||||
+ u64 size = md->num_pages << EFI_PAGE_SHIFT;
|
||||
+ u64 end = md->phys_addr + size;
|
||||
+ return end;
|
||||
+}
|
||||
|
||||
/*
|
||||
* We can't ioremap data in EFI boot services RAM, because we've already mapped
|
||||
@@ -274,6 +353,7 @@ static __initdata efi_config_table_type_t common_tables[] = {
|
||||
{SMBIOS_TABLE_GUID, "SMBIOS", &efi.smbios},
|
||||
{SMBIOS3_TABLE_GUID, "SMBIOS 3.0", &efi.smbios3},
|
||||
{UGA_IO_PROTOCOL_GUID, "UGA", &efi.uga},
|
||||
+ {EFI_SYSTEM_RESOURCE_TABLE_GUID, "ESRT", &efi.esrt},
|
||||
{NULL_GUID, NULL, NULL},
|
||||
};
|
||||
|
||||
diff --git a/drivers/firmware/efi/esrt.c b/drivers/firmware/efi/esrt.c
|
||||
new file mode 100644
|
||||
index 000000000000..20c0cbdb1c60
|
||||
--- /dev/null
|
||||
+++ b/drivers/firmware/efi/esrt.c
|
||||
@@ -0,0 +1,464 @@
|
||||
+/*
|
||||
+ * esrt.c
|
||||
+ *
|
||||
+ * This module exports EFI System Resource Table (ESRT) entries into userspace
|
||||
+ * through the sysfs file system. The ESRT provides a read-only catalog of
|
||||
+ * system components for which the system accepts firmware upgrades via UEFI's
|
||||
+ * "Capsule Update" feature. This module allows userland utilities to evaluate
|
||||
+ * what firmware updates can be applied to this system, and potentially arrange
|
||||
+ * for those updates to occur.
|
||||
+ *
|
||||
+ * Data is currently found below /sys/firmware/efi/esrt/...
|
||||
+ */
|
||||
+#define pr_fmt(fmt) "esrt: " fmt
|
||||
+
|
||||
+#include <linux/capability.h>
|
||||
+#include <linux/device.h>
|
||||
+#include <linux/efi.h>
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/kobject.h>
|
||||
+#include <linux/list.h>
|
||||
+#include <linux/memblock.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/slab.h>
|
||||
+#include <linux/types.h>
|
||||
+
|
||||
+#include <asm/io.h>
|
||||
+#include <asm/early_ioremap.h>
|
||||
+
|
||||
+struct efi_system_resource_entry_v1 {
|
||||
+ efi_guid_t fw_class;
|
||||
+ u32 fw_type;
|
||||
+ u32 fw_version;
|
||||
+ u32 lowest_supported_fw_version;
|
||||
+ u32 capsule_flags;
|
||||
+ u32 last_attempt_version;
|
||||
+ u32 last_attempt_status;
|
||||
+};
|
||||
+
|
||||
+/*
|
||||
+ * _count and _version are what they seem like. _max is actually just
|
||||
+ * accounting info for the firmware when creating the table; it should never
|
||||
+ * have been exposed to us. To wit, the spec says:
|
||||
+ * The maximum number of resource array entries that can be within the
|
||||
+ * table without reallocating the table, must not be zero.
|
||||
+ * Since there's no guidance about what that means in terms of memory layout,
|
||||
+ * it means nothing to us.
|
||||
+ */
|
||||
+struct efi_system_resource_table {
|
||||
+ u32 fw_resource_count;
|
||||
+ u32 fw_resource_count_max;
|
||||
+ u64 fw_resource_version;
|
||||
+ u8 entries[];
|
||||
+};
|
||||
+
|
||||
+static phys_addr_t esrt_data;
|
||||
+static size_t esrt_data_size;
|
||||
+
|
||||
+static struct efi_system_resource_table *esrt;
|
||||
+
|
||||
+struct esre_entry {
|
||||
+ union {
|
||||
+ struct efi_system_resource_entry_v1 *esre1;
|
||||
+ } esre;
|
||||
+
|
||||
+ struct kobject kobj;
|
||||
+ struct list_head list;
|
||||
+};
|
||||
+
|
||||
+/* global list of esre_entry. */
|
||||
+static LIST_HEAD(entry_list);
|
||||
+
|
||||
+/* entry attribute */
|
||||
+struct esre_attribute {
|
||||
+ struct attribute attr;
|
||||
+ ssize_t (*show)(struct esre_entry *entry, char *buf);
|
||||
+ ssize_t (*store)(struct esre_entry *entry,
|
||||
+ const char *buf, size_t count);
|
||||
+};
|
||||
+
|
||||
+static struct esre_entry *to_entry(struct kobject *kobj)
|
||||
+{
|
||||
+ return container_of(kobj, struct esre_entry, kobj);
|
||||
+}
|
||||
+
|
||||
+static struct esre_attribute *to_attr(struct attribute *attr)
|
||||
+{
|
||||
+ return container_of(attr, struct esre_attribute, attr);
|
||||
+}
|
||||
+
|
||||
+static ssize_t esre_attr_show(struct kobject *kobj,
|
||||
+ struct attribute *_attr, char *buf)
|
||||
+{
|
||||
+ struct esre_entry *entry = to_entry(kobj);
|
||||
+ struct esre_attribute *attr = to_attr(_attr);
|
||||
+
|
||||
+ /* Don't tell normal users what firmware versions we've got... */
|
||||
+ if (!capable(CAP_SYS_ADMIN))
|
||||
+ return -EACCES;
|
||||
+
|
||||
+ return attr->show(entry, buf);
|
||||
+}
|
||||
+
|
||||
+static const struct sysfs_ops esre_attr_ops = {
|
||||
+ .show = esre_attr_show,
|
||||
+};
|
||||
+
|
||||
+/* Generic ESRT Entry ("ESRE") support. */
|
||||
+static ssize_t esre_fw_class_show(struct esre_entry *entry, char *buf)
|
||||
+{
|
||||
+ char *str = buf;
|
||||
+
|
||||
+ efi_guid_to_str(&entry->esre.esre1->fw_class, str);
|
||||
+ str += strlen(str);
|
||||
+ str += sprintf(str, "\n");
|
||||
+
|
||||
+ return str - buf;
|
||||
+}
|
||||
+
|
||||
+static struct esre_attribute esre_fw_class = __ATTR(fw_class, 0400,
|
||||
+ esre_fw_class_show, NULL);
|
||||
+
|
||||
+#define esre_attr_decl(name, size, fmt) \
|
||||
+static ssize_t esre_##name##_show(struct esre_entry *entry, char *buf) \
|
||||
+{ \
|
||||
+ return sprintf(buf, fmt "\n", \
|
||||
+ le##size##_to_cpu(entry->esre.esre1->name)); \
|
||||
+} \
|
||||
+\
|
||||
+static struct esre_attribute esre_##name = __ATTR(name, 0400, \
|
||||
+ esre_##name##_show, NULL)
|
||||
+
|
||||
+esre_attr_decl(fw_type, 32, "%u");
|
||||
+esre_attr_decl(fw_version, 32, "%u");
|
||||
+esre_attr_decl(lowest_supported_fw_version, 32, "%u");
|
||||
+esre_attr_decl(capsule_flags, 32, "0x%x");
|
||||
+esre_attr_decl(last_attempt_version, 32, "%u");
|
||||
+esre_attr_decl(last_attempt_status, 32, "%u");
|
||||
+
|
||||
+static struct attribute *esre1_attrs[] = {
|
||||
+ &esre_fw_class.attr,
|
||||
+ &esre_fw_type.attr,
|
||||
+ &esre_fw_version.attr,
|
||||
+ &esre_lowest_supported_fw_version.attr,
|
||||
+ &esre_capsule_flags.attr,
|
||||
+ &esre_last_attempt_version.attr,
|
||||
+ &esre_last_attempt_status.attr,
|
||||
+ NULL
|
||||
+};
|
||||
+static void esre_release(struct kobject *kobj)
|
||||
+{
|
||||
+ struct esre_entry *entry = to_entry(kobj);
|
||||
+
|
||||
+ list_del(&entry->list);
|
||||
+ kfree(entry);
|
||||
+}
|
||||
+
|
||||
+static struct kobj_type esre1_ktype = {
|
||||
+ .release = esre_release,
|
||||
+ .sysfs_ops = &esre_attr_ops,
|
||||
+ .default_attrs = esre1_attrs,
|
||||
+};
|
||||
+
|
||||
+
|
||||
+static struct kobject *esrt_kobj;
|
||||
+static struct kset *esrt_kset;
|
||||
+
|
||||
+static int esre_create_sysfs_entry(void *esre, int entry_num)
|
||||
+{
|
||||
+ int rc = 0;
|
||||
+ struct esre_entry *entry;
|
||||
+ char name[20];
|
||||
+
|
||||
+ entry = kzalloc(sizeof(*entry), GFP_KERNEL);
|
||||
+ if (!entry)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ sprintf(name, "entry%d", entry_num);
|
||||
+
|
||||
+ entry->kobj.kset = esrt_kset;
|
||||
+
|
||||
+ if (esrt->fw_resource_version == 1) {
|
||||
+ entry->esre.esre1 = esre;
|
||||
+ rc = kobject_init_and_add(&entry->kobj, &esre1_ktype, NULL,
|
||||
+ "%s", name);
|
||||
+ }
|
||||
+ if (rc) {
|
||||
+ kfree(entry);
|
||||
+ return rc;
|
||||
+ }
|
||||
+
|
||||
+ list_add_tail(&entry->list, &entry_list);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+/* support for displaying ESRT fields at the top level */
|
||||
+#define esrt_attr_decl(name, size, fmt) \
|
||||
+static ssize_t esrt_##name##_show(struct kobject *kobj, \
|
||||
+ struct kobj_attribute *attr, char *buf)\
|
||||
+{ \
|
||||
+ return sprintf(buf, fmt "\n", le##size##_to_cpu(esrt->name)); \
|
||||
+} \
|
||||
+\
|
||||
+static struct kobj_attribute esrt_##name = __ATTR(name, 0400, \
|
||||
+ esrt_##name##_show, NULL)
|
||||
+
|
||||
+esrt_attr_decl(fw_resource_count, 32, "%u");
|
||||
+esrt_attr_decl(fw_resource_count_max, 32, "%u");
|
||||
+esrt_attr_decl(fw_resource_version, 64, "%llu");
|
||||
+
|
||||
+static struct attribute *esrt_attrs[] = {
|
||||
+ &esrt_fw_resource_count.attr,
|
||||
+ &esrt_fw_resource_count_max.attr,
|
||||
+ &esrt_fw_resource_version.attr,
|
||||
+ NULL,
|
||||
+};
|
||||
+
|
||||
+static inline int esrt_table_exists(void)
|
||||
+{
|
||||
+ if (!efi_enabled(EFI_CONFIG_TABLES))
|
||||
+ return 0;
|
||||
+ if (efi.esrt == EFI_INVALID_TABLE_ADDR)
|
||||
+ return 0;
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+static umode_t esrt_attr_is_visible(struct kobject *kobj,
|
||||
+ struct attribute *attr, int n)
|
||||
+{
|
||||
+ if (!esrt_table_exists())
|
||||
+ return 0;
|
||||
+ return attr->mode;
|
||||
+}
|
||||
+
|
||||
+static struct attribute_group esrt_attr_group = {
|
||||
+ .attrs = esrt_attrs,
|
||||
+ .is_visible = esrt_attr_is_visible,
|
||||
+};
|
||||
+
|
||||
+/*
|
||||
+ * remap the table, copy it to kmalloced pages, and unmap it.
|
||||
+ */
|
||||
+void __init efi_esrt_init(void)
|
||||
+{
|
||||
+ void *va;
|
||||
+ struct efi_system_resource_table tmpesrt;
|
||||
+ struct efi_system_resource_entry_v1 *v1_entries;
|
||||
+ size_t size, max, entry_size, entries_size;
|
||||
+ efi_memory_desc_t md;
|
||||
+ int rc;
|
||||
+
|
||||
+ pr_debug("esrt-init: loading.\n");
|
||||
+ if (!esrt_table_exists())
|
||||
+ return;
|
||||
+
|
||||
+ rc = efi_mem_desc_lookup(efi.esrt, &md);
|
||||
+ if (rc < 0) {
|
||||
+ pr_err("ESRT header is not in the memory map.\n");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ max = efi_mem_desc_end(&md);
|
||||
+ if (max < efi.esrt) {
|
||||
+ pr_err("EFI memory descriptor is invalid. (esrt: %p max: %p)\n",
|
||||
+ (void *)efi.esrt, (void *)max);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ size = sizeof(*esrt);
|
||||
+ max -= efi.esrt;
|
||||
+
|
||||
+ if (max < size) {
|
||||
+ pr_err("ESRT header doen't fit on single memory map entry. (size: %zu max: %zu)\n",
|
||||
+ size, max);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ va = early_memremap(efi.esrt, size);
|
||||
+ if (!va) {
|
||||
+ pr_err("early_memremap(%p, %zu) failed.\n", (void *)efi.esrt,
|
||||
+ size);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ memcpy(&tmpesrt, va, sizeof(tmpesrt));
|
||||
+
|
||||
+ if (tmpesrt.fw_resource_version == 1) {
|
||||
+ entry_size = sizeof (*v1_entries);
|
||||
+ } else {
|
||||
+ pr_err("Unsupported ESRT version %lld.\n",
|
||||
+ tmpesrt.fw_resource_version);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if (tmpesrt.fw_resource_count > 0 && max - size < entry_size) {
|
||||
+ pr_err("ESRT memory map entry can only hold the header. (max: %zu size: %zu)\n",
|
||||
+ max - size, entry_size);
|
||||
+ goto err_memunmap;
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * The format doesn't really give us any boundary to test here,
|
||||
+ * so I'm making up 128 as the max number of individually updatable
|
||||
+ * components we support.
|
||||
+ * 128 should be pretty excessive, but there's still some chance
|
||||
+ * somebody will do that someday and we'll need to raise this.
|
||||
+ */
|
||||
+ if (tmpesrt.fw_resource_count > 128) {
|
||||
+ pr_err("ESRT says fw_resource_count has very large value %d.\n",
|
||||
+ tmpesrt.fw_resource_count);
|
||||
+ goto err_memunmap;
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * We know it can't be larger than N * sizeof() here, and N is limited
|
||||
+ * by the previous test to a small number, so there's no overflow.
|
||||
+ */
|
||||
+ entries_size = tmpesrt.fw_resource_count * entry_size;
|
||||
+ if (max < size + entries_size) {
|
||||
+ pr_err("ESRT does not fit on single memory map entry (size: %zu max: %zu)\n",
|
||||
+ size, max);
|
||||
+ goto err_memunmap;
|
||||
+ }
|
||||
+
|
||||
+ /* remap it with our (plausible) new pages */
|
||||
+ early_memunmap(va, size);
|
||||
+ size += entries_size;
|
||||
+ va = early_memremap(efi.esrt, size);
|
||||
+ if (!va) {
|
||||
+ pr_err("early_memremap(%p, %zu) failed.\n", (void *)efi.esrt,
|
||||
+ size);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ esrt_data = (phys_addr_t)efi.esrt;
|
||||
+ esrt_data_size = size;
|
||||
+
|
||||
+ pr_info("Reserving ESRT space from %p to %p.\n", (void *)esrt_data,
|
||||
+ (char *)esrt_data + size);
|
||||
+ memblock_reserve(esrt_data, esrt_data_size);
|
||||
+
|
||||
+ pr_debug("esrt-init: loaded.\n");
|
||||
+err_memunmap:
|
||||
+ early_memunmap(va, size);
|
||||
+}
|
||||
+
|
||||
+static int __init register_entries(void)
|
||||
+{
|
||||
+ struct efi_system_resource_entry_v1 *v1_entries = (void *)esrt->entries;
|
||||
+ int i, rc;
|
||||
+
|
||||
+ if (!esrt_table_exists())
|
||||
+ return 0;
|
||||
+
|
||||
+ for (i = 0; i < le32_to_cpu(esrt->fw_resource_count); i++) {
|
||||
+ void *entry;
|
||||
+ if (esrt->fw_resource_version == 1) {
|
||||
+ entry = &v1_entries[i];
|
||||
+ }
|
||||
+ rc = esre_create_sysfs_entry(entry, i);
|
||||
+ if (rc < 0) {
|
||||
+ pr_err("ESRT entry creation failed with error %d.\n",
|
||||
+ rc);
|
||||
+ return rc;
|
||||
+ }
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static void cleanup_entry_list(void)
|
||||
+{
|
||||
+ struct esre_entry *entry, *next;
|
||||
+
|
||||
+ list_for_each_entry_safe(entry, next, &entry_list, list) {
|
||||
+ kobject_put(&entry->kobj);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static int __init esrt_sysfs_init(void)
|
||||
+{
|
||||
+ int error;
|
||||
+ struct efi_system_resource_table __iomem *ioesrt;
|
||||
+
|
||||
+ pr_debug("esrt-sysfs: loading.\n");
|
||||
+ if (!esrt_data || !esrt_data_size)
|
||||
+ return -ENOSYS;
|
||||
+
|
||||
+ ioesrt = ioremap(esrt_data, esrt_data_size);
|
||||
+ if (!ioesrt) {
|
||||
+ pr_err("ioremap(%p, %zu) failed.\n", (void *)esrt_data,
|
||||
+ esrt_data_size);
|
||||
+ return -ENOMEM;
|
||||
+ }
|
||||
+
|
||||
+ esrt = kmalloc(esrt_data_size, GFP_KERNEL);
|
||||
+ if (!esrt) {
|
||||
+ pr_err("kmalloc failed. (wanted %zu bytes)\n", esrt_data_size);
|
||||
+ iounmap(ioesrt);
|
||||
+ return -ENOMEM;
|
||||
+ }
|
||||
+
|
||||
+ memcpy_fromio(esrt, ioesrt, esrt_data_size);
|
||||
+
|
||||
+ esrt_kobj = kobject_create_and_add("esrt", efi_kobj);
|
||||
+ if (!esrt_kobj) {
|
||||
+ pr_err("Firmware table registration failed.\n");
|
||||
+ error = -ENOMEM;
|
||||
+ goto err;
|
||||
+ }
|
||||
+
|
||||
+ error = sysfs_create_group(esrt_kobj, &esrt_attr_group);
|
||||
+ if (error) {
|
||||
+ pr_err("Sysfs attribute export failed with error %d.\n",
|
||||
+ error);
|
||||
+ goto err_remove_esrt;
|
||||
+ }
|
||||
+
|
||||
+ esrt_kset = kset_create_and_add("entries", NULL, esrt_kobj);
|
||||
+ if (!esrt_kset) {
|
||||
+ pr_err("kset creation failed.\n");
|
||||
+ error = -ENOMEM;
|
||||
+ goto err_remove_group;
|
||||
+ }
|
||||
+
|
||||
+ error = register_entries();
|
||||
+ if (error)
|
||||
+ goto err_cleanup_list;
|
||||
+
|
||||
+ memblock_remove(esrt_data, esrt_data_size);
|
||||
+
|
||||
+ pr_debug("esrt-sysfs: loaded.\n");
|
||||
+
|
||||
+ return 0;
|
||||
+err_cleanup_list:
|
||||
+ cleanup_entry_list();
|
||||
+ kset_unregister(esrt_kset);
|
||||
+err_remove_group:
|
||||
+ sysfs_remove_group(esrt_kobj, &esrt_attr_group);
|
||||
+err_remove_esrt:
|
||||
+ kobject_put(esrt_kobj);
|
||||
+err:
|
||||
+ kfree(esrt);
|
||||
+ esrt = NULL;
|
||||
+ return error;
|
||||
+}
|
||||
+
|
||||
+static void __exit esrt_sysfs_exit(void)
|
||||
+{
|
||||
+ pr_debug("esrt-sysfs: unloading.\n");
|
||||
+ cleanup_entry_list();
|
||||
+ kset_unregister(esrt_kset);
|
||||
+ sysfs_remove_group(esrt_kobj, &esrt_attr_group);
|
||||
+ kfree(esrt);
|
||||
+ esrt = NULL;
|
||||
+ kobject_del(esrt_kobj);
|
||||
+ kobject_put(esrt_kobj);
|
||||
+}
|
||||
+
|
||||
+module_init(esrt_sysfs_init);
|
||||
+module_exit(esrt_sysfs_exit);
|
||||
+
|
||||
+MODULE_AUTHOR("Peter Jones <pjones@redhat.com>");
|
||||
+MODULE_DESCRIPTION("EFI System Resource Table support");
|
||||
+MODULE_LICENSE("GPL");
|
||||
diff --git a/include/linux/efi.h b/include/linux/efi.h
|
||||
index 9cc069579351..fa3546989ab0 100644
|
||||
--- a/include/linux/efi.h
|
||||
+++ b/include/linux/efi.h
|
||||
@@ -583,6 +583,9 @@ void efi_native_runtime_setup(void);
|
||||
#define EFI_FILE_INFO_ID \
|
||||
EFI_GUID( 0x9576e92, 0x6d3f, 0x11d2, 0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b )
|
||||
|
||||
+#define EFI_SYSTEM_RESOURCE_TABLE_GUID \
|
||||
+ EFI_GUID( 0xb122a263, 0x3661, 0x4f68, 0x99, 0x29, 0x78, 0xf8, 0xb0, 0xd6, 0x21, 0x80 )
|
||||
+
|
||||
#define EFI_FILE_SYSTEM_GUID \
|
||||
EFI_GUID( 0x964e5b22, 0x6459, 0x11d2, 0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b )
|
||||
|
||||
@@ -849,6 +852,7 @@ extern struct efi {
|
||||
unsigned long fw_vendor; /* fw_vendor */
|
||||
unsigned long runtime; /* runtime table */
|
||||
unsigned long config_table; /* config tables */
|
||||
+ unsigned long esrt; /* ESRT table */
|
||||
efi_get_time_t *get_time;
|
||||
efi_set_time_t *set_time;
|
||||
efi_get_wakeup_time_t *get_wakeup_time;
|
||||
@@ -901,6 +905,7 @@ static inline efi_status_t efi_query_variable_store(u32 attributes, unsigned lon
|
||||
#endif
|
||||
extern void __iomem *efi_lookup_mapped_addr(u64 phys_addr);
|
||||
extern int efi_config_init(efi_config_table_type_t *arch_tables);
|
||||
+extern void __init efi_esrt_init(void);
|
||||
extern int efi_config_parse_tables(void *config_tables, int count, int sz,
|
||||
efi_config_table_type_t *arch_tables);
|
||||
extern u64 efi_get_iobase (void);
|
||||
@@ -908,12 +913,15 @@ extern u32 efi_mem_type (unsigned long phys_addr);
|
||||
extern u64 efi_mem_attributes (unsigned long phys_addr);
|
||||
extern u64 efi_mem_attribute (unsigned long phys_addr, unsigned long size);
|
||||
extern int __init efi_uart_console_only (void);
|
||||
+extern u64 efi_mem_desc_end(efi_memory_desc_t *md);
|
||||
+extern int efi_mem_desc_lookup(u64 phys_addr, efi_memory_desc_t *out_md);
|
||||
extern void efi_initialize_iomem_resources(struct resource *code_resource,
|
||||
struct resource *data_resource, struct resource *bss_resource);
|
||||
extern void efi_get_time(struct timespec *now);
|
||||
extern void efi_reserve_boot_services(void);
|
||||
extern int efi_get_fdt_params(struct efi_fdt_params *params, int verbose);
|
||||
extern struct efi_memory_map memmap;
|
||||
+extern struct kobject *efi_kobj;
|
||||
|
||||
extern int efi_reboot_quirk_mode;
|
||||
extern bool efi_poweroff_required(void);
|
@ -11,7 +11,7 @@ Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
|
||||
index 6a8f880e213f..d3c21e9d267c 100644
|
||||
index 39645abe44e3..c334ecdc0506 100644
|
||||
--- a/arch/x86/Kconfig
|
||||
+++ b/arch/x86/Kconfig
|
||||
@@ -1698,7 +1698,8 @@ config EFI_MIXED
|
||||
|
@ -16,10 +16,10 @@ Upstream-status: Fedora mustard
|
||||
3 files changed, 2 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
|
||||
index 3d874eca7104..deab7897b01f 100644
|
||||
index 30b7bbfdc558..95863902627f 100644
|
||||
--- a/drivers/base/power/main.c
|
||||
+++ b/drivers/base/power/main.c
|
||||
@@ -122,8 +122,6 @@ void device_pm_unlock(void)
|
||||
@@ -123,8 +123,6 @@ void device_pm_unlock(void)
|
||||
*/
|
||||
void device_pm_add(struct device *dev)
|
||||
{
|
||||
@ -41,7 +41,7 @@ index cb5ece77fd7d..4022b75eaad7 100644
|
||||
}
|
||||
|
||||
diff --git a/net/can/af_can.c b/net/can/af_can.c
|
||||
index 32d710eaf1fc..af4a20b86ee7 100644
|
||||
index 7933e62a7318..96a911003af7 100644
|
||||
--- a/net/can/af_can.c
|
||||
+++ b/net/can/af_can.c
|
||||
@@ -155,13 +155,9 @@ static int can_create(struct net *net, struct socket *sock, int protocol,
|
||||
|
@ -15,15 +15,15 @@ Signed-off-by: Roland McGrath <roland@redhat.com>
|
||||
arch/powerpc/kernel/vdso64/Makefile | 3 ++-
|
||||
arch/s390/kernel/vdso32/Makefile | 3 ++-
|
||||
arch/s390/kernel/vdso64/Makefile | 3 ++-
|
||||
arch/x86/vdso/Makefile | 5 +++--
|
||||
arch/x86/entry/vdso/Makefile | 5 +++--
|
||||
scripts/link-vmlinux.sh | 4 ++++
|
||||
7 files changed, 17 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/kernel/vdso/Makefile b/arch/arm64/kernel/vdso/Makefile
|
||||
index ff3bddea482d..d8a439dd6351 100644
|
||||
index f6fe17d88da5..eb6ddbf37f30 100644
|
||||
--- a/arch/arm64/kernel/vdso/Makefile
|
||||
+++ b/arch/arm64/kernel/vdso/Makefile
|
||||
@@ -48,7 +48,8 @@ $(obj-vdso): %.o: %.S FORCE
|
||||
@@ -52,7 +52,8 @@ $(obj-vdso): %.o: %.S FORCE
|
||||
|
||||
# Actual build commands
|
||||
quiet_cmd_vdsold = VDSOL $@
|
||||
@ -89,10 +89,10 @@ index 2a8ddfd12a5b..452ca53561fe 100644
|
||||
quiet_cmd_vdso64as = VDSO64A $@
|
||||
cmd_vdso64as = $(CC) $(a_flags) -c -o $@ $<
|
||||
|
||||
diff --git a/arch/x86/vdso/Makefile b/arch/x86/vdso/Makefile
|
||||
diff --git a/arch/x86/entry/vdso/Makefile b/arch/x86/entry/vdso/Makefile
|
||||
index e97032069f88..9ea82f444dea 100644
|
||||
--- a/arch/x86/vdso/Makefile
|
||||
+++ b/arch/x86/vdso/Makefile
|
||||
--- a/arch/x86/entry/vdso/Makefile
|
||||
+++ b/arch/x86/entry/vdso/Makefile
|
||||
@@ -172,8 +172,9 @@ $(vdso32-images:%=$(obj)/%.dbg): $(obj)/vdso32-%.so.dbg: FORCE \
|
||||
quiet_cmd_vdso = VDSO $@
|
||||
cmd_vdso = $(CC) -nostdlib -o $@ \
|
||||
|
296
kernel.spec
296
kernel.spec
@ -6,7 +6,7 @@ Summary: The Linux kernel
|
||||
# For a stable, released kernel, released_kernel should be 1. For rawhide
|
||||
# and/or a kernel built from an rc or git snapshot, released_kernel should
|
||||
# be 0.
|
||||
%global released_kernel 1
|
||||
%global released_kernel 0
|
||||
|
||||
# Sign modules on x86. Make sure the config files match this setting if more
|
||||
# architectures are added.
|
||||
@ -67,7 +67,7 @@ Summary: The Linux kernel
|
||||
# The rc snapshot level
|
||||
%define rcrev 0
|
||||
# The git snapshot level
|
||||
%define gitrev 0
|
||||
%define gitrev 1
|
||||
# Set rpm version accordingly
|
||||
%define rpmversion 4.%{upstream_sublevel}.0
|
||||
%endif
|
||||
@ -486,140 +486,124 @@ Patch05: kbuild-AFTER_LINK.patch
|
||||
|
||||
%if !%{nopatches}
|
||||
|
||||
|
||||
# Git trees.
|
||||
|
||||
# Standalone patches
|
||||
|
||||
Patch450: input-kill-stupid-messages.patch
|
||||
Patch452: no-pcspkr-modalias.patch
|
||||
Patch451: lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch
|
||||
|
||||
Patch470: die-floppy-die.patch
|
||||
Patch452: amd-xgbe-a0-Add-support-for-XGBE-on-A0.patch
|
||||
|
||||
Patch500: Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch
|
||||
Patch453: amd-xgbe-phy-a0-Add-support-for-XGBE-PHY-on-A0.patch
|
||||
|
||||
Patch510: input-silence-i8042-noise.patch
|
||||
Patch530: silence-fbcon-logo.patch
|
||||
Patch454: arm64-avoid-needing-console-to-enable-serial-console.patch
|
||||
|
||||
Patch600: lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch
|
||||
Patch455: usb-make-xhci-platform-driver-use-64-bit-or-32-bit-D.patch
|
||||
|
||||
#rhbz 1126580
|
||||
Patch601: Kbuild-Add-an-option-to-enable-GCC-VTA.patch
|
||||
Patch456: arm64-acpi-drop-expert-patch.patch
|
||||
|
||||
Patch800: crash-driver.patch
|
||||
Patch457: ARM-tegra-usb-no-reset.patch
|
||||
|
||||
# crypto/
|
||||
Patch458: arm-dts-am335x-boneblack-lcdc-add-panel-info.patch
|
||||
|
||||
# secure boot
|
||||
Patch1000: Add-secure_modules-call.patch
|
||||
Patch1001: PCI-Lock-down-BAR-access-when-module-security-is-ena.patch
|
||||
Patch1002: x86-Lock-down-IO-port-access-when-module-security-is.patch
|
||||
Patch1003: ACPI-Limit-access-to-custom_method.patch
|
||||
Patch1004: asus-wmi-Restrict-debugfs-interface-when-module-load.patch
|
||||
Patch1005: Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch
|
||||
Patch1006: acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch
|
||||
Patch1007: kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch
|
||||
Patch1008: x86-Restrict-MSR-access-when-module-loading-is-restr.patch
|
||||
Patch1009: Add-option-to-automatically-enforce-module-signature.patch
|
||||
Patch1010: efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch
|
||||
Patch1011: efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch
|
||||
Patch1012: efi-Add-EFI_SECURE_BOOT-bit.patch
|
||||
Patch1013: hibernate-Disable-in-a-signed-modules-environment.patch
|
||||
Patch459: arm-dts-am335x-boneblack-add-cpu0-opp-points.patch
|
||||
|
||||
Patch1014: Add-EFI-signature-data-types.patch
|
||||
Patch1015: Add-an-EFI-signature-blob-parser-and-key-loader.patch
|
||||
Patch1016: KEYS-Add-a-system-blacklist-keyring.patch
|
||||
Patch1017: MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch
|
||||
Patch1018: MODSIGN-Support-not-importing-certs-from-db.patch
|
||||
Patch460: arm-dts-am335x-bone-common-enable-and-use-i2c2.patch
|
||||
|
||||
Patch1019: Add-sysrq-option-to-disable-secure-boot-mode.patch
|
||||
Patch461: arm-dts-am335x-bone-common-setup-default-pinmux-http.patch
|
||||
|
||||
# esrt
|
||||
Patch1020: efi-Add-esrt-support.patch
|
||||
Patch462: arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch
|
||||
|
||||
# virt + ksm patches
|
||||
Patch463: pinctrl-pinctrl-single-must-be-initialized-early.patch
|
||||
|
||||
# DRM
|
||||
Patch464: arm-i.MX6-Utilite-device-dtb.patch
|
||||
|
||||
# nouveau + drm fixes
|
||||
# intel drm is all merged upstream
|
||||
Patch1826: drm-i915-hush-check-crtc-state.patch
|
||||
Patch465: arm-highbank-l2-reverts.patch
|
||||
|
||||
# Quiet boot fixes
|
||||
Patch466: Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch
|
||||
|
||||
# fs fixes
|
||||
Patch467: input-kill-stupid-messages.patch
|
||||
|
||||
# NFSv4
|
||||
Patch468: die-floppy-die.patch
|
||||
|
||||
# patches headed upstream
|
||||
Patch12016: disable-i8042-check-on-apple-mac.patch
|
||||
Patch469: no-pcspkr-modalias.patch
|
||||
|
||||
Patch14010: lis3-improve-handling-of-null-rate.patch
|
||||
Patch470: input-silence-i8042-noise.patch
|
||||
|
||||
Patch15000: watchdog-Disable-watchdog-on-virtual-machines.patch
|
||||
Patch471: silence-fbcon-logo.patch
|
||||
|
||||
# PPC
|
||||
Patch472: Kbuild-Add-an-option-to-enable-GCC-VTA.patch
|
||||
|
||||
# ARM64
|
||||
Patch16000: amd-xgbe-a0-Add-support-for-XGBE-on-A0.patch
|
||||
Patch16001: amd-xgbe-phy-a0-Add-support-for-XGBE-PHY-on-A0.patch
|
||||
Patch16002: arm64-avoid-needing-console-to-enable-serial-console.patch
|
||||
Patch16003: usb-make-xhci-platform-driver-use-64-bit-or-32-bit-D.patch
|
||||
Patch16004: arm64-acpi-drop-expert.patch
|
||||
Patch473: crash-driver.patch
|
||||
|
||||
# ARMv7
|
||||
Patch16020: ARM-tegra-usb-no-reset.patch
|
||||
Patch16021: arm-dts-am335x-boneblack-lcdc-add-panel-info.patch
|
||||
Patch16022: arm-dts-am335x-boneblack-add-cpu0-opp-points.patch
|
||||
Patch16023: arm-dts-am335x-bone-common-enable-and-use-i2c2.patch
|
||||
Patch16024: arm-dts-am335x-bone-common-setup-default-pinmux-http.patch
|
||||
Patch16025: arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch
|
||||
Patch16026: pinctrl-pinctrl-single-must-be-initialized-early.patch
|
||||
Patch474: Add-secure_modules-call.patch
|
||||
|
||||
Patch16028: arm-i.MX6-Utilite-device-dtb.patch
|
||||
Patch475: PCI-Lock-down-BAR-access-when-module-security-is-ena.patch
|
||||
|
||||
Patch16030: arm-highbank-l2-reverts.patch
|
||||
Patch476: x86-Lock-down-IO-port-access-when-module-security-is.patch
|
||||
|
||||
#rhbz 754518
|
||||
Patch21235: scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch
|
||||
Patch477: ACPI-Limit-access-to-custom_method.patch
|
||||
|
||||
# https://fedoraproject.org/wiki/Features/Checkpoint_Restore
|
||||
Patch21242: criu-no-expert.patch
|
||||
Patch478: asus-wmi-Restrict-debugfs-interface-when-module-load.patch
|
||||
|
||||
#rhbz 892811
|
||||
Patch21247: ath9k-rx-dma-stop-check.patch
|
||||
Patch479: Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch
|
||||
|
||||
#CVE-2015-2150 rhbz 1196266 1200397
|
||||
Patch26175: xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch
|
||||
Patch480: acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch
|
||||
|
||||
#rhbz 1212230
|
||||
Patch26176: Input-synaptics-pin-3-touches-when-the-firmware-repo.patch
|
||||
Patch481: kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch
|
||||
|
||||
#rhbz 1210857
|
||||
Patch26192: blk-loop-avoid-too-many-pending-per-work-IO.patch
|
||||
Patch482: x86-Restrict-MSR-access-when-module-loading-is-restr.patch
|
||||
|
||||
#rhbz 1220118
|
||||
Patch26202: media-Fix-regression-in-some-more-dib0700-based-devi.patch
|
||||
Patch483: Add-option-to-automatically-enforce-module-signature.patch
|
||||
|
||||
Patch26203: v4l-uvcvideo-Fix-incorrect-bandwidth-with-Chicony-de.patch
|
||||
Patch484: efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch
|
||||
|
||||
#rhbz 1217249
|
||||
Patch26214: acpi_video-Add-enable_native_backlight-quirk-for-Mac.patch
|
||||
Patch485: efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch
|
||||
|
||||
#rhbz 1225563
|
||||
Patch26215: HID-lenovo-set-INPUT_PROP_POINTING_STICK.patch
|
||||
Patch486: efi-Add-EFI_SECURE_BOOT-bit.patch
|
||||
|
||||
#rhbz 1133378
|
||||
Patch26219: firmware-Drop-WARN-from-usermodehelper_read_trylock-.patch
|
||||
Patch487: hibernate-Disable-in-a-signed-modules-environment.patch
|
||||
|
||||
#rhbz 1226743
|
||||
Patch26221: drm-i915-turn-off-wc-mmaps.patch
|
||||
Patch488: Add-EFI-signature-data-types.patch
|
||||
|
||||
# CVE-2015-XXXX rhbz 1230770 1230774
|
||||
Patch26231: kvm-x86-fix-kvm_apic_has_events-to-check-for-NULL-po.patch
|
||||
Patch489: Add-an-EFI-signature-blob-parser-and-key-loader.patch
|
||||
|
||||
Patch490: KEYS-Add-a-system-blacklist-keyring.patch
|
||||
|
||||
Patch491: MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch
|
||||
|
||||
Patch492: MODSIGN-Support-not-importing-certs-from-db.patch
|
||||
|
||||
Patch493: Add-sysrq-option-to-disable-secure-boot-mode.patch
|
||||
|
||||
Patch494: drm-i915-hush-check-crtc-state.patch
|
||||
|
||||
Patch495: disable-i8042-check-on-apple-mac.patch
|
||||
|
||||
Patch496: lis3-improve-handling-of-null-rate.patch
|
||||
|
||||
Patch497: watchdog-Disable-watchdog-on-virtual-machines.patch
|
||||
|
||||
Patch498: scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch
|
||||
|
||||
Patch499: criu-no-expert.patch
|
||||
|
||||
Patch500: ath9k-rx-dma-stop-check.patch
|
||||
|
||||
Patch501: xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch
|
||||
|
||||
Patch502: Input-synaptics-pin-3-touches-when-the-firmware-repo.patch
|
||||
|
||||
Patch503: blk-loop-avoid-too-many-pending-work-IO.patch
|
||||
|
||||
Patch504: media-Fix-regression-in-some-more-dib0700-based-devi.patch
|
||||
|
||||
Patch505: v4l-uvcvideo-Fix-incorrect-bandwidth-with-Chicony-de.patch
|
||||
|
||||
Patch506: firmware-Drop-WARN-from-usermodehelper_read_trylock-.patch
|
||||
|
||||
Patch507: drm-i915-turn-off-wc-mmaps.patch
|
||||
|
||||
# rhbz 1227891
|
||||
Patch26250: HID-rmi-Disable-populating-F30-when-the-touchpad-has.patch
|
||||
|
||||
# END OF PATCH DEFINITIONS
|
||||
|
||||
@ -1182,183 +1166,122 @@ done
|
||||
|
||||
ApplyPatch kbuild-AFTER_LINK.patch
|
||||
|
||||
|
||||
%if !%{nopatches}
|
||||
|
||||
# Architecture patches
|
||||
# x86(-64)
|
||||
ApplyPatch lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch
|
||||
|
||||
# PPC
|
||||
|
||||
# ARM64
|
||||
ApplyPatch amd-xgbe-a0-Add-support-for-XGBE-on-A0.patch
|
||||
ApplyPatch amd-xgbe-phy-a0-Add-support-for-XGBE-PHY-on-A0.patch
|
||||
ApplyPatch arm64-avoid-needing-console-to-enable-serial-console.patch
|
||||
ApplyPatch usb-make-xhci-platform-driver-use-64-bit-or-32-bit-D.patch
|
||||
ApplyPatch arm64-acpi-drop-expert.patch
|
||||
|
||||
#
|
||||
# ARM
|
||||
#
|
||||
ApplyPatch amd-xgbe-phy-a0-Add-support-for-XGBE-PHY-on-A0.patch
|
||||
|
||||
ApplyPatch arm64-avoid-needing-console-to-enable-serial-console.patch
|
||||
|
||||
ApplyPatch usb-make-xhci-platform-driver-use-64-bit-or-32-bit-D.patch
|
||||
|
||||
ApplyPatch arm64-acpi-drop-expert-patch.patch
|
||||
|
||||
ApplyPatch ARM-tegra-usb-no-reset.patch
|
||||
|
||||
ApplyPatch arm-dts-am335x-boneblack-lcdc-add-panel-info.patch
|
||||
|
||||
ApplyPatch arm-dts-am335x-boneblack-add-cpu0-opp-points.patch
|
||||
|
||||
ApplyPatch arm-dts-am335x-bone-common-enable-and-use-i2c2.patch
|
||||
|
||||
ApplyPatch arm-dts-am335x-bone-common-setup-default-pinmux-http.patch
|
||||
|
||||
ApplyPatch arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch
|
||||
|
||||
ApplyPatch pinctrl-pinctrl-single-must-be-initialized-early.patch
|
||||
|
||||
ApplyPatch arm-i.MX6-Utilite-device-dtb.patch
|
||||
|
||||
ApplyPatch arm-highbank-l2-reverts.patch
|
||||
|
||||
#
|
||||
# bugfixes to drivers and filesystems
|
||||
#
|
||||
|
||||
# ext4
|
||||
|
||||
# xfs
|
||||
|
||||
# btrfs
|
||||
|
||||
# eCryptfs
|
||||
|
||||
# NFSv4
|
||||
|
||||
# USB
|
||||
|
||||
# WMI
|
||||
|
||||
# ACPI
|
||||
|
||||
#
|
||||
# PCI
|
||||
#
|
||||
|
||||
#
|
||||
# SCSI Bits.
|
||||
#
|
||||
|
||||
# ACPI
|
||||
|
||||
ApplyPatch Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch
|
||||
|
||||
# ALSA
|
||||
|
||||
# Networking
|
||||
|
||||
# Misc fixes
|
||||
# The input layer spews crap no-one cares about.
|
||||
ApplyPatch input-kill-stupid-messages.patch
|
||||
|
||||
# stop floppy.ko from autoloading during udev...
|
||||
ApplyPatch die-floppy-die.patch
|
||||
|
||||
ApplyPatch no-pcspkr-modalias.patch
|
||||
|
||||
# Silence some useless messages that still get printed with 'quiet'
|
||||
ApplyPatch input-silence-i8042-noise.patch
|
||||
|
||||
# Make fbcon not show the penguins with 'quiet'
|
||||
ApplyPatch silence-fbcon-logo.patch
|
||||
|
||||
# Changes to upstream defaults.
|
||||
#rhbz 1126580
|
||||
ApplyPatch Kbuild-Add-an-option-to-enable-GCC-VTA.patch
|
||||
|
||||
# /dev/crash driver.
|
||||
ApplyPatch crash-driver.patch
|
||||
|
||||
# crypto/
|
||||
|
||||
# secure boot
|
||||
ApplyPatch Add-secure_modules-call.patch
|
||||
|
||||
ApplyPatch PCI-Lock-down-BAR-access-when-module-security-is-ena.patch
|
||||
|
||||
ApplyPatch x86-Lock-down-IO-port-access-when-module-security-is.patch
|
||||
|
||||
ApplyPatch ACPI-Limit-access-to-custom_method.patch
|
||||
|
||||
ApplyPatch asus-wmi-Restrict-debugfs-interface-when-module-load.patch
|
||||
|
||||
ApplyPatch Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch
|
||||
|
||||
ApplyPatch acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch
|
||||
|
||||
ApplyPatch kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch
|
||||
|
||||
ApplyPatch x86-Restrict-MSR-access-when-module-loading-is-restr.patch
|
||||
|
||||
ApplyPatch Add-option-to-automatically-enforce-module-signature.patch
|
||||
|
||||
ApplyPatch efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch
|
||||
|
||||
ApplyPatch efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch
|
||||
|
||||
ApplyPatch efi-Add-EFI_SECURE_BOOT-bit.patch
|
||||
|
||||
ApplyPatch hibernate-Disable-in-a-signed-modules-environment.patch
|
||||
|
||||
ApplyPatch Add-EFI-signature-data-types.patch
|
||||
|
||||
ApplyPatch Add-an-EFI-signature-blob-parser-and-key-loader.patch
|
||||
|
||||
ApplyPatch KEYS-Add-a-system-blacklist-keyring.patch
|
||||
|
||||
ApplyPatch MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch
|
||||
|
||||
ApplyPatch MODSIGN-Support-not-importing-certs-from-db.patch
|
||||
|
||||
ApplyPatch Add-sysrq-option-to-disable-secure-boot-mode.patch
|
||||
|
||||
ApplyPatch efi-Add-esrt-support.patch
|
||||
|
||||
# Assorted Virt Fixes
|
||||
|
||||
# DRM core
|
||||
|
||||
# Nouveau DRM
|
||||
|
||||
# Intel DRM
|
||||
ApplyPatch drm-i915-hush-check-crtc-state.patch
|
||||
|
||||
# Radeon DRM
|
||||
|
||||
# Patches headed upstream
|
||||
ApplyPatch disable-i8042-check-on-apple-mac.patch
|
||||
|
||||
ApplyPatch lis3-improve-handling-of-null-rate.patch
|
||||
|
||||
# Disable watchdog on virtual machines.
|
||||
ApplyPatch watchdog-Disable-watchdog-on-virtual-machines.patch
|
||||
|
||||
#rhbz 754518
|
||||
ApplyPatch scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch
|
||||
|
||||
# https://fedoraproject.org/wiki/Features/Checkpoint_Restore
|
||||
ApplyPatch criu-no-expert.patch
|
||||
|
||||
#rhbz 892811
|
||||
ApplyPatch ath9k-rx-dma-stop-check.patch
|
||||
|
||||
#CVE-2015-2150 rhbz 1196266 1200397
|
||||
ApplyPatch xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch
|
||||
|
||||
#rhbz 1212230
|
||||
ApplyPatch Input-synaptics-pin-3-touches-when-the-firmware-repo.patch
|
||||
|
||||
#rhbz 1210857
|
||||
ApplyPatch blk-loop-avoid-too-many-pending-per-work-IO.patch
|
||||
ApplyPatch blk-loop-avoid-too-many-pending-work-IO.patch
|
||||
|
||||
#rhbz 1220118
|
||||
ApplyPatch media-Fix-regression-in-some-more-dib0700-based-devi.patch
|
||||
|
||||
ApplyPatch v4l-uvcvideo-Fix-incorrect-bandwidth-with-Chicony-de.patch
|
||||
|
||||
#rhbz 1217249
|
||||
ApplyPatch acpi_video-Add-enable_native_backlight-quirk-for-Mac.patch
|
||||
|
||||
#rhbz 1225563
|
||||
ApplyPatch HID-lenovo-set-INPUT_PROP_POINTING_STICK.patch
|
||||
|
||||
#rhbz 1133378
|
||||
ApplyPatch firmware-Drop-WARN-from-usermodehelper_read_trylock-.patch
|
||||
|
||||
#rhbz 1226743
|
||||
ApplyPatch drm-i915-turn-off-wc-mmaps.patch
|
||||
|
||||
# CVE-2015-XXXX rhbz 1230770 1230774
|
||||
ApplyPatch kvm-x86-fix-kvm_apic_has_events-to-check-for-NULL-po.patch
|
||||
|
||||
#rhbz 1227891
|
||||
ApplyPatch HID-rmi-Disable-populating-F30-when-the-touchpad-has.patch
|
||||
|
||||
# END OF PATCH APPLICATIONS
|
||||
|
||||
@ -2224,6 +2147,9 @@ fi
|
||||
#
|
||||
#
|
||||
%changelog
|
||||
* Thu Jun 25 2015 Josh Boyer <jwboyer@fedoraproject.org>
|
||||
- Linux v4.1-5596-gaefbef10e3ae
|
||||
|
||||
* Mon Jun 22 2015 Josh Boyer <jwboyer@fedoraproject.org> - 4.1.0-1
|
||||
- Linux v4.1
|
||||
|
||||
|
@ -1,25 +0,0 @@
|
||||
From: Paolo Bonzini <pbonzini@redhat.com>
|
||||
Date: Thu, 4 Jun 2015 10:18:22 +0200
|
||||
Subject: [PATCH] kvm: x86: fix kvm_apic_has_events to check for NULL pointer
|
||||
|
||||
Malicious (or egregiously buggy) userspace can trigger it, but it
|
||||
should never happen in normal operation.
|
||||
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
---
|
||||
arch/x86/kvm/lapic.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/x86/kvm/lapic.h b/arch/x86/kvm/lapic.h
|
||||
index 9d28383fc1e7..c4ea87eedf8a 100644
|
||||
--- a/arch/x86/kvm/lapic.h
|
||||
+++ b/arch/x86/kvm/lapic.h
|
||||
@@ -150,7 +150,7 @@ static inline bool kvm_apic_vid_enabled(struct kvm *kvm)
|
||||
|
||||
static inline bool kvm_apic_has_events(struct kvm_vcpu *vcpu)
|
||||
{
|
||||
- return vcpu->arch.apic->pending_events;
|
||||
+ return kvm_vcpu_has_lapic(vcpu) && vcpu->arch.apic->pending_events;
|
||||
}
|
||||
|
||||
bool kvm_apic_pending_eoi(struct kvm_vcpu *vcpu, int vector);
|
@ -19,10 +19,10 @@ Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/Kconfig b/lib/Kconfig
|
||||
index 601965a948e8..028213cf0e4d 100644
|
||||
index 34e332b8d326..7f0fb38d001f 100644
|
||||
--- a/lib/Kconfig
|
||||
+++ b/lib/Kconfig
|
||||
@@ -390,7 +390,8 @@ config CHECK_SIGNATURE
|
||||
@@ -396,7 +396,8 @@ config CHECK_SIGNATURE
|
||||
bool
|
||||
|
||||
config CPUMASK_OFFSTACK
|
||||
|
@ -10,7 +10,7 @@ exercise left to the reader.
|
||||
1 file changed, 11 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c
|
||||
index 13b45f297727..f84ce0135c38 100644
|
||||
index b2de09d3b1a0..bced65ec07cc 100644
|
||||
--- a/drivers/pinctrl/pinctrl-single.c
|
||||
+++ b/drivers/pinctrl/pinctrl-single.c
|
||||
@@ -2025,7 +2025,17 @@ static struct platform_driver pcs_driver = {
|
||||
|
@ -9,7 +9,7 @@ Upstream-status: Fedora mustard (might be worth dropping...)
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
|
||||
index 7f9d65fe4fd9..371e2cb79c11 100644
|
||||
index 3b2fcb4fada0..f0f9e8574303 100644
|
||||
--- a/drivers/scsi/sd.c
|
||||
+++ b/drivers/scsi/sd.c
|
||||
@@ -2717,13 +2717,18 @@ static int sd_try_extended_inquiry(struct scsi_device *sdp)
|
||||
|
3
sources
3
sources
@ -1,2 +1,3 @@
|
||||
fe9dc0f6729f36400ea81aa41d614c37 linux-4.1.tar.xz
|
||||
5b4d0e18c713a479a7b4c1aa53a7432b perf-man-4.1.tar.gz
|
||||
84e34c2f58901edcc5c840fe9893c02e perf-man-4.1.tar.gz
|
||||
424d9767af06f914a4dccd5421a64f6d patch-4.1-git1.xz
|
||||
|
@ -20,18 +20,18 @@ Signed-off-by: Dave Jones <davej@redhat.com>
|
||||
1 file changed, 29 insertions(+)
|
||||
|
||||
diff --git a/kernel/watchdog.c b/kernel/watchdog.c
|
||||
index 581a68a04c64..18b609d3360a 100644
|
||||
index a6ffa43f2993..b378b762844a 100644
|
||||
--- a/kernel/watchdog.c
|
||||
+++ b/kernel/watchdog.c
|
||||
@@ -19,6 +19,7 @@
|
||||
#include <linux/sysctl.h>
|
||||
@@ -20,6 +20,7 @@
|
||||
#include <linux/smpboot.h>
|
||||
#include <linux/sched/rt.h>
|
||||
#include <linux/tick.h>
|
||||
+#include <linux/dmi.h>
|
||||
|
||||
#include <asm/irq_regs.h>
|
||||
#include <linux/kvm_para.h>
|
||||
@@ -148,6 +149,32 @@ static int __init softlockup_all_cpu_backtrace_setup(char *str)
|
||||
@@ -155,6 +156,32 @@ static int __init softlockup_all_cpu_backtrace_setup(char *str)
|
||||
__setup("softlockup_all_cpu_backtrace=", softlockup_all_cpu_backtrace_setup);
|
||||
#endif
|
||||
|
||||
@ -64,7 +64,7 @@ index 581a68a04c64..18b609d3360a 100644
|
||||
/*
|
||||
* Hard-lockup warnings should be triggered after just a few seconds. Soft-
|
||||
* lockups can have false positives under extreme conditions. So we generally
|
||||
@@ -883,6 +910,8 @@ out:
|
||||
@@ -928,6 +955,8 @@ int proc_watchdog_cpumask(struct ctl_table *table, int write,
|
||||
|
||||
void __init lockup_detector_init(void)
|
||||
{
|
||||
@ -72,4 +72,4 @@ index 581a68a04c64..18b609d3360a 100644
|
||||
+
|
||||
set_sample_period();
|
||||
|
||||
if (watchdog_enabled)
|
||||
#ifdef CONFIG_NO_HZ_FULL
|
||||
|
Loading…
Reference in New Issue
Block a user