kernel-5.8.0-0.rc3.20200630git7c30b859a947.1

* Tue Jun 30 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc3.20200630git7c30b859a947.1]
- 7c30b859a947 rebase
- Updated changelog for the release based on v5.8-rc3 (Fedora Kernel Team)
Resolves: rhbz#

Signed-off-by: Justin M. Forbes <jforbes@fedoraproject.org>
This commit is contained in:
Justin M. Forbes 2020-06-30 09:24:22 -05:00
parent 61b5e2fd06
commit d176dfce22
95 changed files with 360 additions and 346 deletions

View File

@ -54,7 +54,7 @@ index 953a2fae8b15..7ea07f7da582 100644
@@ -88,6 +88,14 @@ int apei_hest_parse(apei_hest_func_t func, void *data) @@ -88,6 +88,14 @@ int apei_hest_parse(apei_hest_func_t func, void *data)
if (hest_disable || !hest_tab) if (hest_disable || !hest_tab)
return -EINVAL; return -EINVAL;
+#ifdef CONFIG_ARM64 +#ifdef CONFIG_ARM64
+ /* Ignore broken firmware */ + /* Ignore broken firmware */
+ if (!strncmp(hest_tab->header.oem_id, "HPE ", 6) && + if (!strncmp(hest_tab->header.oem_id, "HPE ", 6) &&
@ -67,5 +67,5 @@ index 953a2fae8b15..7ea07f7da582 100644
for (i = 0; i < hest_tab->error_source_count; i++) { for (i = 0; i < hest_tab->error_source_count; i++) {
len = hest_esrc_len(hest_hdr); len = hest_esrc_len(hest_hdr);
-- --
2.25.4 2.26.2

View File

@ -37,7 +37,7 @@ index e209081d644b..7484bcf59a1b 100644
struct irq_fwspec *fwspec; struct irq_fwspec *fwspec;
+ bool skip_producer_check; + bool skip_producer_check;
}; };
/** /**
@@ -197,7 +198,8 @@ static acpi_status acpi_irq_parse_one_cb(struct acpi_resource *ares, @@ -197,7 +198,8 @@ static acpi_status acpi_irq_parse_one_cb(struct acpi_resource *ares,
return AE_CTRL_TERMINATE; return AE_CTRL_TERMINATE;
@ -55,7 +55,7 @@ index e209081d644b..7484bcf59a1b 100644
{ {
- struct acpi_irq_parse_one_ctx ctx = { -EINVAL, index, flags, fwspec }; - struct acpi_irq_parse_one_ctx ctx = { -EINVAL, index, flags, fwspec };
+ struct acpi_irq_parse_one_ctx ctx = { -EINVAL, index, flags, fwspec, false }; + struct acpi_irq_parse_one_ctx ctx = { -EINVAL, index, flags, fwspec, false };
+ /* + /*
+ * Firmware on arm64-based HPE m400 platform incorrectly marks + * Firmware on arm64-based HPE m400 platform incorrectly marks
+ * its UART interrupt as ACPI_PRODUCER rather than ACPI_CONSUMER. + * its UART interrupt as ACPI_PRODUCER rather than ACPI_CONSUMER.
@ -71,5 +71,5 @@ index e209081d644b..7484bcf59a1b 100644
return ctx.rc; return ctx.rc;
} }
-- --
2.25.4 2.26.2

View File

@ -79,8 +79,8 @@ index 98c6b91be4a8..60055827dddc 100644
+ uaccess_restore(__ua_flags); \ + uaccess_restore(__ua_flags); \
+ __err; \ + __err; \
}) })
#define get_user(x, p) \ #define get_user(x, p) \
-- --
2.25.4 2.26.2

View File

@ -16,7 +16,7 @@ index b1e14beaac5f..b28779779058 100644
@@ -5517,6 +5517,13 @@ static void hub_event(struct work_struct *work) @@ -5517,6 +5517,13 @@ static void hub_event(struct work_struct *work)
(u16) hub->change_bits[0], (u16) hub->change_bits[0],
(u16) hub->event_bits[0]); (u16) hub->event_bits[0]);
+ /* Don't disconnect USB-SATA on TrimSlice */ + /* Don't disconnect USB-SATA on TrimSlice */
+ if (strcmp(dev_name(hdev->bus->controller), "tegra-ehci.0") == 0) { + if (strcmp(dev_name(hdev->bus->controller), "tegra-ehci.0") == 0) {
+ if ((hdev->state == 7) && (hub->change_bits[0] == 0) && + if ((hdev->state == 7) && (hub->change_bits[0] == 0) &&
@ -28,5 +28,5 @@ index b1e14beaac5f..b28779779058 100644
* disconnected while waiting for the lock to succeed. */ * disconnected while waiting for the lock to succeed. */
usb_lock_device(hdev); usb_lock_device(hdev);
-- --
2.25.4 2.26.2

View File

@ -130,12 +130,12 @@ index f3218bc5ec69..c0a4904413b5 100644
@@ -12,6 +12,8 @@ obj-y = fork.o exec_domain.o panic.o \ @@ -12,6 +12,8 @@ obj-y = fork.o exec_domain.o panic.o \
notifier.o ksysfs.o cred.o reboot.o \ notifier.o ksysfs.o cred.o reboot.o \
async.o range.o smpboot.o ucount.o async.o range.o smpboot.o ucount.o
+obj-$(CONFIG_RH_DISABLE_DEPRECATED) += rh_taint.o +obj-$(CONFIG_RH_DISABLE_DEPRECATED) += rh_taint.o
+ +
obj-$(CONFIG_MODULES) += kmod.o obj-$(CONFIG_MODULES) += kmod.o
obj-$(CONFIG_MULTIUSER) += groups.o obj-$(CONFIG_MULTIUSER) += groups.o
diff --git a/kernel/rh_taint.c b/kernel/rh_taint.c diff --git a/kernel/rh_taint.c b/kernel/rh_taint.c
new file mode 100644 new file mode 100644
index 000000000000..8d1641710ed7 index 000000000000..8d1641710ed7
@ -236,5 +236,5 @@ index 000000000000..8d1641710ed7
+} +}
+EXPORT_SYMBOL(mark_driver_unsupported); +EXPORT_SYMBOL(mark_driver_unsupported);
-- --
2.25.4 2.26.2

View File

@ -23,13 +23,13 @@ index 5114cae4ec97..93dcc37a9820 100644
#include <linux/memblock.h> #include <linux/memblock.h>
#include <linux/security.h> #include <linux/security.h>
+#include <linux/bsearch.h> +#include <linux/bsearch.h>
#include <asm/early_ioremap.h> #include <asm/early_ioremap.h>
@@ -827,40 +828,101 @@ int efi_mem_type(unsigned long phys_addr) @@ -827,40 +828,101 @@ int efi_mem_type(unsigned long phys_addr)
} }
#endif #endif
+struct efi_error_code { +struct efi_error_code {
+ efi_status_t status; + efi_status_t status;
+ int errno; + int errno;
@ -134,7 +134,7 @@ index 5114cae4ec97..93dcc37a9820 100644
- } - }
+ struct efi_error_code *found; + struct efi_error_code *found;
+ size_t num = sizeof(efi_error_codes) / sizeof(struct efi_error_code); + size_t num = sizeof(efi_error_codes) / sizeof(struct efi_error_code);
- return err; - return err;
+ found = bsearch((void *)(uintptr_t)status, efi_error_codes, + found = bsearch((void *)(uintptr_t)status, efi_error_codes,
+ sizeof(struct efi_error_code), num, + sizeof(struct efi_error_code), num,
@ -157,7 +157,7 @@ index 5114cae4ec97..93dcc37a9820 100644
+ return "Unknown error code"; + return "Unknown error code";
+ return found->description; + return found->description;
} }
static DEFINE_SPINLOCK(efi_mem_reserve_persistent_lock); static DEFINE_SPINLOCK(efi_mem_reserve_persistent_lock);
diff --git a/include/linux/efi.h b/include/linux/efi.h diff --git a/include/linux/efi.h b/include/linux/efi.h
index bb35f3305e55..1d77c218b67e 100644 index bb35f3305e55..1d77c218b67e 100644
@ -166,7 +166,7 @@ index bb35f3305e55..1d77c218b67e 100644
@@ -43,6 +43,8 @@ @@ -43,6 +43,8 @@
#define EFI_ABORTED (21 | (1UL << (BITS_PER_LONG-1))) #define EFI_ABORTED (21 | (1UL << (BITS_PER_LONG-1)))
#define EFI_SECURITY_VIOLATION (26 | (1UL << (BITS_PER_LONG-1))) #define EFI_SECURITY_VIOLATION (26 | (1UL << (BITS_PER_LONG-1)))
+#define EFI_IS_ERROR(x) ((x) & (1UL << (BITS_PER_LONG-1))) +#define EFI_IS_ERROR(x) ((x) & (1UL << (BITS_PER_LONG-1)))
+ +
typedef unsigned long efi_status_t; typedef unsigned long efi_status_t;
@ -174,12 +174,12 @@ index bb35f3305e55..1d77c218b67e 100644
typedef u16 efi_char16_t; /* UNICODE character */ typedef u16 efi_char16_t; /* UNICODE character */
@@ -828,6 +830,7 @@ static inline bool efi_rt_services_supported(unsigned int mask) @@ -828,6 +830,7 @@ static inline bool efi_rt_services_supported(unsigned int mask)
#endif #endif
extern int efi_status_to_err(efi_status_t status); extern int efi_status_to_err(efi_status_t status);
+extern const char *efi_status_to_str(efi_status_t status); +extern const char *efi_status_to_str(efi_status_t status);
/* /*
* Variable Attributes * Variable Attributes
-- --
2.25.4 2.26.2

View File

@ -28,5 +28,5 @@ index 2e0700a451e5..77e7e749d7e5 100644
default "11" default "11"
help help
-- --
2.25.4 2.26.2

View File

@ -140,7 +140,7 @@ index 95c090a45b4b..bcc6d2df56c0 100644
+ get_model_name(c); /* RHEL: get model name for unsupported check */ + get_model_name(c); /* RHEL: get model name for unsupported check */
get_cpu_address_sizes(c); get_cpu_address_sizes(c);
setup_force_cpu_cap(X86_FEATURE_CPUID); setup_force_cpu_cap(X86_FEATURE_CPUID);
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index a3767e74c758..a1b8cb9a2579 100644 index a3767e74c758..a1b8cb9a2579 100644
--- a/arch/x86/kernel/setup.c --- a/arch/x86/kernel/setup.c
@ -150,7 +150,7 @@ index a3767e74c758..a1b8cb9a2579 100644
#include <asm/vsyscall.h> #include <asm/vsyscall.h>
#include <linux/vmalloc.h> #include <linux/vmalloc.h>
+#include <asm/intel-family.h> +#include <asm/intel-family.h>
/* /*
* max_low_pfn_mapped: highest directly mapped pfn < 4 GB * max_low_pfn_mapped: highest directly mapped pfn < 4 GB
@@ -753,7 +754,132 @@ static void __init trim_low_memory_range(void) @@ -753,7 +754,132 @@ static void __init trim_low_memory_range(void)
@ -290,14 +290,14 @@ index a3767e74c758..a1b8cb9a2579 100644
@@ -1250,6 +1376,10 @@ void __init setup_arch(char **cmdline_p) @@ -1250,6 +1376,10 @@ void __init setup_arch(char **cmdline_p)
efi_apply_memmap_quirks(); efi_apply_memmap_quirks();
#endif #endif
+#ifdef CONFIG_RH_DISABLE_DEPRECATED +#ifdef CONFIG_RH_DISABLE_DEPRECATED
+ rh_check_supported(); + rh_check_supported();
+#endif +#endif
+ +
unwind_init(); unwind_init();
} }
-- --
2.25.4 2.26.2

View File

@ -21,5 +21,5 @@ index a3ec72fe1d8a..8dd82ad14236 100644
KBUILD_CPPFLAGS := -D__KERNEL__ KBUILD_CPPFLAGS := -D__KERNEL__
KBUILD_AFLAGS_KERNEL := KBUILD_AFLAGS_KERNEL :=
-- --
2.25.4 2.26.2

View File

@ -47,12 +47,12 @@ index 5642eefb4ba1..01c8d750b9e0 100644
@@ -336,6 +336,8 @@ static int __init rxe_module_init(void) @@ -336,6 +336,8 @@ static int __init rxe_module_init(void)
{ {
int err; int err;
+ mark_tech_preview("Soft-RoCE Transport Driver", THIS_MODULE); + mark_tech_preview("Soft-RoCE Transport Driver", THIS_MODULE);
+ +
/* initialize slab caches for managed objects */ /* initialize slab caches for managed objects */
err = rxe_cache_init(); err = rxe_cache_init();
if (err) { if (err) {
-- --
2.25.4 2.26.2

View File

@ -30,25 +30,25 @@ index 8cffa84c9650..6c4e3675601a 100644
struct rmi_data *hdata = hid_get_drvdata(hdev); struct rmi_data *hdata = hid_get_drvdata(hdev);
struct rmi_device *rmi_dev = hdata->xport.rmi_dev; struct rmi_device *rmi_dev = hdata->xport.rmi_dev;
- unsigned long flags; - unsigned long flags;
if (!(test_bit(RMI_STARTED, &hdata->flags))) if (!(test_bit(RMI_STARTED, &hdata->flags)))
return 0; return 0;
- local_irq_save(flags); - local_irq_save(flags);
- -
rmi_set_attn_data(rmi_dev, data[1], &data[2], size - 2); rmi_set_attn_data(rmi_dev, data[1], &data[2], size - 2);
- generic_handle_irq(hdata->rmi_irq); - generic_handle_irq(hdata->rmi_irq);
- -
- local_irq_restore(flags); - local_irq_restore(flags);
- -
return 1; return 1;
} }
@@ -592,56 +585,6 @@ static const struct rmi_transport_ops hid_rmi_ops = { @@ -592,56 +585,6 @@ static const struct rmi_transport_ops hid_rmi_ops = {
.reset = rmi_hid_reset, .reset = rmi_hid_reset,
}; };
-static void rmi_irq_teardown(void *data) -static void rmi_irq_teardown(void *data)
-{ -{
- struct rmi_data *hdata = data; - struct rmi_data *hdata = data;
@ -103,9 +103,9 @@ index 8cffa84c9650..6c4e3675601a 100644
{ {
struct rmi_data *data = NULL; struct rmi_data *data = NULL;
@@ -714,18 +657,11 @@ static int rmi_probe(struct hid_device *hdev, const struct hid_device_id *id) @@ -714,18 +657,11 @@ static int rmi_probe(struct hid_device *hdev, const struct hid_device_id *id)
mutex_init(&data->page_mutex); mutex_init(&data->page_mutex);
- ret = rmi_setup_irq_domain(hdev); - ret = rmi_setup_irq_domain(hdev);
- if (ret) { - if (ret) {
- hid_err(hdev, "failed to allocate IRQ domain\n"); - hid_err(hdev, "failed to allocate IRQ domain\n");
@ -114,26 +114,26 @@ index 8cffa84c9650..6c4e3675601a 100644
- -
if (data->device_flags & RMI_DEVICE_HAS_PHYS_BUTTONS) if (data->device_flags & RMI_DEVICE_HAS_PHYS_BUTTONS)
rmi_hid_pdata.f30_data.disable = true; rmi_hid_pdata.f30_data.disable = true;
data->xport.dev = hdev->dev.parent; data->xport.dev = hdev->dev.parent;
data->xport.pdata = rmi_hid_pdata; data->xport.pdata = rmi_hid_pdata;
- data->xport.pdata.irq = data->rmi_irq; - data->xport.pdata.irq = data->rmi_irq;
data->xport.proto_name = "hid"; data->xport.proto_name = "hid";
data->xport.ops = &hid_rmi_ops; data->xport.ops = &hid_rmi_ops;
diff --git a/drivers/input/rmi4/rmi_driver.c b/drivers/input/rmi4/rmi_driver.c diff --git a/drivers/input/rmi4/rmi_driver.c b/drivers/input/rmi4/rmi_driver.c
index 258d5fe3d395..f7298e3dc8f3 100644 index 258d5fe3d395..f7298e3dc8f3 100644
--- a/drivers/input/rmi4/rmi_driver.c --- a/drivers/input/rmi4/rmi_driver.c
+++ b/drivers/input/rmi4/rmi_driver.c +++ b/drivers/input/rmi4/rmi_driver.c
@@ -182,34 +182,47 @@ void rmi_set_attn_data(struct rmi_device *rmi_dev, unsigned long irq_status, @@ -182,34 +182,47 @@ void rmi_set_attn_data(struct rmi_device *rmi_dev, unsigned long irq_status,
attn_data.data = fifo_data; attn_data.data = fifo_data;
kfifo_put(&drvdata->attn_fifo, attn_data); kfifo_put(&drvdata->attn_fifo, attn_data);
+ +
+ schedule_work(&drvdata->attn_work); + schedule_work(&drvdata->attn_work);
} }
EXPORT_SYMBOL_GPL(rmi_set_attn_data); EXPORT_SYMBOL_GPL(rmi_set_attn_data);
-static irqreturn_t rmi_irq_fn(int irq, void *dev_id) -static irqreturn_t rmi_irq_fn(int irq, void *dev_id)
+static void attn_callback(struct work_struct *work) +static void attn_callback(struct work_struct *work)
{ {
@ -144,7 +144,7 @@ index 258d5fe3d395..f7298e3dc8f3 100644
+ attn_work); + attn_work);
struct rmi4_attn_data attn_data = {0}; struct rmi4_attn_data attn_data = {0};
int ret, count; int ret, count;
count = kfifo_get(&drvdata->attn_fifo, &attn_data); count = kfifo_get(&drvdata->attn_fifo, &attn_data);
- if (count) { - if (count) {
- *(drvdata->irq_status) = attn_data.irq_status; - *(drvdata->irq_status) = attn_data.irq_status;
@ -152,7 +152,7 @@ index 258d5fe3d395..f7298e3dc8f3 100644
- } - }
+ if (!count) + if (!count)
+ return; + return;
- ret = rmi_process_interrupt_requests(rmi_dev); - ret = rmi_process_interrupt_requests(rmi_dev);
+ *(drvdata->irq_status) = attn_data.irq_status; + *(drvdata->irq_status) = attn_data.irq_status;
+ drvdata->attn_data = attn_data; + drvdata->attn_data = attn_data;
@ -162,14 +162,14 @@ index 258d5fe3d395..f7298e3dc8f3 100644
- rmi_dbg(RMI_DEBUG_CORE, &rmi_dev->dev, - rmi_dbg(RMI_DEBUG_CORE, &rmi_dev->dev,
+ rmi_dbg(RMI_DEBUG_CORE, &drvdata->rmi_dev->dev, + rmi_dbg(RMI_DEBUG_CORE, &drvdata->rmi_dev->dev,
"Failed to process interrupt request: %d\n", ret); "Failed to process interrupt request: %d\n", ret);
- if (count) { - if (count) {
- kfree(attn_data.data); - kfree(attn_data.data);
- drvdata->attn_data.data = NULL; - drvdata->attn_data.data = NULL;
- } - }
+ kfree(attn_data.data); + kfree(attn_data.data);
+ drvdata->attn_data.data = NULL; + drvdata->attn_data.data = NULL;
if (!kfifo_is_empty(&drvdata->attn_fifo)) if (!kfifo_is_empty(&drvdata->attn_fifo))
- return rmi_irq_fn(irq, dev_id); - return rmi_irq_fn(irq, dev_id);
+ schedule_work(&drvdata->attn_work); + schedule_work(&drvdata->attn_work);
@ -184,7 +184,7 @@ index 258d5fe3d395..f7298e3dc8f3 100644
+ if (ret) + if (ret)
+ rmi_dbg(RMI_DEBUG_CORE, &rmi_dev->dev, + rmi_dbg(RMI_DEBUG_CORE, &rmi_dev->dev,
+ "Failed to process interrupt request: %d\n", ret); + "Failed to process interrupt request: %d\n", ret);
return IRQ_HANDLED; return IRQ_HANDLED;
} }
@@ -217,7 +230,6 @@ static irqreturn_t rmi_irq_fn(int irq, void *dev_id) @@ -217,7 +230,6 @@ static irqreturn_t rmi_irq_fn(int irq, void *dev_id)
@ -194,20 +194,20 @@ index 258d5fe3d395..f7298e3dc8f3 100644
- struct rmi_driver_data *data = dev_get_drvdata(&rmi_dev->dev); - struct rmi_driver_data *data = dev_get_drvdata(&rmi_dev->dev);
int irq_flags = irq_get_trigger_type(pdata->irq); int irq_flags = irq_get_trigger_type(pdata->irq);
int ret; int ret;
@@ -235,8 +247,6 @@ static int rmi_irq_init(struct rmi_device *rmi_dev) @@ -235,8 +247,6 @@ static int rmi_irq_init(struct rmi_device *rmi_dev)
return ret; return ret;
} }
- data->enabled = true; - data->enabled = true;
- -
return 0; return 0;
} }
@@ -886,23 +896,27 @@ void rmi_enable_irq(struct rmi_device *rmi_dev, bool clear_wake) @@ -886,23 +896,27 @@ void rmi_enable_irq(struct rmi_device *rmi_dev, bool clear_wake)
if (data->enabled) if (data->enabled)
goto out; goto out;
- enable_irq(irq); - enable_irq(irq);
- data->enabled = true; - data->enabled = true;
- if (clear_wake && device_may_wakeup(rmi_dev->xport->dev)) { - if (clear_wake && device_may_wakeup(rmi_dev->xport->dev)) {
@ -227,7 +227,7 @@ index 258d5fe3d395..f7298e3dc8f3 100644
+ "Failed to disable irq for wake: %d\n", + "Failed to disable irq for wake: %d\n",
+ retval); + retval);
+ } + }
- /* - /*
- * Call rmi_process_interrupt_requests() after enabling irq, - * Call rmi_process_interrupt_requests() after enabling irq,
- * otherwise we may lose interrupt on edge-triggered systems. - * otherwise we may lose interrupt on edge-triggered systems.
@ -245,12 +245,12 @@ index 258d5fe3d395..f7298e3dc8f3 100644
+ } else { + } else {
+ data->enabled = true; + data->enabled = true;
+ } + }
out: out:
mutex_unlock(&data->enabled_mutex); mutex_unlock(&data->enabled_mutex);
@@ -922,20 +936,22 @@ void rmi_disable_irq(struct rmi_device *rmi_dev, bool enable_wake) @@ -922,20 +936,22 @@ void rmi_disable_irq(struct rmi_device *rmi_dev, bool enable_wake)
goto out; goto out;
data->enabled = false; data->enabled = false;
- disable_irq(irq); - disable_irq(irq);
- if (enable_wake && device_may_wakeup(rmi_dev->xport->dev)) { - if (enable_wake && device_may_wakeup(rmi_dev->xport->dev)) {
@ -283,21 +283,21 @@ index 258d5fe3d395..f7298e3dc8f3 100644
+ kfree(attn_data.data); + kfree(attn_data.data);
+ } + }
} }
out: out:
@@ -981,6 +997,8 @@ static int rmi_driver_remove(struct device *dev) @@ -981,6 +997,8 @@ static int rmi_driver_remove(struct device *dev)
irq_domain_remove(data->irqdomain); irq_domain_remove(data->irqdomain);
data->irqdomain = NULL; data->irqdomain = NULL;
+ cancel_work_sync(&data->attn_work); + cancel_work_sync(&data->attn_work);
+ +
rmi_f34_remove_sysfs(rmi_dev); rmi_f34_remove_sysfs(rmi_dev);
rmi_free_function_list(rmi_dev); rmi_free_function_list(rmi_dev);
@@ -1219,9 +1237,15 @@ static int rmi_driver_probe(struct device *dev) @@ -1219,9 +1237,15 @@ static int rmi_driver_probe(struct device *dev)
} }
} }
- retval = rmi_irq_init(rmi_dev); - retval = rmi_irq_init(rmi_dev);
- if (retval < 0) - if (retval < 0)
- goto err_destroy_functions; - goto err_destroy_functions;
@ -310,7 +310,7 @@ index 258d5fe3d395..f7298e3dc8f3 100644
+ data->enabled = true; + data->enabled = true;
+ +
+ INIT_WORK(&data->attn_work, attn_callback); + INIT_WORK(&data->attn_work, attn_callback);
if (data->f01_container->dev.driver) { if (data->f01_container->dev.driver) {
/* Driver already bound, so enable ATTN now. */ /* Driver already bound, so enable ATTN now. */
diff --git a/include/linux/rmi.h b/include/linux/rmi.h diff --git a/include/linux/rmi.h b/include/linux/rmi.h
@ -318,13 +318,13 @@ index 7b22366d0065..307a651b2755 100644
--- a/include/linux/rmi.h --- a/include/linux/rmi.h
+++ b/include/linux/rmi.h +++ b/include/linux/rmi.h
@@ -363,6 +363,7 @@ struct rmi_driver_data { @@ -363,6 +363,7 @@ struct rmi_driver_data {
struct rmi4_attn_data attn_data; struct rmi4_attn_data attn_data;
DECLARE_KFIFO(attn_fifo, struct rmi4_attn_data, 16); DECLARE_KFIFO(attn_fifo, struct rmi4_attn_data, 16);
+ struct work_struct attn_work; + struct work_struct attn_work;
}; };
int rmi_register_transport_device(struct rmi_transport_dev *xport); int rmi_register_transport_device(struct rmi_transport_dev *xport);
-- --
2.25.4 2.26.2

View File

@ -32,7 +32,7 @@ index 745bc773f567..f57ff40109d7 100644
+++ b/Kconfig +++ b/Kconfig
@@ -30,3 +30,5 @@ source "lib/Kconfig" @@ -30,3 +30,5 @@ source "lib/Kconfig"
source "lib/Kconfig.debug" source "lib/Kconfig.debug"
source "Documentation/Kconfig" source "Documentation/Kconfig"
+ +
+source "Kconfig.redhat" +source "Kconfig.redhat"
@ -60,5 +60,5 @@ index 000000000000..733a26bd887a
+ +
+endmenu +endmenu
-- --
2.25.4 2.26.2

View File

@ -25,7 +25,7 @@ index 9d9fc678c91d..84ad75a53c83 100644
@@ -38,8 +38,15 @@ int mod_verify_sig(const void *mod, struct load_info *info) @@ -38,8 +38,15 @@ int mod_verify_sig(const void *mod, struct load_info *info)
modlen -= sig_len + sizeof(ms); modlen -= sig_len + sizeof(ms);
info->len = modlen; info->len = modlen;
- return verify_pkcs7_signature(mod, modlen, mod + modlen, sig_len, - return verify_pkcs7_signature(mod, modlen, mod + modlen, sig_len,
+ ret = verify_pkcs7_signature(mod, modlen, mod + modlen, sig_len, + ret = verify_pkcs7_signature(mod, modlen, mod + modlen, sig_len,
VERIFY_USE_SECONDARY_KEYRING, VERIFY_USE_SECONDARY_KEYRING,
@ -40,5 +40,5 @@ index 9d9fc678c91d..84ad75a53c83 100644
+ return ret; + return ret;
} }
-- --
2.25.4 2.26.2

View File

@ -17,14 +17,14 @@ index 253fb9a7fc98..8c95b68d86d4 100644
+++ b/security/integrity/platform_certs/load_uefi.c +++ b/security/integrity/platform_certs/load_uefi.c
@@ -46,7 +46,8 @@ static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid, @@ -46,7 +46,8 @@ static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid,
return NULL; return NULL;
if (*status != EFI_BUFFER_TOO_SMALL) { if (*status != EFI_BUFFER_TOO_SMALL) {
- pr_err("Couldn't get size: 0x%lx\n", *status); - pr_err("Couldn't get size: 0x%lx\n", *status);
+ pr_err("Couldn't get size: %s (0x%lx)\n", + pr_err("Couldn't get size: %s (0x%lx)\n",
+ efi_status_to_str(*status), *status); + efi_status_to_str(*status), *status);
return NULL; return NULL;
} }
@@ -57,7 +58,8 @@ static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid, @@ -57,7 +58,8 @@ static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid,
*status = efi.get_variable(name, guid, NULL, &lsize, db); *status = efi.get_variable(name, guid, NULL, &lsize, db);
if (*status != EFI_SUCCESS) { if (*status != EFI_SUCCESS) {
@ -34,7 +34,7 @@ index 253fb9a7fc98..8c95b68d86d4 100644
+ efi_status_to_str(*status), *status); + efi_status_to_str(*status), *status);
return NULL; return NULL;
} }
-- --
2.25.4 2.26.2

View File

@ -61,5 +61,5 @@ index 235b456698fc..d5a4a167ffa1 100644
.has_cache_bars = false, .has_cache_bars = false,
.ectl.enable = false, .ectl.enable = false,
-- --
2.25.4 2.26.2

View File

@ -17,11 +17,11 @@ index 48a7abae02d2..2d826a14824a 100644
+++ b/Makefile +++ b/Makefile
@@ -16,6 +16,7 @@ PHONY := _all @@ -16,6 +16,7 @@ PHONY := _all
_all: _all:
# Set RHEL variables # Set RHEL variables
+# Use this spot to avoid future merge conflicts +# Use this spot to avoid future merge conflicts
include Makefile.rhelver include Makefile.rhelver
# We are using a recursive build, so we need to do a little thinking # We are using a recursive build, so we need to do a little thinking
@@ -1172,13 +1173,7 @@ endef @@ -1172,13 +1173,7 @@ endef
define filechk_version.h define filechk_version.h
@ -36,8 +36,8 @@ index 48a7abae02d2..2d826a14824a 100644
- echo '#define RHEL_RELEASE "$(RHEL_RELEASE)"' - echo '#define RHEL_RELEASE "$(RHEL_RELEASE)"'
+ echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))' + echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))'
endef endef
$(version_h): FORCE $(version_h): FORCE
-- --
2.25.4 2.26.2

View File

@ -34,7 +34,7 @@ index d48414e295a0..ba0e384412c9 100644
+++ b/drivers/scsi/lpfc/lpfc_ids.h +++ b/drivers/scsi/lpfc/lpfc_ids.h
@@ -24,6 +24,7 @@ @@ -24,6 +24,7 @@
#include <linux/pci.h> #include <linux/pci.h>
const struct pci_device_id lpfc_id_table[] = { const struct pci_device_id lpfc_id_table[] = {
+#ifndef CONFIG_RHEL_DIFFERENCES +#ifndef CONFIG_RHEL_DIFFERENCES
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_VIPER, {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_VIPER,
@ -109,5 +109,5 @@ index d48414e295a0..ba0e384412c9 100644
PCI_ANY_ID, PCI_ANY_ID, }, PCI_ANY_ID, PCI_ANY_ID, },
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_G7_FC, {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_G7_FC,
-- --
2.25.4 2.26.2

View File

@ -29,9 +29,9 @@ index 733a26bd887a..effb81d04bfd 100644
--- a/Kconfig.redhat --- a/Kconfig.redhat
+++ b/Kconfig.redhat +++ b/Kconfig.redhat
@@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
menu "Red Hat options" menu "Red Hat options"
-config RH_DISABLE_DEPRECATED -config RH_DISABLE_DEPRECATED
+config RHEL_DIFFERENCES +config RHEL_DIFFERENCES
bool "Remove support for deprecated features" bool "Remove support for deprecated features"
@ -44,20 +44,20 @@ index 19d57bfc12f9..e677bb144835 100644
@@ -1372,7 +1372,7 @@ void __init setup_arch(char **cmdline_p) @@ -1372,7 +1372,7 @@ void __init setup_arch(char **cmdline_p)
efi_apply_memmap_quirks(); efi_apply_memmap_quirks();
#endif #endif
-#ifdef CONFIG_RH_DISABLE_DEPRECATED -#ifdef CONFIG_RH_DISABLE_DEPRECATED
+#ifdef CONFIG_RHEL_DIFFERENCES +#ifdef CONFIG_RHEL_DIFFERENCES
rh_check_supported(); rh_check_supported();
#endif #endif
diff --git a/include/linux/kernel.h b/include/linux/kernel.h diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index 0a0081b10edb..cfaaa6a234d4 100644 index 0a0081b10edb..cfaaa6a234d4 100644
--- a/include/linux/kernel.h --- a/include/linux/kernel.h
+++ b/include/linux/kernel.h +++ b/include/linux/kernel.h
@@ -1058,7 +1058,7 @@ static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { } @@ -1058,7 +1058,7 @@ static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { }
struct module; struct module;
-#ifdef CONFIG_RH_DISABLE_DEPRECATED -#ifdef CONFIG_RH_DISABLE_DEPRECATED
+#ifdef CONFIG_RHEL_DIFFERENCES +#ifdef CONFIG_RHEL_DIFFERENCES
void mark_hardware_unsupported(const char *msg); void mark_hardware_unsupported(const char *msg);
@ -70,12 +70,12 @@ index c0a4904413b5..1a0c362cddfb 100644
@@ -12,7 +12,7 @@ obj-y = fork.o exec_domain.o panic.o \ @@ -12,7 +12,7 @@ obj-y = fork.o exec_domain.o panic.o \
notifier.o ksysfs.o cred.o reboot.o \ notifier.o ksysfs.o cred.o reboot.o \
async.o range.o smpboot.o ucount.o async.o range.o smpboot.o ucount.o
-obj-$(CONFIG_RH_DISABLE_DEPRECATED) += rh_taint.o -obj-$(CONFIG_RH_DISABLE_DEPRECATED) += rh_taint.o
+obj-$(CONFIG_RHEL_DIFFERENCES) += rh_taint.o +obj-$(CONFIG_RHEL_DIFFERENCES) += rh_taint.o
obj-$(CONFIG_MODULES) += kmod.o obj-$(CONFIG_MODULES) += kmod.o
obj-$(CONFIG_MULTIUSER) += groups.o obj-$(CONFIG_MULTIUSER) += groups.o
-- --
2.25.4 2.26.2

View File

@ -42,7 +42,7 @@ index 812bfc32ecb8..e09fec76c320 100644
@@ -4183,6 +4183,30 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9000, @@ -4183,6 +4183,30 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9000,
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9084, DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9084,
quirk_bridge_cavm_thrx2_pcie_root); quirk_bridge_cavm_thrx2_pcie_root);
+/* +/*
+ * PCI BAR 5 is not setup correctly for the on-board AHCI controller + * PCI BAR 5 is not setup correctly for the on-board AHCI controller
+ * on Broadcom's Vulcan processor. Added a quirk to fix BAR 5 by + * on Broadcom's Vulcan processor. Added a quirk to fix BAR 5 by
@ -71,5 +71,5 @@ index 812bfc32ecb8..e09fec76c320 100644
* Intersil/Techwell TW686[4589]-based video capture cards have an empty (zero) * Intersil/Techwell TW686[4589]-based video capture cards have an empty (zero)
* class code. Fix it. * class code. Fix it.
-- --
2.25.4 2.26.2

View File

@ -47,5 +47,5 @@ index a308e86a97f1..4d84f95a50ce 100644
{ 0x9005, 0x028c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 63 }, /* Adaptec PMC Series 7 (Denali) */ { 0x9005, 0x028c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 63 }, /* Adaptec PMC Series 7 (Denali) */
{ 0x9005, 0x028d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 64 }, /* Adaptec PMC Series 8 */ { 0x9005, 0x028d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 64 }, /* Adaptec PMC Series 8 */
-- --
2.25.4 2.26.2

View File

@ -34,7 +34,7 @@ index 8777faced51a..2e60d792005f 100644
@@ -1572,6 +1572,15 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device) @@ -1572,6 +1572,15 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device)
if (!acpi_match_device_ids(device, i2c_multi_instantiate_ids)) if (!acpi_match_device_ids(device, i2c_multi_instantiate_ids))
return false; return false;
+ /* + /*
+ * Firmware on some arm64 X-Gene platforms will make the UART + * Firmware on some arm64 X-Gene platforms will make the UART
+ * device appear as both a UART and a slave of that UART. Just + * device appear as both a UART and a slave of that UART. Just
@ -48,5 +48,5 @@ index 8777faced51a..2e60d792005f 100644
acpi_dev_get_resources(device, &resource_list, acpi_dev_get_resources(device, &resource_list,
acpi_check_serial_bus_slave, acpi_check_serial_bus_slave,
-- --
2.25.4 2.26.2

View File

@ -44,13 +44,13 @@ index a7586a4db142..c2a7e30e2143 100644
+++ b/arch/arm64/kernel/acpi.c +++ b/arch/arm64/kernel/acpi.c
@@ -40,7 +40,7 @@ int acpi_pci_disabled = 1; /* skip ACPI PCI scan and IRQ initialization */ @@ -40,7 +40,7 @@ int acpi_pci_disabled = 1; /* skip ACPI PCI scan and IRQ initialization */
EXPORT_SYMBOL(acpi_pci_disabled); EXPORT_SYMBOL(acpi_pci_disabled);
static bool param_acpi_off __initdata; static bool param_acpi_off __initdata;
-static bool param_acpi_on __initdata; -static bool param_acpi_on __initdata;
+static bool param_acpi_on __initdata = true; +static bool param_acpi_on __initdata = true;
static bool param_acpi_force __initdata; static bool param_acpi_force __initdata;
static int __init parse_acpi(char *arg) static int __init parse_acpi(char *arg)
-- --
2.25.4 2.26.2

View File

@ -51,7 +51,7 @@ index b82db0c0caec..28be75396242 100644
+/* End of Red Hat-specific taint flags */ +/* End of Red Hat-specific taint flags */
+#define TAINT_FLAGS_COUNT 32 +#define TAINT_FLAGS_COUNT 32
#define TAINT_FLAGS_MAX ((1UL << TAINT_FLAGS_COUNT) - 1) #define TAINT_FLAGS_MAX ((1UL << TAINT_FLAGS_COUNT) - 1)
struct taint_flag { struct taint_flag {
diff --git a/kernel/panic.c b/kernel/panic.c diff --git a/kernel/panic.c b/kernel/panic.c
index e2157ca387c8..534bc76e43da 100644 index e2157ca387c8..534bc76e43da 100644
@ -76,8 +76,8 @@ index e2157ca387c8..534bc76e43da 100644
+ [ TAINT_RESERVED30 ] = { '?', '-', false }, + [ TAINT_RESERVED30 ] = { '?', '-', false },
+ [ TAINT_RESERVED31 ] = { '?', '-', false }, + [ TAINT_RESERVED31 ] = { '?', '-', false },
}; };
/** /**
-- --
2.25.4 2.26.2

View File

@ -40,11 +40,11 @@ index da6510af1221..2ec02cbfda72 100644
+#include <linux/kernel.h> +#include <linux/kernel.h>
#include "pci.h" #include "pci.h"
#include "pcie/portdrv.h" #include "pcie/portdrv.h"
@@ -278,6 +279,34 @@ static const struct pci_device_id *pci_match_device(struct pci_driver *drv, @@ -278,6 +279,34 @@ static const struct pci_device_id *pci_match_device(struct pci_driver *drv,
return found_id; return found_id;
} }
+/** +/**
+ * pci_hw_vendor_status - Tell if a PCI device is supported by the HW vendor + * pci_hw_vendor_status - Tell if a PCI device is supported by the HW vendor
+ * @ids: array of PCI device id structures to search in + * @ids: array of PCI device id structures to search in
@ -90,7 +90,7 @@ index c79d83304e52..695efeea48f0 100644
+ struct pci_dev *dev); + struct pci_dev *dev);
int pci_scan_bridge(struct pci_bus *bus, struct pci_dev *dev, int max, int pci_scan_bridge(struct pci_bus *bus, struct pci_dev *dev, int max,
int pass); int pass);
-- --
2.25.4 2.26.2

View File

@ -62,7 +62,7 @@ index ea5bf5f4cbed..71c55cae27ac 100644
@@ -666,6 +666,24 @@ int ahci_stop_engine(struct ata_port *ap) @@ -666,6 +666,24 @@ int ahci_stop_engine(struct ata_port *ap)
tmp &= ~PORT_CMD_START; tmp &= ~PORT_CMD_START;
writel(tmp, port_mmio + PORT_CMD); writel(tmp, port_mmio + PORT_CMD);
+#ifdef CONFIG_ARM64 +#ifdef CONFIG_ARM64
+ /* Rev Ax of Cavium CN99XX needs a hack for port stop */ + /* Rev Ax of Cavium CN99XX needs a hack for port stop */
+ if (dev_is_pci(ap->host->dev) && + if (dev_is_pci(ap->host->dev) &&
@ -85,5 +85,5 @@ index ea5bf5f4cbed..71c55cae27ac 100644
tmp = ata_wait_register(ap, port_mmio + PORT_CMD, tmp = ata_wait_register(ap, port_mmio + PORT_CMD,
PORT_CMD_LIST_ON, PORT_CMD_LIST_ON, 1, 500); PORT_CMD_LIST_ON, PORT_CMD_LIST_ON, 1, 500);
-- --
2.25.4 2.26.2

View File

@ -25,7 +25,7 @@ index 66dc41fd49f2..2e0700a451e5 100644
--- a/arch/arm64/Kconfig --- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig
@@ -861,7 +861,7 @@ endchoice @@ -861,7 +861,7 @@ endchoice
config ARM64_FORCE_52BIT config ARM64_FORCE_52BIT
bool "Force 52-bit virtual addresses for userspace" bool "Force 52-bit virtual addresses for userspace"
- depends on ARM64_VA_BITS_52 && EXPERT - depends on ARM64_VA_BITS_52 && EXPERT
@ -34,5 +34,5 @@ index 66dc41fd49f2..2e0700a451e5 100644
For systems with 52-bit userspace VAs enabled, the kernel will attempt For systems with 52-bit userspace VAs enabled, the kernel will attempt
to maintain compatibility with older software by providing 48-bit VAs to maintain compatibility with older software by providing 48-bit VAs
-- --
2.25.4 2.26.2

View File

@ -16,7 +16,7 @@ index 2ac74904a3ce..f0094424f76a 100644
+++ b/arch/arm/Kconfig +++ b/arch/arm/Kconfig
@@ -1549,9 +1549,9 @@ config HIGHMEM @@ -1549,9 +1549,9 @@ config HIGHMEM
If unsure, say n. If unsure, say n.
config HIGHPTE config HIGHPTE
- bool "Allocate 2nd-level pagetables from highmem" if EXPERT - bool "Allocate 2nd-level pagetables from highmem" if EXPERT
+ bool "Allocate 2nd-level pagetables from highmem" + bool "Allocate 2nd-level pagetables from highmem"
@ -27,5 +27,5 @@ index 2ac74904a3ce..f0094424f76a 100644
The VM uses one page of physical memory for each page table. The VM uses one page of physical memory for each page table.
For systems with a lot of processes, this can use a lot of For systems with a lot of processes, this can use a lot of
-- --
2.25.4 2.26.2

View File

@ -21,7 +21,7 @@ index cefda145c3c9..96d9150423e0 100644
@@ -16,6 +16,15 @@ aliases { @@ -16,6 +16,15 @@ aliases {
serial0 = &uart0; serial0 = &uart0;
}; };
+ backlight: backlight { + backlight: backlight {
+ compatible = "pwm-backlight"; + compatible = "pwm-backlight";
+ pwms = <&r_pwm 0 50000 PWM_POLARITY_INVERTED>; + pwms = <&r_pwm 0 50000 PWM_POLARITY_INVERTED>;
@ -37,7 +37,7 @@ index cefda145c3c9..96d9150423e0 100644
@@ -84,6 +93,30 @@ &dai { @@ -84,6 +93,30 @@ &dai {
status = "okay"; status = "okay";
}; };
+&de { +&de {
+ status = "okay"; + status = "okay";
+}; +};
@ -68,14 +68,14 @@ index cefda145c3c9..96d9150423e0 100644
@@ -188,6 +221,10 @@ &r_pio { @@ -188,6 +221,10 @@ &r_pio {
*/ */
}; };
+&r_pwm { +&r_pwm {
+ status = "okay"; + status = "okay";
+}; +};
+ +
&r_rsb { &r_rsb {
status = "okay"; status = "okay";
-- --
2.25.4 2.26.2

View File

@ -53,7 +53,7 @@ index 9b81cfbbc5c5..1ca08297939c 100644
--- a/drivers/scsi/be2iscsi/be_main.c --- a/drivers/scsi/be2iscsi/be_main.c
+++ b/drivers/scsi/be2iscsi/be_main.c +++ b/drivers/scsi/be2iscsi/be_main.c
@@ -370,11 +370,13 @@ static int beiscsi_eh_device_reset(struct scsi_cmnd *sc) @@ -370,11 +370,13 @@ static int beiscsi_eh_device_reset(struct scsi_cmnd *sc)
/*------------------- PCI Driver operations and data ----------------- */ /*------------------- PCI Driver operations and data ----------------- */
static const struct pci_device_id beiscsi_pci_id_table[] = { static const struct pci_device_id beiscsi_pci_id_table[] = {
+#ifndef CONFIG_RHEL_DIFFERENCES +#ifndef CONFIG_RHEL_DIFFERENCES
@ -67,5 +67,5 @@ index 9b81cfbbc5c5..1ca08297939c 100644
{ 0 } { 0 }
}; };
-- --
2.25.4 2.26.2

View File

@ -36,10 +36,10 @@ index 8f5546ec2d1f..772054412fab 100644
union bpf_attr attr; union bpf_attr attr;
+ static int marked; + static int marked;
int err; int err;
if (sysctl_unprivileged_bpf_disabled && !bpf_capable()) if (sysctl_unprivileged_bpf_disabled && !bpf_capable())
return -EPERM; return -EPERM;
+ if (!marked) { + if (!marked) {
+ mark_tech_preview("eBPF syscall", NULL); + mark_tech_preview("eBPF syscall", NULL);
+ marked = true; + marked = true;
@ -49,5 +49,5 @@ index 8f5546ec2d1f..772054412fab 100644
if (err) if (err)
return err; return err;
-- --
2.25.4 2.26.2

View File

@ -40,7 +40,7 @@ index fb95fad81c79..a43287854f8a 100644
@@ -5277,6 +5277,14 @@ @@ -5277,6 +5277,14 @@
unknown_nmi_panic unknown_nmi_panic
[X86] Cause panic on unknown NMI. [X86] Cause panic on unknown NMI.
+ unprivileged_bpf_disabled= + unprivileged_bpf_disabled=
+ Format: { "0" | "1" } + Format: { "0" | "1" }
+ Sets the initial value of + Sets the initial value of
@ -80,7 +80,7 @@ index 8da159936bab..8f5546ec2d1f 100644
@@ -48,7 +49,25 @@ static DEFINE_SPINLOCK(map_idr_lock); @@ -48,7 +49,25 @@ static DEFINE_SPINLOCK(map_idr_lock);
static DEFINE_IDR(link_idr); static DEFINE_IDR(link_idr);
static DEFINE_SPINLOCK(link_idr_lock); static DEFINE_SPINLOCK(link_idr_lock);
-int sysctl_unprivileged_bpf_disabled __read_mostly; -int sysctl_unprivileged_bpf_disabled __read_mostly;
+/* RHEL-only: default to 1 */ +/* RHEL-only: default to 1 */
+int sysctl_unprivileged_bpf_disabled __read_mostly = 1; +int sysctl_unprivileged_bpf_disabled __read_mostly = 1;
@ -101,7 +101,7 @@ index 8da159936bab..8f5546ec2d1f 100644
+ return 1; + return 1;
+} +}
+__setup("unprivileged_bpf_disabled=", unprivileged_bpf_setup); +__setup("unprivileged_bpf_disabled=", unprivileged_bpf_setup);
static const struct bpf_map_ops * const bpf_map_types[] = { static const struct bpf_map_ops * const bpf_map_types[] = {
#define BPF_PROG_TYPE(_id, _name, prog_ctx_type, kern_ctx_type) #define BPF_PROG_TYPE(_id, _name, prog_ctx_type, kern_ctx_type)
diff --git a/kernel/panic.c b/kernel/panic.c diff --git a/kernel/panic.c b/kernel/panic.c
@ -115,8 +115,8 @@ index 534bc76e43da..e3bae852d92f 100644
- [ TAINT_RESERVED31 ] = { '?', '-', false }, - [ TAINT_RESERVED31 ] = { '?', '-', false },
+ [ TAINT_UNPRIVILEGED_BPF ] = { 'u', ' ', false }, + [ TAINT_UNPRIVILEGED_BPF ] = { 'u', ' ', false },
}; };
/** /**
-- --
2.25.4 2.26.2

View File

@ -23,7 +23,7 @@ index 39055c1f0e2f..1f55a87bb657 100644
@@ -462,6 +462,15 @@ config DRM_PANEL_VISIONOX_RM69299 @@ -462,6 +462,15 @@ config DRM_PANEL_VISIONOX_RM69299
Say Y here if you want to enable support for Visionox Say Y here if you want to enable support for Visionox
RM69299 DSI Video Mode panel. RM69299 DSI Video Mode panel.
+config DRM_PANEL_XINGBANGDA_XBD599 +config DRM_PANEL_XINGBANGDA_XBD599
+ tristate "Xingbangda XBD599 panel" + tristate "Xingbangda XBD599 panel"
+ depends on OF + depends on OF
@ -419,5 +419,5 @@ index 000000000000..b483f96ee1db
+MODULE_DESCRIPTION("DRM driver for Xingbangda XBD599 MIPI DSI panel"); +MODULE_DESCRIPTION("DRM driver for Xingbangda XBD599 MIPI DSI panel");
+MODULE_LICENSE("GPL v2"); +MODULE_LICENSE("GPL v2");
-- --
2.25.4 2.26.2

View File

@ -22,7 +22,7 @@ index aa67cb037e9d..52e009dc632b 100644
hsa = max((unsigned int)HSA_PACKET_OVERHEAD, hsa = max((unsigned int)HSA_PACKET_OVERHEAD,
- (mode->hsync_end - mode->hsync_start) * Bpp - HSA_PACKET_OVERHEAD); - (mode->hsync_end - mode->hsync_start) * Bpp - HSA_PACKET_OVERHEAD);
+ (mode->hsync_end - mode->hsync_start) * Bpp) - HSA_PACKET_OVERHEAD; + (mode->hsync_end - mode->hsync_start) * Bpp) - HSA_PACKET_OVERHEAD;
/* /*
* The backporch is set using a blanking packet (4 * The backporch is set using a blanking packet (4
@@ -565,7 +565,7 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi, @@ -565,7 +565,7 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi,
@ -31,7 +31,7 @@ index aa67cb037e9d..52e009dc632b 100644
hbp = max((unsigned int)HBP_PACKET_OVERHEAD, hbp = max((unsigned int)HBP_PACKET_OVERHEAD,
- (mode->htotal - mode->hsync_end) * Bpp - HBP_PACKET_OVERHEAD); - (mode->htotal - mode->hsync_end) * Bpp - HBP_PACKET_OVERHEAD);
+ (mode->htotal - mode->hsync_end) * Bpp) - HBP_PACKET_OVERHEAD; + (mode->htotal - mode->hsync_end) * Bpp) - HBP_PACKET_OVERHEAD;
/* /*
* The frontporch is set using a sync event (4 bytes) * The frontporch is set using a sync event (4 bytes)
@@ -575,7 +575,7 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi, @@ -575,7 +575,7 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi,
@ -40,7 +40,7 @@ index aa67cb037e9d..52e009dc632b 100644
hfp = max((unsigned int)HFP_PACKET_OVERHEAD, hfp = max((unsigned int)HFP_PACKET_OVERHEAD,
- (mode->hsync_start - mode->hdisplay) * Bpp - HFP_PACKET_OVERHEAD); - (mode->hsync_start - mode->hdisplay) * Bpp - HFP_PACKET_OVERHEAD);
+ (mode->hsync_start - mode->hdisplay) * Bpp) - HFP_PACKET_OVERHEAD; + (mode->hsync_start - mode->hdisplay) * Bpp) - HFP_PACKET_OVERHEAD;
/* /*
* The blanking is set using a sync event (4 bytes) * The blanking is set using a sync event (4 bytes)
@@ -584,8 +584,8 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi, @@ -584,8 +584,8 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi,
@ -51,9 +51,9 @@ index aa67cb037e9d..52e009dc632b 100644
- HBLK_PACKET_OVERHEAD); - HBLK_PACKET_OVERHEAD);
+ (mode->htotal - (mode->hsync_end - mode->hsync_start)) * Bpp) - + (mode->htotal - (mode->hsync_end - mode->hsync_start)) * Bpp) -
+ HBLK_PACKET_OVERHEAD; + HBLK_PACKET_OVERHEAD;
/* /*
* And I'm not entirely sure what vblk is about. The driver in * And I'm not entirely sure what vblk is about. The driver in
-- --
2.25.4 2.26.2

View File

@ -18,7 +18,7 @@ index d4a4045092df..ed808148b6a7 100644
@@ -425,6 +425,11 @@ properties: @@ -425,6 +425,11 @@ properties:
- const: pine64,rockpro64 - const: pine64,rockpro64
- const: rockchip,rk3399 - const: rockchip,rk3399
+ - description: Pine64 PinebookPro + - description: Pine64 PinebookPro
+ items: + items:
+ - const: pine64,pinebook-pro + - const: pine64,pinebook-pro
@ -28,5 +28,5 @@ index d4a4045092df..ed808148b6a7 100644
items: items:
- const: radxa,rock - const: radxa,rock
-- --
2.25.4 2.26.2

View File

@ -70,5 +70,5 @@ index 000000000000..b27bcf11198f
+ +
+... +...
-- --
2.25.4 2.26.2

View File

@ -21,7 +21,7 @@ index f999cca37a8a..9cbd2d6c7da4 100644
@@ -1247,9 +1247,9 @@ static s32 e1000_disable_ulp_lpt_lp(struct e1000_hw *hw, bool force) @@ -1247,9 +1247,9 @@ static s32 e1000_disable_ulp_lpt_lp(struct e1000_hw *hw, bool force)
ew32(H2ME, mac_reg); ew32(H2ME, mac_reg);
} }
- /* Poll up to 300msec for ME to clear ULP_CFG_DONE. */ - /* Poll up to 300msec for ME to clear ULP_CFG_DONE. */
+ /* Poll up to 2.5sec for ME to clear ULP_CFG_DONE. */ + /* Poll up to 2.5sec for ME to clear ULP_CFG_DONE. */
while (er32(FWSM) & E1000_FWSM_ULP_CFG_DONE) { while (er32(FWSM) & E1000_FWSM_ULP_CFG_DONE) {
@ -31,5 +31,5 @@ index f999cca37a8a..9cbd2d6c7da4 100644
goto out; goto out;
} }
-- --
2.25.4 2.26.2

View File

@ -32,7 +32,7 @@ index a1b8cb9a2579..28d43754aeb6 100644
@@ -1256,19 +1256,7 @@ void __init setup_arch(char **cmdline_p) @@ -1256,19 +1256,7 @@ void __init setup_arch(char **cmdline_p)
/* Allocate bigger log buffer */ /* Allocate bigger log buffer */
setup_log_buf(1); setup_log_buf(1);
- if (efi_enabled(EFI_BOOT)) { - if (efi_enabled(EFI_BOOT)) {
- switch (boot_params.secure_boot) { - switch (boot_params.secure_boot) {
- case efi_secureboot_mode_disabled: - case efi_secureboot_mode_disabled:
@ -47,9 +47,9 @@ index a1b8cb9a2579..28d43754aeb6 100644
- } - }
- } - }
+ efi_set_secure_boot(boot_params.secure_boot); + efi_set_secure_boot(boot_params.secure_boot);
reserve_initrd(); reserve_initrd();
diff --git a/drivers/firmware/efi/Makefile b/drivers/firmware/efi/Makefile diff --git a/drivers/firmware/efi/Makefile b/drivers/firmware/efi/Makefile
index 7a216984552b..f0ef02d733af 100644 index 7a216984552b..f0ef02d733af 100644
--- a/drivers/firmware/efi/Makefile --- a/drivers/firmware/efi/Makefile
@ -122,22 +122,22 @@ index 1d77c218b67e..f5fe3e01bc0e 100644
+ efi_secureboot_mode_disabled, + efi_secureboot_mode_disabled,
+ efi_secureboot_mode_enabled, + efi_secureboot_mode_enabled,
+}; +};
#ifdef CONFIG_EFI #ifdef CONFIG_EFI
/* /*
@@ -792,6 +800,8 @@ static inline bool efi_enabled(int feature) @@ -792,6 +800,8 @@ static inline bool efi_enabled(int feature)
} }
extern void efi_reboot(enum reboot_mode reboot_mode, const char *__unused); extern void efi_reboot(enum reboot_mode reboot_mode, const char *__unused);
+extern void __init efi_set_secure_boot(enum efi_secureboot_mode mode); +extern void __init efi_set_secure_boot(enum efi_secureboot_mode mode);
+ +
bool __pure __efi_soft_reserve_enabled(void); bool __pure __efi_soft_reserve_enabled(void);
static inline bool __pure efi_soft_reserve_enabled(void) static inline bool __pure efi_soft_reserve_enabled(void)
@@ -818,6 +828,8 @@ efi_capsule_pending(int *reset_type) @@ -818,6 +828,8 @@ efi_capsule_pending(int *reset_type)
return false; return false;
} }
+static inline void efi_set_secure_boot(enum efi_secureboot_mode mode) {} +static inline void efi_set_secure_boot(enum efi_secureboot_mode mode) {}
+ +
static inline bool efi_soft_reserve_enabled(void) static inline bool efi_soft_reserve_enabled(void)
@ -146,7 +146,7 @@ index 1d77c218b67e..f5fe3e01bc0e 100644
@@ -1089,12 +1101,6 @@ static inline bool efi_runtime_disabled(void) { return true; } @@ -1089,12 +1101,6 @@ static inline bool efi_runtime_disabled(void) { return true; }
extern void efi_call_virt_check_flags(unsigned long flags, const char *call); extern void efi_call_virt_check_flags(unsigned long flags, const char *call);
extern unsigned long efi_call_virt_save_flags(void); extern unsigned long efi_call_virt_save_flags(void);
-enum efi_secureboot_mode { -enum efi_secureboot_mode {
- efi_secureboot_mode_unset, - efi_secureboot_mode_unset,
- efi_secureboot_mode_unknown, - efi_secureboot_mode_unknown,
@ -154,8 +154,8 @@ index 1d77c218b67e..f5fe3e01bc0e 100644
- efi_secureboot_mode_enabled, - efi_secureboot_mode_enabled,
-}; -};
enum efi_secureboot_mode efi_get_secureboot(void); enum efi_secureboot_mode efi_get_secureboot(void);
#ifdef CONFIG_RESET_ATTACK_MITIGATION #ifdef CONFIG_RESET_ATTACK_MITIGATION
-- --
2.25.4 2.26.2

View File

@ -27,12 +27,12 @@ index 28d43754aeb6..19d57bfc12f9 100644
#include <linux/tboot.h> #include <linux/tboot.h>
+#include <linux/security.h> +#include <linux/security.h>
#include <linux/usb/xhci-dbgp.h> #include <linux/usb/xhci-dbgp.h>
#include <uapi/linux/mount.h> #include <uapi/linux/mount.h>
@@ -1105,6 +1106,13 @@ void __init setup_arch(char **cmdline_p) @@ -1105,6 +1106,13 @@ void __init setup_arch(char **cmdline_p)
if (efi_enabled(EFI_BOOT)) if (efi_enabled(EFI_BOOT))
efi_init(); efi_init();
+ efi_set_secure_boot(boot_params.secure_boot); + efi_set_secure_boot(boot_params.secure_boot);
+ +
+#ifdef CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT +#ifdef CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT
@ -41,7 +41,7 @@ index 28d43754aeb6..19d57bfc12f9 100644
+#endif +#endif
+ +
dmi_setup(); dmi_setup();
/* /*
diff --git a/security/lockdown/Kconfig b/security/lockdown/Kconfig diff --git a/security/lockdown/Kconfig b/security/lockdown/Kconfig
index e84ddf484010..d0501353a4b9 100644 index e84ddf484010..d0501353a4b9 100644
@ -50,7 +50,7 @@ index e84ddf484010..d0501353a4b9 100644
@@ -16,6 +16,19 @@ config SECURITY_LOCKDOWN_LSM_EARLY @@ -16,6 +16,19 @@ config SECURITY_LOCKDOWN_LSM_EARLY
subsystem is fully initialised. If enabled, lockdown will subsystem is fully initialised. If enabled, lockdown will
unconditionally be called before any other LSMs. unconditionally be called before any other LSMs.
+config LOCK_DOWN_IN_EFI_SECURE_BOOT +config LOCK_DOWN_IN_EFI_SECURE_BOOT
+ bool "Lock down the kernel in EFI Secure Boot mode" + bool "Lock down the kernel in EFI Secure Boot mode"
+ default n + default n
@ -68,5 +68,5 @@ index e84ddf484010..d0501353a4b9 100644
prompt "Kernel default lockdown mode" prompt "Kernel default lockdown mode"
default LOCK_DOWN_KERNEL_FORCE_NONE default LOCK_DOWN_KERNEL_FORCE_NONE
-- --
2.25.4 2.26.2

View File

@ -34,7 +34,7 @@ index 81d0414e2117..a3c5be79a9cc 100644
+#ifndef CONFIG_RHEL_DIFFERENCES +#ifndef CONFIG_RHEL_DIFFERENCES
MODULE_ALIAS("cciss"); MODULE_ALIAS("cciss");
+#endif +#endif
static int hpsa_simple_mode; static int hpsa_simple_mode;
module_param(hpsa_simple_mode, int, S_IRUGO|S_IWUSR); module_param(hpsa_simple_mode, int, S_IRUGO|S_IWUSR);
@@ -144,10 +146,12 @@ static const struct pci_device_id hpsa_pci_device_id[] = { @@ -144,10 +146,12 @@ static const struct pci_device_id hpsa_pci_device_id[] = {
@ -49,7 +49,7 @@ index 81d0414e2117..a3c5be79a9cc 100644
+#endif +#endif
{0,} {0,}
}; };
-- --
2.25.4 2.26.2

View File

@ -31,13 +31,13 @@ index 4cbd49c87568..aa9baa923fd9 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c --- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c +++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -3771,6 +3771,7 @@ static int __init ice_module_init(void) @@ -3771,6 +3771,7 @@ static int __init ice_module_init(void)
pr_info("%s - version %s\n", ice_driver_string, ice_drv_ver); pr_info("%s - version %s\n", ice_driver_string, ice_drv_ver);
pr_info("%s\n", ice_copyright); pr_info("%s\n", ice_copyright);
+ mark_tech_preview(DRV_SUMMARY, THIS_MODULE); + mark_tech_preview(DRV_SUMMARY, THIS_MODULE);
ice_wq = alloc_workqueue("%s", WQ_MEM_RECLAIM, 0, KBUILD_MODNAME); ice_wq = alloc_workqueue("%s", WQ_MEM_RECLAIM, 0, KBUILD_MODNAME);
if (!ice_wq) { if (!ice_wq) {
-- --
2.25.4 2.26.2

View File

@ -16,7 +16,7 @@ index 3e4868a6498b..502f9a9a2806 100644
@@ -15,6 +15,9 @@ NAME = Bobtail Squid @@ -15,6 +15,9 @@ NAME = Bobtail Squid
PHONY := __all PHONY := __all
__all: __all:
+# Set RHEL variables +# Set RHEL variables
+include Makefile.rhelver +include Makefile.rhelver
+ +
@ -36,8 +36,8 @@ index 3e4868a6498b..502f9a9a2806 100644
+ $(shell expr $(RHEL_MAJOR) \* 256 + $(RHEL_MINOR))'; \ + $(shell expr $(RHEL_MAJOR) \* 256 + $(RHEL_MINOR))'; \
+ echo '#define RHEL_RELEASE "$(RHEL_RELEASE)"' + echo '#define RHEL_RELEASE "$(RHEL_RELEASE)"'
endef endef
$(version_h): FORCE $(version_h): FORCE
-- --
2.25.4 2.26.2

View File

@ -62,7 +62,7 @@ index d43120eb1dc5..1920be30a378 100644
+++ b/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c
@@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
#define pr_fmt(fmt) "iommu: " fmt #define pr_fmt(fmt) "iommu: " fmt
#include <linux/device.h> #include <linux/device.h>
+#include <linux/dmi.h> +#include <linux/dmi.h>
#include <linux/kernel.h> #include <linux/kernel.h>
@ -94,5 +94,5 @@ index d43120eb1dc5..1920be30a378 100644
+arch_initcall(iommu_quirks); +arch_initcall(iommu_quirks);
+#endif +#endif
-- --
2.25.4 2.26.2

View File

@ -64,7 +64,7 @@ index bbf7029e224b..cf7faa970dd6 100644
@@ -215,6 +215,21 @@ static int __init scan_for_dmi_ipmi(void) @@ -215,6 +215,21 @@ static int __init scan_for_dmi_ipmi(void)
{ {
const struct dmi_device *dev = NULL; const struct dmi_device *dev = NULL;
+#ifdef CONFIG_ARM64 +#ifdef CONFIG_ARM64
+ /* RHEL-only + /* RHEL-only
+ * If this is ARM-based HPE m400, return now, because that platform + * If this is ARM-based HPE m400, return now, because that platform
@ -82,7 +82,7 @@ index bbf7029e224b..cf7faa970dd6 100644
+ +
while ((dev = dmi_find_device(DMI_DEV_TYPE_IPMI, NULL, dev))) while ((dev = dmi_find_device(DMI_DEV_TYPE_IPMI, NULL, dev)))
dmi_decode_ipmi((const struct dmi_header *) dev->device_data); dmi_decode_ipmi((const struct dmi_header *) dev->device_data);
diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c
index e1b22fe0916c..894eda427214 100644 index e1b22fe0916c..894eda427214 100644
--- a/drivers/char/ipmi/ipmi_msghandler.c --- a/drivers/char/ipmi/ipmi_msghandler.c
@ -92,13 +92,13 @@ index e1b22fe0916c..894eda427214 100644
#include <linux/nospec.h> #include <linux/nospec.h>
#include <linux/vmalloc.h> #include <linux/vmalloc.h>
+#include <linux/dmi.h> +#include <linux/dmi.h>
#define IPMI_DRIVER_VERSION "39.2" #define IPMI_DRIVER_VERSION "39.2"
@@ -5155,8 +5156,21 @@ static int __init ipmi_init_msghandler_mod(void) @@ -5155,8 +5156,21 @@ static int __init ipmi_init_msghandler_mod(void)
{ {
int rv; int rv;
- pr_info("version " IPMI_DRIVER_VERSION "\n"); - pr_info("version " IPMI_DRIVER_VERSION "\n");
+#ifdef CONFIG_ARM64 +#ifdef CONFIG_ARM64
+ /* RHEL-only + /* RHEL-only
@ -107,7 +107,7 @@ index e1b22fe0916c..894eda427214 100644
+ * does not exist in the ARM architecture. + * does not exist in the ARM architecture.
+ */ + */
+ const char *dmistr = dmi_get_system_info(DMI_PRODUCT_NAME); + const char *dmistr = dmi_get_system_info(DMI_PRODUCT_NAME);
+ if (dmistr && (strcmp("ProLiant m400 Server", dmistr) == 0)) { + if (dmistr && (strcmp("ProLiant m400 Server", dmistr) == 0)) {
+ pr_debug("%s does not support host ipmi\n", dmistr); + pr_debug("%s does not support host ipmi\n", dmistr);
+ return -ENOSYS; + return -ENOSYS;
@ -119,5 +119,5 @@ index e1b22fe0916c..894eda427214 100644
rv = ipmi_register_driver(); rv = ipmi_register_driver();
mutex_unlock(&ipmi_interfaces_mutex); mutex_unlock(&ipmi_interfaces_mutex);
-- --
2.25.4 2.26.2

View File

@ -210,5 +210,5 @@ index 000000000000..e0d3353802bb
+ +
+#endif /* _LINUX_RH_KABI_H */ +#endif /* _LINUX_RH_KABI_H */
-- --
2.25.4 2.26.2

View File

@ -144,7 +144,7 @@ index 2da65fef2a1c..d53a524f80f0 100644
@@ -285,6 +285,17 @@ This would mean: @@ -285,6 +285,17 @@ This would mean:
2) if the RAM size is between 512M and 2G (exclusive), then reserve 64M 2) if the RAM size is between 512M and 2G (exclusive), then reserve 64M
3) if the RAM size is larger than 2G, then reserve 128M 3) if the RAM size is larger than 2G, then reserve 128M
+Or you can use crashkernel=auto if you have enough memory. The threshold +Or you can use crashkernel=auto if you have enough memory. The threshold
+is 2G on x86_64, arm64, ppc64 and ppc64le. The threshold is 4G for s390x. +is 2G on x86_64, arm64, ppc64 and ppc64le. The threshold is 4G for s390x.
+If your system memory is less than the threshold crashkernel=auto will not +If your system memory is less than the threshold crashkernel=auto will not
@ -156,8 +156,8 @@ index 2da65fef2a1c..d53a524f80f0 100644
+ s390x: 4G-64G:160M,64G-1T:256M,1T-:512M + s390x: 4G-64G:160M,64G-1T:256M,1T-:512M
+ arm64: 2G-:512M + arm64: 2G-:512M
+ ppc64: 2G-4G:384M,4G-16G:512M,16G-64G:1G,64G-128G:2G,128G-:4G + ppc64: 2G-4G:384M,4G-16G:512M,16G-64G:1G,64G-128G:2G,128G-:4G
Boot into System Kernel Boot into System Kernel
diff --git a/kernel/crash_core.c b/kernel/crash_core.c diff --git a/kernel/crash_core.c b/kernel/crash_core.c
index d631d22089ba..c252221b2f4b 100644 index d631d22089ba..c252221b2f4b 100644
@ -185,5 +185,5 @@ index d631d22089ba..c252221b2f4b 100644
* if the commandline contains a ':', then that's the extended * if the commandline contains a ':', then that's the extended
* syntax -- if not, it must be the classic syntax * syntax -- if not, it must be the classic syntax
-- --
2.25.4 2.26.2

View File

@ -36,8 +36,8 @@ index c252221b2f4b..df551fc9034c 100644
- pr_info("Using crashkernel=auto, the size choosed is a best effort estimation.\n"); - pr_info("Using crashkernel=auto, the size choosed is a best effort estimation.\n");
+ pr_info("Using crashkernel=auto, the size chosen is a best effort estimation.\n"); + pr_info("Using crashkernel=auto, the size chosen is a best effort estimation.\n");
} }
/* /*
-- --
2.25.4 2.26.2

View File

@ -53,7 +53,7 @@ index 9f1557b98468..d631d22089ba 100644
#include <linux/utsname.h> #include <linux/utsname.h>
#include <linux/vmalloc.h> #include <linux/vmalloc.h>
+#include <linux/sizes.h> +#include <linux/sizes.h>
#include <asm/page.h> #include <asm/page.h>
#include <asm/sections.h> #include <asm/sections.h>
@@ -39,6 +40,15 @@ static int __init parse_crashkernel_mem(char *cmdline, @@ -39,6 +40,15 @@ static int __init parse_crashkernel_mem(char *cmdline,
@ -69,7 +69,7 @@ index 9f1557b98468..d631d22089ba 100644
+ * enough for most test cases. + * enough for most test cases.
+ */ + */
+ total_mem = roundup(total_mem, SZ_128M); + total_mem = roundup(total_mem, SZ_128M);
/* for each entry of the comma-separated list */ /* for each entry of the comma-separated list */
do { do {
@@ -83,13 +93,13 @@ static int __init parse_crashkernel_mem(char *cmdline, @@ -83,13 +93,13 @@ static int __init parse_crashkernel_mem(char *cmdline,
@ -81,7 +81,7 @@ index 9f1557b98468..d631d22089ba 100644
pr_warn("crashkernel: invalid size\n"); pr_warn("crashkernel: invalid size\n");
return -EINVAL; return -EINVAL;
} }
/* match ? */ /* match ? */
- if (system_ram >= start && system_ram < end) { - if (system_ram >= start && system_ram < end) {
+ if (total_mem >= start && total_mem < end) { + if (total_mem >= start && total_mem < end) {
@ -89,5 +89,5 @@ index 9f1557b98468..d631d22089ba 100644
break; break;
} }
-- --
2.25.4 2.26.2

View File

@ -49,5 +49,5 @@ index e3bae852d92f..8ab004b0f846 100644
[ TAINT_RESERVED29 ] = { '?', '-', false }, [ TAINT_RESERVED29 ] = { '?', '-', false },
[ TAINT_RESERVED30 ] = { '?', '-', false }, [ TAINT_RESERVED30 ] = { '?', '-', false },
-- --
2.25.4 2.26.2

View File

@ -29,7 +29,7 @@ index 00668335c2af..219f95ab56f8 100644
@@ -133,6 +133,7 @@ static void megasas_get_pd_info(struct megasas_instance *instance, @@ -133,6 +133,7 @@ static void megasas_get_pd_info(struct megasas_instance *instance,
*/ */
static struct pci_device_id megasas_pci_table[] = { static struct pci_device_id megasas_pci_table[] = {
+#ifndef CONFIG_RHEL_DIFFERENCES +#ifndef CONFIG_RHEL_DIFFERENCES
{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS1064R)}, {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS1064R)},
/* xscale IOP */ /* xscale IOP */
@ -43,5 +43,5 @@ index 00668335c2af..219f95ab56f8 100644
/* Fusion */ /* Fusion */
{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_PLASMA)}, {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_PLASMA)},
-- --
2.25.4 2.26.2

View File

@ -64,8 +64,8 @@ index e362dc3d2028..0c3dfb8eef67 100644
+ } + }
+ +
kmemleak_initialized = 1; kmemleak_initialized = 1;
debugfs_create_file("kmemleak", 0644, NULL, NULL, &kmemleak_fops); debugfs_create_file("kmemleak", 0644, NULL, NULL, &kmemleak_fops);
-- --
2.25.4 2.26.2

View File

@ -91,20 +91,20 @@ index 2e6670860d27..8c35a5db7d7e 100644
const char *srcversion; const char *srcversion;
+ const char *rhelversion; + const char *rhelversion;
struct kobject *holders_dir; struct kobject *holders_dir;
/* Exported symbols */ /* Exported symbols */
diff --git a/kernel/module.c b/kernel/module.c diff --git a/kernel/module.c b/kernel/module.c
index 0c6573b98c36..4898faa4e8e1 100644 index 0c6573b98c36..4898faa4e8e1 100644
--- a/kernel/module.c --- a/kernel/module.c
+++ b/kernel/module.c +++ b/kernel/module.c
@@ -802,6 +802,7 @@ static struct module_attribute modinfo_##field = { \ @@ -802,6 +802,7 @@ static struct module_attribute modinfo_##field = { \
MODINFO_ATTR(version); MODINFO_ATTR(version);
MODINFO_ATTR(srcversion); MODINFO_ATTR(srcversion);
+MODINFO_ATTR(rhelversion); +MODINFO_ATTR(rhelversion);
static char last_unloaded_module[MODULE_NAME_LEN+1]; static char last_unloaded_module[MODULE_NAME_LEN+1];
@@ -1266,6 +1267,7 @@ static struct module_attribute *modinfo_attrs[] = { @@ -1266,6 +1267,7 @@ static struct module_attribute *modinfo_attrs[] = {
&module_uevent, &module_uevent,
&modinfo_version, &modinfo_version,
@ -122,13 +122,13 @@ index 6aea65c65745..ed3c4d8a1c7f 100644
#include "modpost.h" #include "modpost.h"
#include "../../include/linux/license.h" #include "../../include/linux/license.h"
+#include "../../include/generated/uapi/linux/version.h" +#include "../../include/generated/uapi/linux/version.h"
/* Are we using CONFIG_MODVERSIONS? */ /* Are we using CONFIG_MODVERSIONS? */
static int modversions = 0; static int modversions = 0;
@@ -2384,6 +2385,12 @@ static void write_buf(struct buffer *b, const char *fname) @@ -2384,6 +2385,12 @@ static void write_buf(struct buffer *b, const char *fname)
} }
} }
+static void add_rhelversion(struct buffer *b, struct module *mod) +static void add_rhelversion(struct buffer *b, struct module *mod)
+{ +{
+ buf_printf(b, "MODULE_INFO(rhelversion, \"%d.%d\");\n", RHEL_MAJOR, + buf_printf(b, "MODULE_INFO(rhelversion, \"%d.%d\");\n", RHEL_MAJOR,
@ -143,9 +143,9 @@ index 6aea65c65745..ed3c4d8a1c7f 100644
add_moddevtable(&buf, mod); add_moddevtable(&buf, mod);
add_srcversion(&buf, mod); add_srcversion(&buf, mod);
+ add_rhelversion(&buf, mod); + add_rhelversion(&buf, mod);
sprintf(fname, "%s.mod.c", mod->name); sprintf(fname, "%s.mod.c", mod->name);
write_if_changed(&buf, fname); write_if_changed(&buf, fname);
-- --
2.25.4 2.26.2

View File

@ -67,5 +67,5 @@ index 08fc4b381056..1305a2b72536 100644
{ MPI2_MFGPAGE_VENDORID_LSI, MPI25_MFGPAGE_DEVID_SAS3004, { MPI2_MFGPAGE_VENDORID_LSI, MPI25_MFGPAGE_DEVID_SAS3004,
PCI_ANY_ID, PCI_ANY_ID }, PCI_ANY_ID, PCI_ANY_ID },
-- --
2.25.4 2.26.2

View File

@ -37,7 +37,7 @@ index 6a79cd0ebe2b..c17614cd6ed8 100644
@@ -5290,6 +5290,11 @@ mptsas_probe(struct pci_dev *pdev, const struct pci_device_id *id) @@ -5290,6 +5290,11 @@ mptsas_probe(struct pci_dev *pdev, const struct pci_device_id *id)
ioc, MPI_SAS_OP_CLEAR_ALL_PERSISTENT); ioc, MPI_SAS_OP_CLEAR_ALL_PERSISTENT);
} }
+#ifdef CONFIG_RHEL_DIFFERENCES +#ifdef CONFIG_RHEL_DIFFERENCES
+ add_taint(TAINT_SUPPORT_REMOVED, LOCKDEP_STILL_OK); + add_taint(TAINT_SUPPORT_REMOVED, LOCKDEP_STILL_OK);
+ pr_warn("MPTSAS MODULE IS NOT SUPPORTED\n"); + pr_warn("MPTSAS MODULE IS NOT SUPPORTED\n");
@ -47,5 +47,5 @@ index 6a79cd0ebe2b..c17614cd6ed8 100644
if (error) { if (error) {
dprintk(ioc, printk(MYIOC_s_ERR_FMT dprintk(ioc, printk(MYIOC_s_ERR_FMT
-- --
2.25.4 2.26.2

View File

@ -36,7 +36,7 @@ index c17614cd6ed8..ca44a35ec411 100644
+++ b/drivers/message/fusion/mptsas.c +++ b/drivers/message/fusion/mptsas.c
@@ -5358,6 +5358,10 @@ static void mptsas_remove(struct pci_dev *pdev) @@ -5358,6 +5358,10 @@ static void mptsas_remove(struct pci_dev *pdev)
} }
static struct pci_device_id mptsas_pci_table[] = { static struct pci_device_id mptsas_pci_table[] = {
+#ifdef CONFIG_RHEL_DIFFERENCES +#ifdef CONFIG_RHEL_DIFFERENCES
+ { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1068, + { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1068,
@ -54,5 +54,5 @@ index c17614cd6ed8..ca44a35ec411 100644
}; };
MODULE_DEVICE_TABLE(pci, mptsas_pci_table); MODULE_DEVICE_TABLE(pci, mptsas_pci_table);
-- --
2.25.4 2.26.2

View File

@ -35,7 +35,7 @@ index eabc4de5816c..c028f5944694 100644
+++ b/drivers/message/fusion/mptspi.c +++ b/drivers/message/fusion/mptspi.c
@@ -1534,6 +1534,12 @@ mptspi_probe(struct pci_dev *pdev, const struct pci_device_id *id) @@ -1534,6 +1534,12 @@ mptspi_probe(struct pci_dev *pdev, const struct pci_device_id *id)
0, 0, 0, 0, 5); 0, 0, 0, 0, 5);
scsi_scan_host(sh); scsi_scan_host(sh);
+ +
+#ifdef CONFIG_RHEL_DIFFERENCES +#ifdef CONFIG_RHEL_DIFFERENCES
@ -44,8 +44,8 @@ index eabc4de5816c..c028f5944694 100644
+#endif +#endif
+ +
return 0; return 0;
out_mptspi_probe: out_mptspi_probe:
-- --
2.25.4 2.26.2

View File

@ -35,7 +35,7 @@ index c028f5944694..1f458e35effb 100644
+++ b/drivers/message/fusion/mptspi.c +++ b/drivers/message/fusion/mptspi.c
@@ -1238,12 +1238,17 @@ static struct spi_function_template mptspi_transport_functions = { @@ -1238,12 +1238,17 @@ static struct spi_function_template mptspi_transport_functions = {
*/ */
static struct pci_device_id mptspi_pci_table[] = { static struct pci_device_id mptspi_pci_table[] = {
+#ifdef CONFIG_RHEL_DIFFERENCES +#ifdef CONFIG_RHEL_DIFFERENCES
+ { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_53C1030, + { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_53C1030,
@ -52,5 +52,5 @@ index c028f5944694..1f458e35effb 100644
}; };
MODULE_DEVICE_TABLE(pci, mptspi_pci_table); MODULE_DEVICE_TABLE(pci, mptspi_pci_table);
-- --
2.25.4 2.26.2

View File

@ -75,8 +75,8 @@ index a60c98519c37..a3ec72fe1d8a 100644
+ $(shell expr $(RHEL_MAJOR) \* 256 + $(RHEL_MINOR))'; \ + $(shell expr $(RHEL_MAJOR) \* 256 + $(RHEL_MINOR))'; \
+ echo '#define RHEL_RELEASE "$(RHEL_RELEASE)"' + echo '#define RHEL_RELEASE "$(RHEL_RELEASE)"'
endef endef
$(version_h): FORCE $(version_h): FORCE
-- --
2.25.4 2.26.2

View File

@ -49,7 +49,7 @@ index e92fad99338c..8dae589e7e50 100644
+++ b/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -7766,6 +7766,7 @@ static const struct pci_error_handlers qla2xxx_err_handler = { @@ -7766,6 +7766,7 @@ static const struct pci_error_handlers qla2xxx_err_handler = {
}; };
static struct pci_device_id qla2xxx_pci_tbl[] = { static struct pci_device_id qla2xxx_pci_tbl[] = {
+#ifndef CONFIG_RHEL_DIFFERENCES +#ifndef CONFIG_RHEL_DIFFERENCES
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2100) }, { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2100) },
@ -75,5 +75,5 @@ index e92fad99338c..8dae589e7e50 100644
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2271) }, { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2271) },
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2261) }, { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2261) },
-- --
2.25.4 2.26.2

View File

@ -52,5 +52,5 @@ index 5dc697ce8b5d..15f4bedc3a78 100644
}; };
MODULE_DEVICE_TABLE(pci, qla4xxx_pci_tbl); MODULE_DEVICE_TABLE(pci, qla4xxx_pci_tbl);
-- --
2.25.4 2.26.2

View File

@ -44,7 +44,7 @@ index 8d1641710ed7..4050b6dead75 100644
+ pr_crit("Warning: %s - this hardware has not undergone testing by Red Hat and might not be certified. Please consult https://catalog.redhat.com for certified hardware.\n", msg); + pr_crit("Warning: %s - this hardware has not undergone testing by Red Hat and might not be certified. Please consult https://catalog.redhat.com for certified hardware.\n", msg);
} }
EXPORT_SYMBOL(mark_hardware_unsupported); EXPORT_SYMBOL(mark_hardware_unsupported);
-- --
2.25.4 2.26.2

View File

@ -128,9 +128,9 @@ index 87f2bd530df7..d551df994583 100644
--- a/include/linux/rh_kabi.h --- a/include/linux/rh_kabi.h
+++ b/include/linux/rh_kabi.h +++ b/include/linux/rh_kabi.h
@@ -186,4 +186,68 @@ @@ -186,4 +186,68 @@
#define RH_KABI_EXCLUDE(_elem) _RH_KABI_EXCLUDE(_elem); #define RH_KABI_EXCLUDE(_elem) _RH_KABI_EXCLUDE(_elem);
+/* +/*
+ * RHEL macros to extend structs. + * RHEL macros to extend structs.
+ * + *
@ -197,5 +197,5 @@ index 87f2bd530df7..d551df994583 100644
+ +
#endif /* _LINUX_RH_KABI_H */ #endif /* _LINUX_RH_KABI_H */
-- --
2.25.4 2.26.2

View File

@ -40,8 +40,8 @@ index d551df994583..9a4fea93ad99 100644
- _name._struct##_size_rh = sizeof(struct _struct##_rh); \ - _name._struct##_size_rh = sizeof(struct _struct##_rh); \
+ _name->_struct##_size_rh = sizeof(struct _struct##_rh); \ + _name->_struct##_size_rh = sizeof(struct _struct##_rh); \
}) })
/* /*
-- --
2.25.4 2.26.2

View File

@ -35,16 +35,16 @@ index 9a4fea93ad99..cdc636d3013d 100644
RH_KABI_EXCLUDE(struct _struct##_rh *_struct##_rh) RH_KABI_EXCLUDE(struct _struct##_rh *_struct##_rh)
+#define RH_KABI_SIZE_AND_EXTEND_PTR(_struct) \ +#define RH_KABI_SIZE_AND_EXTEND_PTR(_struct) \
+ _RH_KABI_SIZE_AND_EXTEND_PTR(_struct) + _RH_KABI_SIZE_AND_EXTEND_PTR(_struct)
-#define RH_KABI_SIZE_AND_EXTEND(_struct) \ -#define RH_KABI_SIZE_AND_EXTEND(_struct) \
+#define _RH_KABI_SIZE_AND_EXTEND(_struct) \ +#define _RH_KABI_SIZE_AND_EXTEND(_struct) \
size_t _struct##_size_rh; \ size_t _struct##_size_rh; \
RH_KABI_EXCLUDE(struct _struct##_rh _struct##_rh) RH_KABI_EXCLUDE(struct _struct##_rh _struct##_rh)
+#define RH_KABI_SIZE_AND_EXTEND(_struct) \ +#define RH_KABI_SIZE_AND_EXTEND(_struct) \
+ _RH_KABI_SIZE_AND_EXTEND(_struct) + _RH_KABI_SIZE_AND_EXTEND(_struct)
/* /*
* RH_KABI_SET_SIZE calculates and sets the size of the extended struct and * RH_KABI_SET_SIZE calculates and sets the size of the extended struct and
-- --
2.25.4 2.26.2

View File

@ -63,5 +63,5 @@ index 4debb7aaad48..b90601e8a657 100644
* considered not to be part of the kABI whitelist and may be changed at * considered not to be part of the kABI whitelist and may be changed at
* will. Note however that it's the responsibility of the developer * will. Note however that it's the responsibility of the developer
-- --
2.25.4 2.26.2

View File

@ -36,7 +36,7 @@ index b90601e8a657..ea9c136bf884 100644
@@ -163,6 +163,8 @@ @@ -163,6 +163,8 @@
# define __RH_KABI_CHECK_SIZE(_item, _size) # define __RH_KABI_CHECK_SIZE(_item, _size)
#endif #endif
+#define RH_KABI_UNIQUE_ID __PASTE(rh_kabi_hidden_, __LINE__) +#define RH_KABI_UNIQUE_ID __PASTE(rh_kabi_hidden_, __LINE__)
+ +
# define _RH_KABI_DEPRECATE(_type, _orig) _type rh_reserved_##_orig # define _RH_KABI_DEPRECATE(_type, _orig) _type rh_reserved_##_orig
@ -59,7 +59,7 @@ index b90601e8a657..ea9c136bf884 100644
+ unsigned long RH_KABI_UNIQUE_ID[_size]; \ + unsigned long RH_KABI_UNIQUE_ID[_size]; \
__RH_KABI_CHECK_SIZE(_new, 8 * (_size)); \ __RH_KABI_CHECK_SIZE(_new, 8 * (_size)); \
}) })
-- --
2.25.4 2.26.2

View File

@ -77,12 +77,12 @@ index cdc636d3013d..4debb7aaad48 100644
# define __RH_KABI_CHECK_SIZE_ALIGN(_orig, _new) # define __RH_KABI_CHECK_SIZE_ALIGN(_orig, _new)
+# define __RH_KABI_CHECK_SIZE(_item, _size) +# define __RH_KABI_CHECK_SIZE(_item, _size)
#endif #endif
# define _RH_KABI_DEPRECATE(_type, _orig) _type rh_reserved_##_orig # define _RH_KABI_DEPRECATE(_type, _orig) _type rh_reserved_##_orig
@@ -186,6 +203,16 @@ @@ -186,6 +203,16 @@
#define RH_KABI_EXCLUDE(_elem) _RH_KABI_EXCLUDE(_elem); #define RH_KABI_EXCLUDE(_elem) _RH_KABI_EXCLUDE(_elem);
+/* +/*
+ * Extending a struct while reserving extra space. + * Extending a struct while reserving extra space.
+ */ + */
@ -97,5 +97,5 @@ index cdc636d3013d..4debb7aaad48 100644
* RHEL macros to extend structs. * RHEL macros to extend structs.
* *
-- --
2.25.4 2.26.2

View File

@ -80,25 +80,25 @@ index e0d3353802bb..87f2bd530df7 100644
# define _RH_KABI_REPLACE(_orig, _new) _orig # define _RH_KABI_REPLACE(_orig, _new) _orig
# define _RH_KABI_REPLACE_UNSAFE(_orig, _new) _orig # define _RH_KABI_REPLACE_UNSAFE(_orig, _new) _orig
+# define _RH_KABI_EXCLUDE(_elem) +# define _RH_KABI_EXCLUDE(_elem)
#else #else
@@ -137,6 +150,8 @@ @@ -137,6 +150,8 @@
} }
# define _RH_KABI_REPLACE_UNSAFE(_orig, _new) _new # define _RH_KABI_REPLACE_UNSAFE(_orig, _new) _new
+# define _RH_KABI_EXCLUDE(_elem) _elem +# define _RH_KABI_EXCLUDE(_elem) _elem
+ +
#endif /* __GENKSYMS__ */ #endif /* __GENKSYMS__ */
/* semicolon added wrappers for the RH_KABI_REPLACE macros */ /* semicolon added wrappers for the RH_KABI_REPLACE macros */
@@ -169,4 +184,6 @@ @@ -169,4 +184,6 @@
*/ */
# define _RH_KABI_RESERVE(n) unsigned long rh_reserved##n # define _RH_KABI_RESERVE(n) unsigned long rh_reserved##n
+#define RH_KABI_EXCLUDE(_elem) _RH_KABI_EXCLUDE(_elem); +#define RH_KABI_EXCLUDE(_elem) _RH_KABI_EXCLUDE(_elem);
+ +
#endif /* _LINUX_RH_KABI_H */ #endif /* _LINUX_RH_KABI_H */
-- --
2.25.4 2.26.2

View File

@ -24,7 +24,7 @@ index 7d5cfdda5277..be66ee5d0437 100644
int ipl_report_add_certificate(struct ipl_report *report, void *key, int ipl_report_add_certificate(struct ipl_report *report, void *key,
unsigned long addr, unsigned long len); unsigned long addr, unsigned long len);
+bool ipl_get_secureboot(void); +bool ipl_get_secureboot(void);
/* /*
* DIAG 308 support * DIAG 308 support
diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c
@ -33,7 +33,7 @@ index 90a2a17239b0..be3b72c53656 100644
+++ b/arch/s390/kernel/ipl.c +++ b/arch/s390/kernel/ipl.c
@@ -2110,3 +2110,8 @@ int ipl_report_free(struct ipl_report *report) @@ -2110,3 +2110,8 @@ int ipl_report_free(struct ipl_report *report)
} }
#endif #endif
+ +
+bool ipl_get_secureboot(void) +bool ipl_get_secureboot(void)
@ -49,13 +49,13 @@ index 5853c9872dfe..fab9bc9889da 100644
#include <linux/compat.h> #include <linux/compat.h>
#include <linux/start_kernel.h> #include <linux/start_kernel.h>
+#include <linux/security.h> +#include <linux/security.h>
#include <asm/boot_data.h> #include <asm/boot_data.h>
#include <asm/ipl.h> #include <asm/ipl.h>
@@ -1086,6 +1087,9 @@ void __init setup_arch(char **cmdline_p) @@ -1086,6 +1087,9 @@ void __init setup_arch(char **cmdline_p)
log_component_list(); log_component_list();
+ if (ipl_get_secureboot()) + if (ipl_get_secureboot())
+ security_lock_kernel_down("Secure IPL mode", LOCKDOWN_INTEGRITY_MAX); + security_lock_kernel_down("Secure IPL mode", LOCKDOWN_INTEGRITY_MAX);
+ +
@ -63,5 +63,5 @@ index 5853c9872dfe..fab9bc9889da 100644
/* boot_command_line has been already set up in early.c */ /* boot_command_line has been already set up in early.c */
*cmdline_p = boot_command_line; *cmdline_p = boot_command_line;
-- --
2.25.4 2.26.2

View File

@ -66,5 +66,5 @@ index cd157f11eb22..c5dc6cf57a71 100644
PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f, PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
PCI_VENDOR_ID_DELL, 0x1fe0) PCI_VENDOR_ID_DELL, 0x1fe0)
-- --
2.25.4 2.26.2

View File

@ -22,11 +22,11 @@ index 6791813cd439..501e14cff79c 100644
+++ b/include/linux/lsm_hook_defs.h +++ b/include/linux/lsm_hook_defs.h
@@ -383,6 +383,8 @@ LSM_HOOK(void, LSM_RET_VOID, bpf_prog_free_security, struct bpf_prog_aux *aux) @@ -383,6 +383,8 @@ LSM_HOOK(void, LSM_RET_VOID, bpf_prog_free_security, struct bpf_prog_aux *aux)
#endif /* CONFIG_BPF_SYSCALL */ #endif /* CONFIG_BPF_SYSCALL */
LSM_HOOK(int, 0, locked_down, enum lockdown_reason what) LSM_HOOK(int, 0, locked_down, enum lockdown_reason what)
+LSM_HOOK(int, 0, lock_kernel_down, const char *where, enum lockdown_reason level) +LSM_HOOK(int, 0, lock_kernel_down, const char *where, enum lockdown_reason level)
+ +
#ifdef CONFIG_PERF_EVENTS #ifdef CONFIG_PERF_EVENTS
LSM_HOOK(int, 0, perf_event_open, struct perf_event_attr *attr, int type) LSM_HOOK(int, 0, perf_event_open, struct perf_event_attr *attr, int type)
diff --git a/include/linux/lsm_hooks.h b/include/linux/lsm_hooks.h diff --git a/include/linux/lsm_hooks.h b/include/linux/lsm_hooks.h
@ -56,7 +56,7 @@ index 0a0a03b36a3b..26869f44416b 100644
int security_locked_down(enum lockdown_reason what); int security_locked_down(enum lockdown_reason what);
+int security_lock_kernel_down(const char *where, enum lockdown_reason level); +int security_lock_kernel_down(const char *where, enum lockdown_reason level);
#else /* CONFIG_SECURITY */ #else /* CONFIG_SECURITY */
static inline int call_blocking_lsm_notifier(enum lsm_event event, void *data) static inline int call_blocking_lsm_notifier(enum lsm_event event, void *data)
@@ -1291,6 +1292,10 @@ static inline int security_locked_down(enum lockdown_reason what) @@ -1291,6 +1292,10 @@ static inline int security_locked_down(enum lockdown_reason what)
{ {
@ -67,19 +67,19 @@ index 0a0a03b36a3b..26869f44416b 100644
+ return 0; + return 0;
+} +}
#endif /* CONFIG_SECURITY */ #endif /* CONFIG_SECURITY */
#if defined(CONFIG_SECURITY) && defined(CONFIG_WATCH_QUEUE) #if defined(CONFIG_SECURITY) && defined(CONFIG_WATCH_QUEUE)
diff --git a/security/lockdown/lockdown.c b/security/lockdown/lockdown.c diff --git a/security/lockdown/lockdown.c b/security/lockdown/lockdown.c
index 87cbdc64d272..18555cf18da7 100644 index 87cbdc64d272..18555cf18da7 100644
--- a/security/lockdown/lockdown.c --- a/security/lockdown/lockdown.c
+++ b/security/lockdown/lockdown.c +++ b/security/lockdown/lockdown.c
@@ -73,6 +73,7 @@ static int lockdown_is_locked_down(enum lockdown_reason what) @@ -73,6 +73,7 @@ static int lockdown_is_locked_down(enum lockdown_reason what)
static struct security_hook_list lockdown_hooks[] __lsm_ro_after_init = { static struct security_hook_list lockdown_hooks[] __lsm_ro_after_init = {
LSM_HOOK_INIT(locked_down, lockdown_is_locked_down), LSM_HOOK_INIT(locked_down, lockdown_is_locked_down),
+ LSM_HOOK_INIT(lock_kernel_down, lock_kernel_down), + LSM_HOOK_INIT(lock_kernel_down, lock_kernel_down),
}; };
static int __init lockdown_lsm_init(void) static int __init lockdown_lsm_init(void)
diff --git a/security/security.c b/security/security.c diff --git a/security/security.c b/security/security.c
index 0ce3e73edd42..8fe9a9911261 100644 index 0ce3e73edd42..8fe9a9911261 100644
@ -88,7 +88,7 @@ index 0ce3e73edd42..8fe9a9911261 100644
@@ -2501,6 +2501,12 @@ int security_locked_down(enum lockdown_reason what) @@ -2501,6 +2501,12 @@ int security_locked_down(enum lockdown_reason what)
} }
EXPORT_SYMBOL(security_locked_down); EXPORT_SYMBOL(security_locked_down);
+int security_lock_kernel_down(const char *where, enum lockdown_reason level) +int security_lock_kernel_down(const char *where, enum lockdown_reason level)
+{ +{
+ return call_int_hook(lock_kernel_down, 0, where, level); + return call_int_hook(lock_kernel_down, 0, where, level);
@ -99,5 +99,5 @@ index 0ce3e73edd42..8fe9a9911261 100644
int security_perf_event_open(struct perf_event_attr *attr, int type) int security_perf_event_open(struct perf_event_attr *attr, int type)
{ {
-- --
2.25.4 2.26.2

View File

@ -46,9 +46,9 @@ index 4e18ae5282a6..805341c0aaf3 100755
ignore="$ignore ( -name *.mod.c ) -prune -o" ignore="$ignore ( -name *.mod.c ) -prune -o"
+# RHEL tags and cscope should also ignore redhat/rpm +# RHEL tags and cscope should also ignore redhat/rpm
+ignore="$ignore ( -path redhat/rpm ) -prune -o" +ignore="$ignore ( -path redhat/rpm ) -prune -o"
# Use make KBUILD_ABS_SRCTREE=1 {tags|cscope} # Use make KBUILD_ABS_SRCTREE=1 {tags|cscope}
# to force full paths for a non-O= build # to force full paths for a non-O= build
-- --
2.25.4 2.26.2

View File

@ -54,5 +54,5 @@ index c27289fd619a..f8a8d6b3c521 100644
VMMDEVREQ_SIZEHACK = 0x7fffffff VMMDEVREQ_SIZEHACK = 0x7fffffff
}; };
-- --
2.25.4 2.26.2

View File

@ -23,18 +23,18 @@ index 15b3cb618c6e..4f1addaa3f6f 100644
--- a/drivers/virt/vboxguest/vboxguest_core.c --- a/drivers/virt/vboxguest/vboxguest_core.c
+++ b/drivers/virt/vboxguest/vboxguest_core.c +++ b/drivers/virt/vboxguest/vboxguest_core.c
@@ -679,7 +679,7 @@ static int vbg_set_host_capabilities(struct vbg_dev *gdev, @@ -679,7 +679,7 @@ static int vbg_set_host_capabilities(struct vbg_dev *gdev,
WARN_ON(!mutex_is_locked(&gdev->session_mutex)); WARN_ON(!mutex_is_locked(&gdev->session_mutex));
- caps = gdev->set_guest_caps_tracker.mask; - caps = gdev->set_guest_caps_tracker.mask;
+ caps = gdev->acquired_guest_caps | gdev->set_guest_caps_tracker.mask; + caps = gdev->acquired_guest_caps | gdev->set_guest_caps_tracker.mask;
if (gdev->guest_caps_host == caps) if (gdev->guest_caps_host == caps)
return 0; return 0;
@@ -703,6 +703,113 @@ static int vbg_set_host_capabilities(struct vbg_dev *gdev, @@ -703,6 +703,113 @@ static int vbg_set_host_capabilities(struct vbg_dev *gdev,
return vbg_status_code_to_errno(rc); return vbg_status_code_to_errno(rc);
} }
+/** +/**
+ * Acquire (get exclusive access) guest capabilities for a session. + * Acquire (get exclusive access) guest capabilities for a session.
+ * Takes the session mutex. + * Takes the session mutex.
@ -146,9 +146,9 @@ index 15b3cb618c6e..4f1addaa3f6f 100644
* Sets the guest capabilities for a session. Takes the session spinlock. * Sets the guest capabilities for a session. Takes the session spinlock.
* Return: 0 or negative errno value. * Return: 0 or negative errno value.
@@ -725,6 +832,13 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev, @@ -725,6 +832,13 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev,
mutex_lock(&gdev->session_mutex); mutex_lock(&gdev->session_mutex);
+ if (gdev->acquire_mode_guest_caps & or_mask) { + if (gdev->acquire_mode_guest_caps & or_mask) {
+ vbg_err("%s error: cannot set caps which are in acquire_mode\n", + vbg_err("%s error: cannot set caps which are in acquire_mode\n",
+ __func__); + __func__);
@ -162,15 +162,15 @@ index 15b3cb618c6e..4f1addaa3f6f 100644
@@ -962,6 +1076,7 @@ void vbg_core_close_session(struct vbg_session *session) @@ -962,6 +1076,7 @@ void vbg_core_close_session(struct vbg_session *session)
struct vbg_dev *gdev = session->gdev; struct vbg_dev *gdev = session->gdev;
int i, rc; int i, rc;
+ vbg_acquire_session_capabilities(gdev, session, 0, U32_MAX, 0, true); + vbg_acquire_session_capabilities(gdev, session, 0, U32_MAX, 0, true);
vbg_set_session_capabilities(gdev, session, 0, U32_MAX, true); vbg_set_session_capabilities(gdev, session, 0, U32_MAX, true);
vbg_set_session_event_filter(gdev, session, 0, U32_MAX, true); vbg_set_session_event_filter(gdev, session, 0, U32_MAX, true);
@@ -1019,6 +1134,25 @@ static int vbg_ioctl_driver_version_info( @@ -1019,6 +1134,25 @@ static int vbg_ioctl_driver_version_info(
return 0; return 0;
} }
+/* Must be called with the event_lock held */ +/* Must be called with the event_lock held */
+static u32 vbg_get_allowed_event_mask_for_session(struct vbg_dev *gdev, +static u32 vbg_get_allowed_event_mask_for_session(struct vbg_dev *gdev,
+ struct vbg_session *session) + struct vbg_session *session)
@ -195,16 +195,16 @@ index 15b3cb618c6e..4f1addaa3f6f 100644
u32 event_mask) u32 event_mask)
@@ -1030,6 +1164,7 @@ static bool vbg_wait_event_cond(struct vbg_dev *gdev, @@ -1030,6 +1164,7 @@ static bool vbg_wait_event_cond(struct vbg_dev *gdev,
spin_lock_irqsave(&gdev->event_spinlock, flags); spin_lock_irqsave(&gdev->event_spinlock, flags);
events = gdev->pending_events & event_mask; events = gdev->pending_events & event_mask;
+ events &= vbg_get_allowed_event_mask_for_session(gdev, session); + events &= vbg_get_allowed_event_mask_for_session(gdev, session);
wakeup = events || session->cancel_waiters; wakeup = events || session->cancel_waiters;
spin_unlock_irqrestore(&gdev->event_spinlock, flags); spin_unlock_irqrestore(&gdev->event_spinlock, flags);
@@ -1044,6 +1179,7 @@ static u32 vbg_consume_events_locked(struct vbg_dev *gdev, @@ -1044,6 +1179,7 @@ static u32 vbg_consume_events_locked(struct vbg_dev *gdev,
{ {
u32 events = gdev->pending_events & event_mask; u32 events = gdev->pending_events & event_mask;
+ events &= vbg_get_allowed_event_mask_for_session(gdev, session); + events &= vbg_get_allowed_event_mask_for_session(gdev, session);
gdev->pending_events &= ~events; gdev->pending_events &= ~events;
return events; return events;
@ -212,7 +212,7 @@ index 15b3cb618c6e..4f1addaa3f6f 100644
@@ -1445,6 +1581,29 @@ static int vbg_ioctl_change_filter_mask(struct vbg_dev *gdev, @@ -1445,6 +1581,29 @@ static int vbg_ioctl_change_filter_mask(struct vbg_dev *gdev,
false); false);
} }
+static int vbg_ioctl_acquire_guest_capabilities(struct vbg_dev *gdev, +static int vbg_ioctl_acquire_guest_capabilities(struct vbg_dev *gdev,
+ struct vbg_session *session, + struct vbg_session *session,
+ struct vbg_ioctl_acquire_guest_caps *caps) + struct vbg_ioctl_acquire_guest_caps *caps)
@ -255,7 +255,7 @@ index dc745a033164..ab4bf64e2cec 100644
@@ -117,6 +117,15 @@ struct vbg_dev { @@ -117,6 +117,15 @@ struct vbg_dev {
*/ */
u32 event_filter_host; u32 event_filter_host;
+ /** + /**
+ * Guest capabilities which have been switched to acquire_mode. + * Guest capabilities which have been switched to acquire_mode.
+ */ + */
@ -286,8 +286,8 @@ index f79d7abe27db..15125f6ec60d 100644
+++ b/include/uapi/linux/vboxguest.h +++ b/include/uapi/linux/vboxguest.h
@@ -257,6 +257,30 @@ VMMDEV_ASSERT_SIZE(vbg_ioctl_change_filter, 24 + 8); @@ -257,6 +257,30 @@ VMMDEV_ASSERT_SIZE(vbg_ioctl_change_filter, 24 + 8);
_IOWR('V', 12, struct vbg_ioctl_change_filter) _IOWR('V', 12, struct vbg_ioctl_change_filter)
+/** VBG_IOCTL_ACQUIRE_GUEST_CAPABILITIES data structure. */ +/** VBG_IOCTL_ACQUIRE_GUEST_CAPABILITIES data structure. */
+struct vbg_ioctl_acquire_guest_caps { +struct vbg_ioctl_acquire_guest_caps {
+ /** The header. */ + /** The header. */
@ -316,5 +316,5 @@ index f79d7abe27db..15125f6ec60d 100644
struct vbg_ioctl_set_guest_caps { struct vbg_ioctl_set_guest_caps {
/** The header. */ /** The header. */
-- --
2.25.4 2.26.2

View File

@ -19,7 +19,7 @@ index aee5eff229f2..15b3cb618c6e 100644
@@ -661,6 +661,48 @@ static int vbg_reset_host_capabilities(struct vbg_dev *gdev) @@ -661,6 +661,48 @@ static int vbg_reset_host_capabilities(struct vbg_dev *gdev)
return vbg_status_code_to_errno(rc); return vbg_status_code_to_errno(rc);
} }
+/** +/**
+ * Set guest capabilities on the host. + * Set guest capabilities on the host.
+ * Must be called with gdev->session_mutex hold. + * Must be called with gdev->session_mutex hold.
@ -87,12 +87,12 @@ index aee5eff229f2..15b3cb618c6e 100644
- /* Ignore allocation failure, we must do session cleanup. */ - /* Ignore allocation failure, we must do session cleanup. */
- } - }
+ int ret = 0; + int ret = 0;
mutex_lock(&gdev->session_mutex); mutex_lock(&gdev->session_mutex);
@@ -709,23 +736,10 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev, @@ -709,23 +736,10 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev,
goto out; goto out;
vbg_track_bit_usage(&gdev->set_guest_caps_tracker, changed, previous); vbg_track_bit_usage(&gdev->set_guest_caps_tracker, changed, previous);
- or_mask = gdev->set_guest_caps_tracker.mask; - or_mask = gdev->set_guest_caps_tracker.mask;
- -
@ -110,7 +110,7 @@ index aee5eff229f2..15b3cb618c6e 100644
- gdev->guest_caps_host = U32_MAX; - gdev->guest_caps_host = U32_MAX;
- if (session_termination) - if (session_termination)
- goto out; - goto out;
+ ret = vbg_set_host_capabilities(gdev, session, session_termination); + ret = vbg_set_host_capabilities(gdev, session, session_termination);
+ /* Roll back on failure, unless it's session termination time. */ + /* Roll back on failure, unless it's session termination time. */
+ if (ret < 0 && !session_termination) { + if (ret < 0 && !session_termination) {
@ -118,13 +118,13 @@ index aee5eff229f2..15b3cb618c6e 100644
session->set_guest_caps); session->set_guest_caps);
session->set_guest_caps = previous; session->set_guest_caps = previous;
@@ -733,7 +747,6 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev, @@ -733,7 +747,6 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev,
out: out:
mutex_unlock(&gdev->session_mutex); mutex_unlock(&gdev->session_mutex);
- vbg_req_free(req, sizeof(*req)); - vbg_req_free(req, sizeof(*req));
return ret; return ret;
} }
-- --
2.25.4 2.26.2

View File

@ -39,14 +39,14 @@ index b690a8a4bf9e..8fab04e76c14 100644
--- a/drivers/virt/vboxguest/vboxguest_core.c --- a/drivers/virt/vboxguest/vboxguest_core.c
+++ b/drivers/virt/vboxguest/vboxguest_core.c +++ b/drivers/virt/vboxguest/vboxguest_core.c
@@ -1520,7 +1520,8 @@ int vbg_core_ioctl(struct vbg_session *session, unsigned int req, void *data) @@ -1520,7 +1520,8 @@ int vbg_core_ioctl(struct vbg_session *session, unsigned int req, void *data)
/* For VMMDEV_REQUEST hdr->type != VBG_IOCTL_HDR_TYPE_DEFAULT */ /* For VMMDEV_REQUEST hdr->type != VBG_IOCTL_HDR_TYPE_DEFAULT */
if (req_no_size == VBG_IOCTL_VMMDEV_REQUEST(0) || if (req_no_size == VBG_IOCTL_VMMDEV_REQUEST(0) ||
- req == VBG_IOCTL_VMMDEV_REQUEST_BIG) - req == VBG_IOCTL_VMMDEV_REQUEST_BIG)
+ req == VBG_IOCTL_VMMDEV_REQUEST_BIG || + req == VBG_IOCTL_VMMDEV_REQUEST_BIG ||
+ req == VBG_IOCTL_VMMDEV_REQUEST_BIG_ALT) + req == VBG_IOCTL_VMMDEV_REQUEST_BIG_ALT)
return vbg_ioctl_vmmrequest(gdev, session, data); return vbg_ioctl_vmmrequest(gdev, session, data);
if (hdr->type != VBG_IOCTL_HDR_TYPE_DEFAULT) if (hdr->type != VBG_IOCTL_HDR_TYPE_DEFAULT)
@@ -1558,6 +1559,7 @@ int vbg_core_ioctl(struct vbg_session *session, unsigned int req, void *data) @@ -1558,6 +1559,7 @@ int vbg_core_ioctl(struct vbg_session *session, unsigned int req, void *data)
case VBG_IOCTL_HGCM_CALL(0): case VBG_IOCTL_HGCM_CALL(0):
@ -55,7 +55,7 @@ index b690a8a4bf9e..8fab04e76c14 100644
+ case VBG_IOCTL_LOG_ALT(0): + case VBG_IOCTL_LOG_ALT(0):
return vbg_ioctl_log(data); return vbg_ioctl_log(data);
} }
diff --git a/drivers/virt/vboxguest/vboxguest_core.h b/drivers/virt/vboxguest/vboxguest_core.h diff --git a/drivers/virt/vboxguest/vboxguest_core.h b/drivers/virt/vboxguest/vboxguest_core.h
index 4188c12b839f..77c3a9c8255d 100644 index 4188c12b839f..77c3a9c8255d 100644
--- a/drivers/virt/vboxguest/vboxguest_core.h --- a/drivers/virt/vboxguest/vboxguest_core.h
@ -63,7 +63,7 @@ index 4188c12b839f..77c3a9c8255d 100644
@@ -15,6 +15,21 @@ @@ -15,6 +15,21 @@
#include <linux/vboxguest.h> #include <linux/vboxguest.h>
#include "vmmdev.h" #include "vmmdev.h"
+/* +/*
+ * The mainline kernel version (this version) of the vboxguest module + * The mainline kernel version (this version) of the vboxguest module
+ * contained a bug where it defined VBGL_IOCTL_VMMDEV_REQUEST_BIG and + * contained a bug where it defined VBGL_IOCTL_VMMDEV_REQUEST_BIG and
@ -80,7 +80,7 @@ index 4188c12b839f..77c3a9c8255d 100644
+#define VBG_IOCTL_LOG_ALT(s) _IOC(_IOC_READ | _IOC_WRITE, 'V', 9, s) +#define VBG_IOCTL_LOG_ALT(s) _IOC(_IOC_READ | _IOC_WRITE, 'V', 9, s)
+ +
struct vbg_session; struct vbg_session;
/** VBox guest memory balloon. */ /** VBox guest memory balloon. */
diff --git a/drivers/virt/vboxguest/vboxguest_linux.c b/drivers/virt/vboxguest/vboxguest_linux.c diff --git a/drivers/virt/vboxguest/vboxguest_linux.c b/drivers/virt/vboxguest/vboxguest_linux.c
index 6e8c0f1c1056..32c2c52f7e84 100644 index 6e8c0f1c1056..32c2c52f7e84 100644
@ -93,7 +93,7 @@ index 6e8c0f1c1056..32c2c52f7e84 100644
- req == VBG_IOCTL_VMMDEV_REQUEST_BIG; - req == VBG_IOCTL_VMMDEV_REQUEST_BIG;
+ req == VBG_IOCTL_VMMDEV_REQUEST_BIG || + req == VBG_IOCTL_VMMDEV_REQUEST_BIG ||
+ req == VBG_IOCTL_VMMDEV_REQUEST_BIG_ALT; + req == VBG_IOCTL_VMMDEV_REQUEST_BIG_ALT;
if (is_vmmdev_req) if (is_vmmdev_req)
buf = vbg_req_alloc(size, VBG_IOCTL_HDR_TYPE_DEFAULT, buf = vbg_req_alloc(size, VBG_IOCTL_HDR_TYPE_DEFAULT,
diff --git a/include/uapi/linux/vboxguest.h b/include/uapi/linux/vboxguest.h diff --git a/include/uapi/linux/vboxguest.h b/include/uapi/linux/vboxguest.h
@ -101,23 +101,23 @@ index 9cec58a6a5ea..f79d7abe27db 100644
--- a/include/uapi/linux/vboxguest.h --- a/include/uapi/linux/vboxguest.h
+++ b/include/uapi/linux/vboxguest.h +++ b/include/uapi/linux/vboxguest.h
@@ -103,7 +103,7 @@ VMMDEV_ASSERT_SIZE(vbg_ioctl_driver_version_info, 24 + 20); @@ -103,7 +103,7 @@ VMMDEV_ASSERT_SIZE(vbg_ioctl_driver_version_info, 24 + 20);
/* IOCTL to perform a VMM Device request larger then 1KB. */ /* IOCTL to perform a VMM Device request larger then 1KB. */
-#define VBG_IOCTL_VMMDEV_REQUEST_BIG _IOC(_IOC_READ | _IOC_WRITE, 'V', 3, 0) -#define VBG_IOCTL_VMMDEV_REQUEST_BIG _IOC(_IOC_READ | _IOC_WRITE, 'V', 3, 0)
+#define VBG_IOCTL_VMMDEV_REQUEST_BIG _IO('V', 3) +#define VBG_IOCTL_VMMDEV_REQUEST_BIG _IO('V', 3)
/** VBG_IOCTL_HGCM_CONNECT data structure. */ /** VBG_IOCTL_HGCM_CONNECT data structure. */
@@ -198,7 +198,7 @@ struct vbg_ioctl_log { @@ -198,7 +198,7 @@ struct vbg_ioctl_log {
} u; } u;
}; };
-#define VBG_IOCTL_LOG(s) _IOC(_IOC_READ | _IOC_WRITE, 'V', 9, s) -#define VBG_IOCTL_LOG(s) _IOC(_IOC_READ | _IOC_WRITE, 'V', 9, s)
+#define VBG_IOCTL_LOG(s) _IO('V', 9) +#define VBG_IOCTL_LOG(s) _IO('V', 9)
/** VBG_IOCTL_WAIT_FOR_EVENTS data structure. */ /** VBG_IOCTL_WAIT_FOR_EVENTS data structure. */
-- --
2.25.4 2.26.2

View File

@ -23,11 +23,11 @@ index 8fab04e76c14..18ebd7a6af98 100644
@@ -1444,7 +1444,7 @@ static int vbg_ioctl_change_guest_capabilities(struct vbg_dev *gdev, @@ -1444,7 +1444,7 @@ static int vbg_ioctl_change_guest_capabilities(struct vbg_dev *gdev,
or_mask = caps->u.in.or_mask; or_mask = caps->u.in.or_mask;
not_mask = caps->u.in.not_mask; not_mask = caps->u.in.not_mask;
- if ((or_mask | not_mask) & ~VMMDEV_EVENT_VALID_EVENT_MASK) - if ((or_mask | not_mask) & ~VMMDEV_EVENT_VALID_EVENT_MASK)
+ if ((or_mask | not_mask) & ~VMMDEV_GUEST_CAPABILITIES_MASK) + if ((or_mask | not_mask) & ~VMMDEV_GUEST_CAPABILITIES_MASK)
return -EINVAL; return -EINVAL;
ret = vbg_set_session_capabilities(gdev, session, or_mask, not_mask, ret = vbg_set_session_capabilities(gdev, session, or_mask, not_mask,
diff --git a/drivers/virt/vboxguest/vmmdev.h b/drivers/virt/vboxguest/vmmdev.h diff --git a/drivers/virt/vboxguest/vmmdev.h b/drivers/virt/vboxguest/vmmdev.h
index 6337b8d75d96..21f408120e3f 100644 index 6337b8d75d96..21f408120e3f 100644
@ -39,9 +39,9 @@ index 6337b8d75d96..21f408120e3f 100644
#define VMMDEV_GUEST_SUPPORTS_GRAPHICS BIT(2) #define VMMDEV_GUEST_SUPPORTS_GRAPHICS BIT(2)
+/* The mask of valid capabilities, for sanity checking. */ +/* The mask of valid capabilities, for sanity checking. */
+#define VMMDEV_GUEST_CAPABILITIES_MASK 0x00000007U +#define VMMDEV_GUEST_CAPABILITIES_MASK 0x00000007U
/** struct vmmdev_hypervisorinfo - Hypervisor info structure. */ /** struct vmmdev_hypervisorinfo - Hypervisor info structure. */
struct vmmdev_hypervisorinfo { struct vmmdev_hypervisorinfo {
-- --
2.25.4 2.26.2

View File

@ -19,12 +19,12 @@ index ffd76b949276..e0e343d0ba93 100644
@@ -1739,7 +1739,7 @@ int vbg_core_ioctl(struct vbg_session *session, unsigned int req, void *data) @@ -1739,7 +1739,7 @@ int vbg_core_ioctl(struct vbg_session *session, unsigned int req, void *data)
return vbg_ioctl_log(data); return vbg_ioctl_log(data);
} }
- vbg_debug("VGDrvCommonIoCtl: Unknown req %#08x\n", req); - vbg_debug("VGDrvCommonIoCtl: Unknown req %#08x\n", req);
+ vbg_err("Userspace made an unknown ioctl req %#08x\n", req); + vbg_err("Userspace made an unknown ioctl req %#08x\n", req);
return -ENOTTY; return -ENOTTY;
} }
-- --
2.25.4 2.26.2

View File

@ -21,7 +21,7 @@ index 18ebd7a6af98..aee5eff229f2 100644
+++ b/drivers/virt/vboxguest/vboxguest_core.c +++ b/drivers/virt/vboxguest/vboxguest_core.c
@@ -699,17 +699,17 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev, @@ -699,17 +699,17 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev,
mutex_lock(&gdev->session_mutex); mutex_lock(&gdev->session_mutex);
/* Apply the changes to the session mask. */ /* Apply the changes to the session mask. */
- previous = session->guest_caps; - previous = session->guest_caps;
- session->guest_caps |= or_mask; - session->guest_caps |= or_mask;
@ -29,24 +29,24 @@ index 18ebd7a6af98..aee5eff229f2 100644
+ previous = session->set_guest_caps; + previous = session->set_guest_caps;
+ session->set_guest_caps |= or_mask; + session->set_guest_caps |= or_mask;
+ session->set_guest_caps &= ~not_mask; + session->set_guest_caps &= ~not_mask;
/* If anything actually changed, update the global usage counters. */ /* If anything actually changed, update the global usage counters. */
- changed = previous ^ session->guest_caps; - changed = previous ^ session->guest_caps;
+ changed = previous ^ session->set_guest_caps; + changed = previous ^ session->set_guest_caps;
if (!changed) if (!changed)
goto out; goto out;
- vbg_track_bit_usage(&gdev->guest_caps_tracker, changed, previous); - vbg_track_bit_usage(&gdev->guest_caps_tracker, changed, previous);
- or_mask = gdev->guest_caps_tracker.mask; - or_mask = gdev->guest_caps_tracker.mask;
+ vbg_track_bit_usage(&gdev->set_guest_caps_tracker, changed, previous); + vbg_track_bit_usage(&gdev->set_guest_caps_tracker, changed, previous);
+ or_mask = gdev->set_guest_caps_tracker.mask; + or_mask = gdev->set_guest_caps_tracker.mask;
if (gdev->guest_caps_host == or_mask || !req) if (gdev->guest_caps_host == or_mask || !req)
goto out; goto out;
@@ -726,9 +726,9 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev, @@ -726,9 +726,9 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev,
if (session_termination) if (session_termination)
goto out; goto out;
- vbg_track_bit_usage(&gdev->guest_caps_tracker, changed, - vbg_track_bit_usage(&gdev->guest_caps_tracker, changed,
- session->guest_caps); - session->guest_caps);
- session->guest_caps = previous; - session->guest_caps = previous;
@ -54,16 +54,16 @@ index 18ebd7a6af98..aee5eff229f2 100644
+ session->set_guest_caps); + session->set_guest_caps);
+ session->set_guest_caps = previous; + session->set_guest_caps = previous;
} }
out: out:
@@ -1452,7 +1452,7 @@ static int vbg_ioctl_change_guest_capabilities(struct vbg_dev *gdev, @@ -1452,7 +1452,7 @@ static int vbg_ioctl_change_guest_capabilities(struct vbg_dev *gdev,
if (ret) if (ret)
return ret; return ret;
- caps->u.out.session_caps = session->guest_caps; - caps->u.out.session_caps = session->guest_caps;
+ caps->u.out.session_caps = session->set_guest_caps; + caps->u.out.session_caps = session->set_guest_caps;
caps->u.out.global_caps = gdev->guest_caps_host; caps->u.out.global_caps = gdev->guest_caps_host;
return 0; return 0;
diff --git a/drivers/virt/vboxguest/vboxguest_core.h b/drivers/virt/vboxguest/vboxguest_core.h diff --git a/drivers/virt/vboxguest/vboxguest_core.h b/drivers/virt/vboxguest/vboxguest_core.h
index 77c3a9c8255d..dc745a033164 100644 index 77c3a9c8255d..dc745a033164 100644
@ -71,7 +71,7 @@ index 77c3a9c8255d..dc745a033164 100644
+++ b/drivers/virt/vboxguest/vboxguest_core.h +++ b/drivers/virt/vboxguest/vboxguest_core.h
@@ -118,11 +118,12 @@ struct vbg_dev { @@ -118,11 +118,12 @@ struct vbg_dev {
u32 event_filter_host; u32 event_filter_host;
/** /**
- * Usage counters for guest capabilities. Indexed by capability bit - * Usage counters for guest capabilities. Indexed by capability bit
+ * Usage counters for guest capabilities requested through + * Usage counters for guest capabilities requested through
@ -99,5 +99,5 @@ index 77c3a9c8255d..dc745a033164 100644
u32 requestor; u32 requestor;
/** Set on CANCEL_ALL_WAITEVENTS, protected by vbg_devevent_spinlock. */ /** Set on CANCEL_ALL_WAITEVENTS, protected by vbg_devevent_spinlock. */
-- --
2.25.4 2.26.2

View File

@ -31,7 +31,7 @@ index e677bb144835..6d31895c8e92 100644
@@ -756,6 +756,7 @@ static void __init trim_low_memory_range(void) @@ -756,6 +756,7 @@ static void __init trim_low_memory_range(void)
memblock_reserve(0, ALIGN(reserve_low, PAGE_SIZE)); memblock_reserve(0, ALIGN(reserve_low, PAGE_SIZE));
} }
+#ifdef CONFIG_RHEL_DIFFERENCES +#ifdef CONFIG_RHEL_DIFFERENCES
static bool valid_amd_processor(__u8 family, const char *model_id) static bool valid_amd_processor(__u8 family, const char *model_id)
{ {
@ -43,19 +43,19 @@ index e677bb144835..6d31895c8e92 100644
+#else +#else
+#define rh_check_supported() +#define rh_check_supported()
+#endif +#endif
/* /*
* Dump out kernel offset information on panic. * Dump out kernel offset information on panic.
@@ -1372,9 +1376,7 @@ void __init setup_arch(char **cmdline_p) @@ -1372,9 +1376,7 @@ void __init setup_arch(char **cmdline_p)
efi_apply_memmap_quirks(); efi_apply_memmap_quirks();
#endif #endif
-#ifdef CONFIG_RHEL_DIFFERENCES -#ifdef CONFIG_RHEL_DIFFERENCES
rh_check_supported(); rh_check_supported();
-#endif -#endif
unwind_init(); unwind_init();
} }
-- --
2.25.4 2.26.2

View File

@ -68,7 +68,7 @@ CONFIG_ACPI_PCI_SLOT=y
CONFIG_ACPI_PROCESSOR=y CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_PROCFS_POWER=y CONFIG_ACPI_PROCFS_POWER=y
CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_SPCR_TABLE=y
CONFIG_ACPI_TABLE_UPGRADE=y # CONFIG_ACPI_TABLE_UPGRADE is not set
CONFIG_ACPI_TAD=m CONFIG_ACPI_TAD=m
CONFIG_ACPI_THERMAL=y CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_WATCHDOG=y CONFIG_ACPI_WATCHDOG=y
@ -1854,7 +1854,7 @@ CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_ARMSTUB_DTB_LOADER=y CONFIG_EFI_ARMSTUB_DTB_LOADER=y
# CONFIG_EFI_BOOTLOADER_CONTROL is not set # CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set # CONFIG_EFI_CAPSULE_LOADER is not set
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y # CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
# CONFIG_EFI_DISABLE_PCI_DMA is not set # CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
CONFIG_EFI_PARTITION=y CONFIG_EFI_PARTITION=y

View File

@ -68,7 +68,7 @@ CONFIG_ACPI_PCI_SLOT=y
CONFIG_ACPI_PROCESSOR=y CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_PROCFS_POWER=y CONFIG_ACPI_PROCFS_POWER=y
CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_SPCR_TABLE=y
CONFIG_ACPI_TABLE_UPGRADE=y # CONFIG_ACPI_TABLE_UPGRADE is not set
CONFIG_ACPI_TAD=m CONFIG_ACPI_TAD=m
CONFIG_ACPI_THERMAL=y CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_WATCHDOG=y CONFIG_ACPI_WATCHDOG=y
@ -1846,7 +1846,7 @@ CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_ARMSTUB_DTB_LOADER=y CONFIG_EFI_ARMSTUB_DTB_LOADER=y
# CONFIG_EFI_BOOTLOADER_CONTROL is not set # CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set # CONFIG_EFI_CAPSULE_LOADER is not set
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y # CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
# CONFIG_EFI_DISABLE_PCI_DMA is not set # CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
CONFIG_EFI_PARTITION=y CONFIG_EFI_PARTITION=y

View File

@ -42,6 +42,7 @@ CONFIG_ACPI_HMAT=y
# CONFIG_ACPI_NFIT is not set # CONFIG_ACPI_NFIT is not set
CONFIG_ACPI_PCI_SLOT=y CONFIG_ACPI_PCI_SLOT=y
CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACPI_TABLE_UPGRADE is not set
CONFIG_ACPI_TAD=m CONFIG_ACPI_TAD=m
# CONFIG_ACQUIRE_WDT is not set # CONFIG_ACQUIRE_WDT is not set
# CONFIG_AD2S1200 is not set # CONFIG_AD2S1200 is not set
@ -1893,7 +1894,7 @@ CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_ARMSTUB_DTB_LOADER=y CONFIG_EFI_ARMSTUB_DTB_LOADER=y
# CONFIG_EFI_BOOTLOADER_CONTROL is not set # CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set # CONFIG_EFI_CAPSULE_LOADER is not set
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y # CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
# CONFIG_EFI_DISABLE_PCI_DMA is not set # CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
CONFIG_EFI_PARTITION=y CONFIG_EFI_PARTITION=y

View File

@ -42,6 +42,7 @@ CONFIG_ACPI_HMAT=y
# CONFIG_ACPI_NFIT is not set # CONFIG_ACPI_NFIT is not set
CONFIG_ACPI_PCI_SLOT=y CONFIG_ACPI_PCI_SLOT=y
CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACPI_TABLE_UPGRADE is not set
CONFIG_ACPI_TAD=m CONFIG_ACPI_TAD=m
# CONFIG_ACQUIRE_WDT is not set # CONFIG_ACQUIRE_WDT is not set
# CONFIG_AD2S1200 is not set # CONFIG_AD2S1200 is not set
@ -1886,7 +1887,7 @@ CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_ARMSTUB_DTB_LOADER=y CONFIG_EFI_ARMSTUB_DTB_LOADER=y
# CONFIG_EFI_BOOTLOADER_CONTROL is not set # CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set # CONFIG_EFI_CAPSULE_LOADER is not set
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y # CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
# CONFIG_EFI_DISABLE_PCI_DMA is not set # CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
CONFIG_EFI_PARTITION=y CONFIG_EFI_PARTITION=y

View File

@ -42,6 +42,7 @@ CONFIG_ACPI_HMAT=y
# CONFIG_ACPI_NFIT is not set # CONFIG_ACPI_NFIT is not set
CONFIG_ACPI_PCI_SLOT=y CONFIG_ACPI_PCI_SLOT=y
CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACPI_TABLE_UPGRADE is not set
CONFIG_ACPI_TAD=m CONFIG_ACPI_TAD=m
# CONFIG_ACQUIRE_WDT is not set # CONFIG_ACQUIRE_WDT is not set
# CONFIG_AD2S1200 is not set # CONFIG_AD2S1200 is not set
@ -1845,7 +1846,7 @@ CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_ARMSTUB_DTB_LOADER=y CONFIG_EFI_ARMSTUB_DTB_LOADER=y
# CONFIG_EFI_BOOTLOADER_CONTROL is not set # CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set # CONFIG_EFI_CAPSULE_LOADER is not set
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y # CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
# CONFIG_EFI_DISABLE_PCI_DMA is not set # CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
CONFIG_EFI_PARTITION=y CONFIG_EFI_PARTITION=y

View File

@ -42,6 +42,7 @@ CONFIG_ACPI_HMAT=y
# CONFIG_ACPI_NFIT is not set # CONFIG_ACPI_NFIT is not set
CONFIG_ACPI_PCI_SLOT=y CONFIG_ACPI_PCI_SLOT=y
CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACPI_TABLE_UPGRADE is not set
CONFIG_ACPI_TAD=m CONFIG_ACPI_TAD=m
# CONFIG_ACQUIRE_WDT is not set # CONFIG_ACQUIRE_WDT is not set
# CONFIG_AD2S1200 is not set # CONFIG_AD2S1200 is not set
@ -1838,7 +1839,7 @@ CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_ARMSTUB_DTB_LOADER=y CONFIG_EFI_ARMSTUB_DTB_LOADER=y
# CONFIG_EFI_BOOTLOADER_CONTROL is not set # CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set # CONFIG_EFI_CAPSULE_LOADER is not set
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y # CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
# CONFIG_EFI_DISABLE_PCI_DMA is not set # CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
CONFIG_EFI_PARTITION=y CONFIG_EFI_PARTITION=y

View File

@ -72,7 +72,7 @@ CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
CONFIG_ACPI_SBS=m CONFIG_ACPI_SBS=m
CONFIG_ACPI_SLEEP=y CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_SPCR_TABLE=y
CONFIG_ACPI_TABLE_UPGRADE=y # CONFIG_ACPI_TABLE_UPGRADE is not set
CONFIG_ACPI_TAD=m CONFIG_ACPI_TAD=m
CONFIG_ACPI_THERMAL=y CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_TOSHIBA=m CONFIG_ACPI_TOSHIBA=m
@ -1591,7 +1591,7 @@ CONFIG_EEPROM_MAX6875=m
# CONFIG_EFI_BOOTLOADER_CONTROL is not set # CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set # CONFIG_EFI_CAPSULE_LOADER is not set
# CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH is not set # CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH is not set
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y # CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
# CONFIG_EFI_DISABLE_PCI_DMA is not set # CONFIG_EFI_DISABLE_PCI_DMA is not set
# CONFIG_EFI_FAKE_MEMMAP is not set # CONFIG_EFI_FAKE_MEMMAP is not set
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y

View File

@ -72,7 +72,7 @@ CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
CONFIG_ACPI_SBS=m CONFIG_ACPI_SBS=m
CONFIG_ACPI_SLEEP=y CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_SPCR_TABLE=y
CONFIG_ACPI_TABLE_UPGRADE=y # CONFIG_ACPI_TABLE_UPGRADE is not set
CONFIG_ACPI_TAD=m CONFIG_ACPI_TAD=m
CONFIG_ACPI_THERMAL=y CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_TOSHIBA=m CONFIG_ACPI_TOSHIBA=m
@ -1582,7 +1582,7 @@ CONFIG_EEPROM_MAX6875=m
# CONFIG_EFI_BOOTLOADER_CONTROL is not set # CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set # CONFIG_EFI_CAPSULE_LOADER is not set
# CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH is not set # CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH is not set
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y # CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
# CONFIG_EFI_DISABLE_PCI_DMA is not set # CONFIG_EFI_DISABLE_PCI_DMA is not set
# CONFIG_EFI_FAKE_MEMMAP is not set # CONFIG_EFI_FAKE_MEMMAP is not set
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y

View File

@ -41,6 +41,7 @@ CONFIG_ACPI_HMAT=y
# CONFIG_ACPI_NFIT is not set # CONFIG_ACPI_NFIT is not set
CONFIG_ACPI_PCI_SLOT=y CONFIG_ACPI_PCI_SLOT=y
CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACPI_TABLE_UPGRADE is not set
CONFIG_ACPI_TAD=m CONFIG_ACPI_TAD=m
# CONFIG_ACQUIRE_WDT is not set # CONFIG_ACQUIRE_WDT is not set
# CONFIG_AD2S1200 is not set # CONFIG_AD2S1200 is not set
@ -1455,7 +1456,7 @@ CONFIG_EEPROM_EE1004=m
CONFIG_EEPROM_IDT_89HPESX=m CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y # CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
# CONFIG_EFI_DISABLE_PCI_DMA is not set # CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
CONFIG_EFI_PARTITION=y CONFIG_EFI_PARTITION=y

View File

@ -41,6 +41,7 @@ CONFIG_ACPI_HMAT=y
# CONFIG_ACPI_NFIT is not set # CONFIG_ACPI_NFIT is not set
CONFIG_ACPI_PCI_SLOT=y CONFIG_ACPI_PCI_SLOT=y
CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACPI_TABLE_UPGRADE is not set
CONFIG_ACPI_TAD=m CONFIG_ACPI_TAD=m
# CONFIG_ACQUIRE_WDT is not set # CONFIG_ACQUIRE_WDT is not set
# CONFIG_AD2S1200 is not set # CONFIG_AD2S1200 is not set
@ -1446,7 +1447,7 @@ CONFIG_EEPROM_EE1004=m
CONFIG_EEPROM_IDT_89HPESX=m CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y # CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
# CONFIG_EFI_DISABLE_PCI_DMA is not set # CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
CONFIG_EFI_PARTITION=y CONFIG_EFI_PARTITION=y

View File

@ -42,6 +42,7 @@ CONFIG_ACPI_HMAT=y
# CONFIG_ACPI_NFIT is not set # CONFIG_ACPI_NFIT is not set
CONFIG_ACPI_PCI_SLOT=y CONFIG_ACPI_PCI_SLOT=y
CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACPI_TABLE_UPGRADE is not set
CONFIG_ACPI_TAD=m CONFIG_ACPI_TAD=m
# CONFIG_ACQUIRE_WDT is not set # CONFIG_ACQUIRE_WDT is not set
# CONFIG_AD2S1200 is not set # CONFIG_AD2S1200 is not set
@ -1461,7 +1462,7 @@ CONFIG_EEPROM_EE1004=m
CONFIG_EEPROM_IDT_89HPESX=m CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y # CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
# CONFIG_EFI_DISABLE_PCI_DMA is not set # CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
CONFIG_EFI_PARTITION=y CONFIG_EFI_PARTITION=y

View File

@ -42,6 +42,7 @@ CONFIG_ACPI_HMAT=y
# CONFIG_ACPI_NFIT is not set # CONFIG_ACPI_NFIT is not set
CONFIG_ACPI_PCI_SLOT=y CONFIG_ACPI_PCI_SLOT=y
CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACPI_TABLE_UPGRADE is not set
CONFIG_ACPI_TAD=m CONFIG_ACPI_TAD=m
# CONFIG_ACQUIRE_WDT is not set # CONFIG_ACQUIRE_WDT is not set
# CONFIG_AD2S1200 is not set # CONFIG_AD2S1200 is not set
@ -1452,7 +1453,7 @@ CONFIG_EEPROM_EE1004=m
CONFIG_EEPROM_IDT_89HPESX=m CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y # CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
# CONFIG_EFI_DISABLE_PCI_DMA is not set # CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
CONFIG_EFI_PARTITION=y CONFIG_EFI_PARTITION=y

View File

@ -75,7 +75,7 @@ CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
CONFIG_ACPI_SBS=m CONFIG_ACPI_SBS=m
CONFIG_ACPI_SLEEP=y CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_SPCR_TABLE=y
CONFIG_ACPI_TABLE_UPGRADE=y # CONFIG_ACPI_TABLE_UPGRADE is not set
CONFIG_ACPI_TAD=m CONFIG_ACPI_TAD=m
CONFIG_ACPI_THERMAL=y CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_TOSHIBA=m CONFIG_ACPI_TOSHIBA=m
@ -1627,7 +1627,7 @@ CONFIG_EEPROM_MAX6875=m
# CONFIG_EFI_BOOTLOADER_CONTROL is not set # CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set # CONFIG_EFI_CAPSULE_LOADER is not set
# CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH is not set # CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH is not set
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y # CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
# CONFIG_EFI_DISABLE_PCI_DMA is not set # CONFIG_EFI_DISABLE_PCI_DMA is not set
# CONFIG_EFI_FAKE_MEMMAP is not set # CONFIG_EFI_FAKE_MEMMAP is not set
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y

View File

@ -75,7 +75,7 @@ CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
CONFIG_ACPI_SBS=m CONFIG_ACPI_SBS=m
CONFIG_ACPI_SLEEP=y CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SPCR_TABLE=y CONFIG_ACPI_SPCR_TABLE=y
CONFIG_ACPI_TABLE_UPGRADE=y # CONFIG_ACPI_TABLE_UPGRADE is not set
CONFIG_ACPI_TAD=m CONFIG_ACPI_TAD=m
CONFIG_ACPI_THERMAL=y CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_TOSHIBA=m CONFIG_ACPI_TOSHIBA=m
@ -1618,7 +1618,7 @@ CONFIG_EEPROM_MAX6875=m
# CONFIG_EFI_BOOTLOADER_CONTROL is not set # CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set # CONFIG_EFI_CAPSULE_LOADER is not set
# CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH is not set # CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH is not set
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y # CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
# CONFIG_EFI_DISABLE_PCI_DMA is not set # CONFIG_EFI_DISABLE_PCI_DMA is not set
# CONFIG_EFI_FAKE_MEMMAP is not set # CONFIG_EFI_FAKE_MEMMAP is not set
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y

View File

@ -30,7 +30,7 @@ Summary: The Linux kernel
# For a stable, released kernel, released_kernel should be 1. # For a stable, released kernel, released_kernel should be 1.
%global released_kernel 0 %global released_kernel 0
%global distro_build 0.rc3.1 %global distro_build 0.rc3.20200630git7c30b859a947.1
%if 0%{?fedora} %if 0%{?fedora}
%define secure_boot_arch x86_64 %define secure_boot_arch x86_64
@ -59,6 +59,8 @@ Summary: The Linux kernel
%global zipsed -e 's/\.ko$/\.ko.xz/' %global zipsed -e 's/\.ko$/\.ko.xz/'
%endif %endif
# define buildid .local
%if 0%{?fedora} %if 0%{?fedora}
%define primary_target fedora %define primary_target fedora
@ -67,13 +69,13 @@ Summary: The Linux kernel
%endif %endif
%define rpmversion 5.8.0 %define rpmversion 5.8.0
%define pkgrelease 0.rc3.1 %define pkgrelease 0.rc3.20200630git7c30b859a947.1
# This is needed to do merge window version magic # This is needed to do merge window version magic
%define patchlevel 8 %define patchlevel 8
# allow pkg_release to have configurable %%{?dist} tag # allow pkg_release to have configurable %%{?dist} tag
%define specrelease 0.rc3.1%{?buildid}%{?dist} %define specrelease 0.rc3.20200630git7c30b859a947.1%{?buildid}%{?dist}
%define pkg_release %{specrelease} %define pkg_release %{specrelease}
@ -164,7 +166,7 @@ Summary: The Linux kernel
# Set debugbuildsenabled to 1 for production (build separate debug kernels) # Set debugbuildsenabled to 1 for production (build separate debug kernels)
# and 0 for rawhide (all kernels are debug kernels). # and 0 for rawhide (all kernels are debug kernels).
# See also 'make debug' and 'make release'. # See also 'make debug' and 'make release'.
%define debugbuildsenabled 1 %define debugbuildsenabled 0
# The kernel tarball/base version # The kernel tarball/base version
%define kversion 5.8 %define kversion 5.8
@ -565,7 +567,7 @@ BuildRequires: asciidoc
# exact git commit you can run # exact git commit you can run
# #
# xzcat -qq ${TARBALL} | git get-tar-commit-id # xzcat -qq ${TARBALL} | git get-tar-commit-id
Source0: linux-5.8-rc3.tar.xz Source0: linux-20200630git7c30b859a947.tar.xz
Source1: Makefile.rhelver Source1: Makefile.rhelver
@ -1278,8 +1280,8 @@ ApplyOptionalPatch()
fi fi
} }
%setup -q -n kernel-5.8-rc3 -c %setup -q -n kernel-20200630git7c30b859a947 -c
mv linux-5.8-rc3 linux-%{KVERREL} mv linux-20200630git7c30b859a947 linux-%{KVERREL}
cd linux-%{KVERREL} cd linux-%{KVERREL}
cp -a %{SOURCE1} . cp -a %{SOURCE1} .
@ -2790,6 +2792,10 @@ fi
# #
# #
%changelog %changelog
* Tue Jun 30 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc3.20200630git7c30b859a947.1]
- 7c30b859a947 rebase
- Updated changelog for the release based on v5.8-rc3 (Fedora Kernel Team)
* Mon Jun 29 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc3.1] * Mon Jun 29 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc3.1]
- v5.8-rc3 rebase - v5.8-rc3 rebase
- s390x-zfcpdump: Handle missing Module.symvers file (Don Zickus) - s390x-zfcpdump: Handle missing Module.symvers file (Don Zickus)

View File

@ -1,3 +1,3 @@
SHA512 (linux-5.8-rc3.tar.xz) = 67d4e2d17679b2f18cae51874bfe1aacda77fd889f88435ae7e55d62facd53ee9998d02dd5eb4a509250393063e06d0529637aa0f62cb07decba437c18cdc593 SHA512 (linux-20200630git7c30b859a947.tar.xz) = de54916c140fa3b067d108b124422eaf366d041cc2d8607eea65f26f662d06bd18eaecc1b5727b119e8f087a9ac913f8843184f394360c485bf1f7b1095cc02b
SHA512 (kernel-abi-whitelists-5.8.0-0.rc3.1.tar.bz2) = a0d5b62daea79405731c607d48e4a7da5793a86b1fe4829b5fdcc5c373276db8013c96703762d266fe9b9c4936ac59c9fa50d4dfd1a5bcc9068934edfda34350 SHA512 (kernel-abi-whitelists-5.8.0-0.rc3.20200630git7c30b859a947.1.tar.bz2) = 93a33c44cc5adf6e9323022b2b40167b105c8cb01c919e3dc063f3d3d21be0d14da0491ad2ddf6ff04a1426e996c5e77a209a9639a094cab5128dcc61e74dbd8
SHA512 (kernel-kabi-dw-5.8.0-0.rc3.1.tar.bz2) = d1398375847b496a4796bb54205a5007c702d289985922d095b33ec68e161c8e051999f51b073bcb4e481baed9435a9c9806fb17858587ae04b56b32523623ee SHA512 (kernel-kabi-dw-5.8.0-0.rc3.20200630git7c30b859a947.1.tar.bz2) = db3b88292e07a1afe7f5ef438b5fe14e20e8fa129021ea933cf06bdf1080bad22e94fb9e251ac5637f40ce7d516e40f78ce32ee0391394500aaea521787050dd