From: Greg Kroah-Hartman Date: Mon, 24 Aug 2020 07:29:12 +0000 (+0200) Subject: 5.8-stable patches X-Git-Tag: v4.4.234~28 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1bd81fd29754292fd03ed037797febd95fb22057;p=thirdparty%2Fkernel%2Fstable-queue.git 5.8-stable patches added patches: do_epoll_ctl-clean-the-failure-exits-up-a-bit.patch edac-i7core-sb-pnd2-skx-fix-error-event-severity.patch efi-add-missed-destroy_workqueue-when-efisubsys_init-fails.patch efi-libstub-handle-null-cmdline.patch efi-libstub-handle-unterminated-cmdline.patch efi-libstub-stop-parsing-arguments-at.patch efi-x86-mark-kernel-rodata-non-executable-for-mixed-mode.patch epoll-keep-a-reference-on-files-added-to-the-check-list.patch powerpc-fix-p10-pvr-revision-in-proc-cpuinfo-for-smt4-cores.patch powerpc-pseries-do-not-initiate-shutdown-when-system-is-running-on-ups.patch --- diff --git a/queue-5.8/do_epoll_ctl-clean-the-failure-exits-up-a-bit.patch b/queue-5.8/do_epoll_ctl-clean-the-failure-exits-up-a-bit.patch new file mode 100644 index 00000000000..1c5c6cd5bbd --- /dev/null +++ b/queue-5.8/do_epoll_ctl-clean-the-failure-exits-up-a-bit.patch @@ -0,0 +1,72 @@ +From 52c479697c9b73f628140dcdfcd39ea302d05482 Mon Sep 17 00:00:00 2001 +From: Al Viro +Date: Sat, 22 Aug 2020 18:25:52 -0400 +Subject: do_epoll_ctl(): clean the failure exits up a bit + +From: Al Viro + +commit 52c479697c9b73f628140dcdfcd39ea302d05482 upstream. + +Signed-off-by: Al Viro +Signed-off-by: Greg Kroah-Hartman + +--- + fs/eventpoll.c | 19 ++++++------------- + 1 file changed, 6 insertions(+), 13 deletions(-) + +--- a/fs/eventpoll.c ++++ b/fs/eventpoll.c +@@ -2203,29 +2203,22 @@ int do_epoll_ctl(int epfd, int op, int f + full_check = 1; + if (is_file_epoll(tf.file)) { + error = -ELOOP; +- if (ep_loop_check(ep, tf.file) != 0) { +- clear_tfile_check_list(); ++ if (ep_loop_check(ep, tf.file) != 0) + goto error_tgt_fput; +- } + } else { + get_file(tf.file); + list_add(&tf.file->f_tfile_llink, + &tfile_check_list); + } + error = epoll_mutex_lock(&ep->mtx, 0, nonblock); +- if (error) { +-out_del: +- list_del(&tf.file->f_tfile_llink); +- if (!is_file_epoll(tf.file)) +- fput(tf.file); ++ if (error) + goto error_tgt_fput; +- } + if (is_file_epoll(tf.file)) { + tep = tf.file->private_data; + error = epoll_mutex_lock(&tep->mtx, 1, nonblock); + if (error) { + mutex_unlock(&ep->mtx); +- goto out_del; ++ goto error_tgt_fput; + } + } + } +@@ -2246,8 +2239,6 @@ out_del: + error = ep_insert(ep, epds, tf.file, fd, full_check); + } else + error = -EEXIST; +- if (full_check) +- clear_tfile_check_list(); + break; + case EPOLL_CTL_DEL: + if (epi) +@@ -2270,8 +2261,10 @@ out_del: + mutex_unlock(&ep->mtx); + + error_tgt_fput: +- if (full_check) ++ if (full_check) { ++ clear_tfile_check_list(); + mutex_unlock(&epmutex); ++ } + + fdput(tf); + error_fput: diff --git a/queue-5.8/edac-i7core-sb-pnd2-skx-fix-error-event-severity.patch b/queue-5.8/edac-i7core-sb-pnd2-skx-fix-error-event-severity.patch new file mode 100644 index 00000000000..cce48bd1c90 --- /dev/null +++ b/queue-5.8/edac-i7core-sb-pnd2-skx-fix-error-event-severity.patch @@ -0,0 +1,86 @@ +From 45bc6098a3e279d8e391d22428396687562797e2 Mon Sep 17 00:00:00 2001 +From: Tony Luck +Date: Tue, 7 Jul 2020 12:43:24 -0700 +Subject: EDAC/{i7core,sb,pnd2,skx}: Fix error event severity + +From: Tony Luck + +commit 45bc6098a3e279d8e391d22428396687562797e2 upstream. + +IA32_MCG_STATUS.RIPV indicates whether the return RIP value pushed onto +the stack as part of machine check delivery is valid or not. + +Various drivers copied a code fragment that uses the RIPV bit to +determine the severity of the error as either HW_EVENT_ERR_UNCORRECTED +or HW_EVENT_ERR_FATAL, but this check is reversed (marking errors where +RIPV is set as "FATAL"). + +Reverse the tests so that the error is marked fatal when RIPV is not set. + +Reported-by: Gabriele Paoloni +Signed-off-by: Tony Luck +Signed-off-by: Borislav Petkov +Cc: +Link: https://lkml.kernel.org/r/20200707194324.14884-1-tony.luck@intel.com +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/edac/i7core_edac.c | 4 ++-- + drivers/edac/pnd2_edac.c | 2 +- + drivers/edac/sb_edac.c | 4 ++-- + drivers/edac/skx_common.c | 4 ++-- + 4 files changed, 7 insertions(+), 7 deletions(-) + +--- a/drivers/edac/i7core_edac.c ++++ b/drivers/edac/i7core_edac.c +@@ -1710,9 +1710,9 @@ static void i7core_mce_output_error(stru + if (uncorrected_error) { + core_err_cnt = 1; + if (ripv) +- tp_event = HW_EVENT_ERR_FATAL; +- else + tp_event = HW_EVENT_ERR_UNCORRECTED; ++ else ++ tp_event = HW_EVENT_ERR_FATAL; + } else { + tp_event = HW_EVENT_ERR_CORRECTED; + } +--- a/drivers/edac/pnd2_edac.c ++++ b/drivers/edac/pnd2_edac.c +@@ -1155,7 +1155,7 @@ static void pnd2_mce_output_error(struct + u32 optypenum = GET_BITFIELD(m->status, 4, 6); + int rc; + +- tp_event = uc_err ? (ripv ? HW_EVENT_ERR_FATAL : HW_EVENT_ERR_UNCORRECTED) : ++ tp_event = uc_err ? (ripv ? HW_EVENT_ERR_UNCORRECTED : HW_EVENT_ERR_FATAL) : + HW_EVENT_ERR_CORRECTED; + + /* +--- a/drivers/edac/sb_edac.c ++++ b/drivers/edac/sb_edac.c +@@ -2982,9 +2982,9 @@ static void sbridge_mce_output_error(str + if (uncorrected_error) { + core_err_cnt = 1; + if (ripv) { +- tp_event = HW_EVENT_ERR_FATAL; +- } else { + tp_event = HW_EVENT_ERR_UNCORRECTED; ++ } else { ++ tp_event = HW_EVENT_ERR_FATAL; + } + } else { + tp_event = HW_EVENT_ERR_CORRECTED; +--- a/drivers/edac/skx_common.c ++++ b/drivers/edac/skx_common.c +@@ -493,9 +493,9 @@ static void skx_mce_output_error(struct + if (uncorrected_error) { + core_err_cnt = 1; + if (ripv) { +- tp_event = HW_EVENT_ERR_FATAL; +- } else { + tp_event = HW_EVENT_ERR_UNCORRECTED; ++ } else { ++ tp_event = HW_EVENT_ERR_FATAL; + } + } else { + tp_event = HW_EVENT_ERR_CORRECTED; diff --git a/queue-5.8/efi-add-missed-destroy_workqueue-when-efisubsys_init-fails.patch b/queue-5.8/efi-add-missed-destroy_workqueue-when-efisubsys_init-fails.patch new file mode 100644 index 00000000000..49574e21a7e --- /dev/null +++ b/queue-5.8/efi-add-missed-destroy_workqueue-when-efisubsys_init-fails.patch @@ -0,0 +1,41 @@ +From 98086df8b70c06234a8f4290c46064e44dafa0ed Mon Sep 17 00:00:00 2001 +From: Li Heng +Date: Mon, 20 Jul 2020 15:22:18 +0800 +Subject: efi: add missed destroy_workqueue when efisubsys_init fails + +From: Li Heng + +commit 98086df8b70c06234a8f4290c46064e44dafa0ed upstream. + +destroy_workqueue() should be called to destroy efi_rts_wq +when efisubsys_init() init resources fails. + +Cc: +Reported-by: Hulk Robot +Signed-off-by: Li Heng +Link: https://lore.kernel.org/r/1595229738-10087-1-git-send-email-liheng40@huawei.com +Signed-off-by: Ard Biesheuvel +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/firmware/efi/efi.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/drivers/firmware/efi/efi.c ++++ b/drivers/firmware/efi/efi.c +@@ -381,6 +381,7 @@ static int __init efisubsys_init(void) + efi_kobj = kobject_create_and_add("efi", firmware_kobj); + if (!efi_kobj) { + pr_err("efi: Firmware registration failed.\n"); ++ destroy_workqueue(efi_rts_wq); + return -ENOMEM; + } + +@@ -424,6 +425,7 @@ err_unregister: + generic_ops_unregister(); + err_put: + kobject_put(efi_kobj); ++ destroy_workqueue(efi_rts_wq); + return error; + } + diff --git a/queue-5.8/efi-libstub-handle-null-cmdline.patch b/queue-5.8/efi-libstub-handle-null-cmdline.patch new file mode 100644 index 00000000000..e058b95809b --- /dev/null +++ b/queue-5.8/efi-libstub-handle-null-cmdline.patch @@ -0,0 +1,41 @@ +From a37ca6a2af9df2972372b918f09390c9303acfbd Mon Sep 17 00:00:00 2001 +From: Arvind Sankar +Date: Wed, 29 Jul 2020 15:33:00 -0400 +Subject: efi/libstub: Handle NULL cmdline + +From: Arvind Sankar + +commit a37ca6a2af9df2972372b918f09390c9303acfbd upstream. + +Treat a NULL cmdline the same as empty. Although this is unlikely to +happen in practice, the x86 kernel entry does check for NULL cmdline and +handles it, so do it here as well. + +Cc: +Signed-off-by: Arvind Sankar +Link: https://lore.kernel.org/r/20200729193300.598448-1-nivedita@alum.mit.edu +Signed-off-by: Ard Biesheuvel +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/firmware/efi/libstub/efi-stub-helper.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +--- a/drivers/firmware/efi/libstub/efi-stub-helper.c ++++ b/drivers/firmware/efi/libstub/efi-stub-helper.c +@@ -187,10 +187,14 @@ int efi_printk(const char *fmt, ...) + */ + efi_status_t efi_parse_options(char const *cmdline) + { +- size_t len = strlen(cmdline) + 1; ++ size_t len; + efi_status_t status; + char *str, *buf; + ++ if (!cmdline) ++ return EFI_SUCCESS; ++ ++ len = strlen(cmdline) + 1; + status = efi_bs_call(allocate_pool, EFI_LOADER_DATA, len, (void **)&buf); + if (status != EFI_SUCCESS) + return status; diff --git a/queue-5.8/efi-libstub-handle-unterminated-cmdline.patch b/queue-5.8/efi-libstub-handle-unterminated-cmdline.patch new file mode 100644 index 00000000000..735afd5da5e --- /dev/null +++ b/queue-5.8/efi-libstub-handle-unterminated-cmdline.patch @@ -0,0 +1,44 @@ +From 8a8a3237a78cbc0557f0eb16a89f16d616323e99 Mon Sep 17 00:00:00 2001 +From: Arvind Sankar +Date: Thu, 13 Aug 2020 14:58:11 -0400 +Subject: efi/libstub: Handle unterminated cmdline + +From: Arvind Sankar + +commit 8a8a3237a78cbc0557f0eb16a89f16d616323e99 upstream. + +Make the command line parsing more robust, by handling the case it is +not NUL-terminated. + +Use strnlen instead of strlen, and make sure that the temporary copy is +NUL-terminated before parsing. + +Cc: +Signed-off-by: Arvind Sankar +Link: https://lore.kernel.org/r/20200813185811.554051-4-nivedita@alum.mit.edu +Signed-off-by: Ard Biesheuvel +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/firmware/efi/libstub/efi-stub-helper.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +--- a/drivers/firmware/efi/libstub/efi-stub-helper.c ++++ b/drivers/firmware/efi/libstub/efi-stub-helper.c +@@ -194,12 +194,14 @@ efi_status_t efi_parse_options(char cons + if (!cmdline) + return EFI_SUCCESS; + +- len = strlen(cmdline) + 1; ++ len = strnlen(cmdline, COMMAND_LINE_SIZE - 1) + 1; + status = efi_bs_call(allocate_pool, EFI_LOADER_DATA, len, (void **)&buf); + if (status != EFI_SUCCESS) + return status; + +- str = skip_spaces(memcpy(buf, cmdline, len)); ++ memcpy(buf, cmdline, len - 1); ++ buf[len - 1] = '\0'; ++ str = skip_spaces(buf); + + while (*str) { + char *param, *val; diff --git a/queue-5.8/efi-libstub-stop-parsing-arguments-at.patch b/queue-5.8/efi-libstub-stop-parsing-arguments-at.patch new file mode 100644 index 00000000000..c20ac470e96 --- /dev/null +++ b/queue-5.8/efi-libstub-stop-parsing-arguments-at.patch @@ -0,0 +1,32 @@ +From 1fd9717d75df68e3c3509b8e7b1138ca63472f88 Mon Sep 17 00:00:00 2001 +From: Arvind Sankar +Date: Sat, 25 Jul 2020 11:59:16 -0400 +Subject: efi/libstub: Stop parsing arguments at "--" + +From: Arvind Sankar + +commit 1fd9717d75df68e3c3509b8e7b1138ca63472f88 upstream. + +Arguments after "--" are arguments for init, not for the kernel. + +Cc: +Signed-off-by: Arvind Sankar +Link: https://lore.kernel.org/r/20200725155916.1376773-1-nivedita@alum.mit.edu +Signed-off-by: Ard Biesheuvel +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/firmware/efi/libstub/efi-stub-helper.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/drivers/firmware/efi/libstub/efi-stub-helper.c ++++ b/drivers/firmware/efi/libstub/efi-stub-helper.c +@@ -201,6 +201,8 @@ efi_status_t efi_parse_options(char cons + char *param, *val; + + str = next_arg(str, ¶m, &val); ++ if (!val && !strcmp(param, "--")) ++ break; + + if (!strcmp(param, "nokaslr")) { + efi_nokaslr = true; diff --git a/queue-5.8/efi-x86-mark-kernel-rodata-non-executable-for-mixed-mode.patch b/queue-5.8/efi-x86-mark-kernel-rodata-non-executable-for-mixed-mode.patch new file mode 100644 index 00000000000..818b0af8dee --- /dev/null +++ b/queue-5.8/efi-x86-mark-kernel-rodata-non-executable-for-mixed-mode.patch @@ -0,0 +1,34 @@ +From c8502eb2d43b6b9b1dc382299a4d37031be63876 Mon Sep 17 00:00:00 2001 +From: Arvind Sankar +Date: Fri, 17 Jul 2020 15:45:26 -0400 +Subject: efi/x86: Mark kernel rodata non-executable for mixed mode + +From: Arvind Sankar + +commit c8502eb2d43b6b9b1dc382299a4d37031be63876 upstream. + +When remapping the kernel rodata section RO in the EFI pagetables, the +protection flags that were used for the text section are being reused, +but the rodata section should not be marked executable. + +Cc: +Signed-off-by: Arvind Sankar +Link: https://lore.kernel.org/r/20200717194526.3452089-1-nivedita@alum.mit.edu +Signed-off-by: Ard Biesheuvel +Signed-off-by: Greg Kroah-Hartman + +--- + arch/x86/platform/efi/efi_64.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/arch/x86/platform/efi/efi_64.c ++++ b/arch/x86/platform/efi/efi_64.c +@@ -268,6 +268,8 @@ int __init efi_setup_page_tables(unsigne + npages = (__end_rodata - __start_rodata) >> PAGE_SHIFT; + rodata = __pa(__start_rodata); + pfn = rodata >> PAGE_SHIFT; ++ ++ pf = _PAGE_NX | _PAGE_ENC; + if (kernel_map_pages_in_pgd(pgd, pfn, rodata, npages, pf)) { + pr_err("Failed to map kernel rodata 1:1\n"); + return 1; diff --git a/queue-5.8/epoll-keep-a-reference-on-files-added-to-the-check-list.patch b/queue-5.8/epoll-keep-a-reference-on-files-added-to-the-check-list.patch new file mode 100644 index 00000000000..bf76d7575f9 --- /dev/null +++ b/queue-5.8/epoll-keep-a-reference-on-files-added-to-the-check-list.patch @@ -0,0 +1,71 @@ +From a9ed4a6560b8562b7e2e2bed9527e88001f7b682 Mon Sep 17 00:00:00 2001 +From: Marc Zyngier +Date: Wed, 19 Aug 2020 17:12:17 +0100 +Subject: epoll: Keep a reference on files added to the check list + +From: Marc Zyngier + +commit a9ed4a6560b8562b7e2e2bed9527e88001f7b682 upstream. + +When adding a new fd to an epoll, and that this new fd is an +epoll fd itself, we recursively scan the fds attached to it +to detect cycles, and add non-epool files to a "check list" +that gets subsequently parsed. + +However, this check list isn't completely safe when deletions +can happen concurrently. To sidestep the issue, make sure that +a struct file placed on the check list sees its f_count increased, +ensuring that a concurrent deletion won't result in the file +disapearing from under our feet. + +Cc: stable@vger.kernel.org +Signed-off-by: Marc Zyngier +Signed-off-by: Al Viro +Signed-off-by: Greg Kroah-Hartman + +--- + fs/eventpoll.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +--- a/fs/eventpoll.c ++++ b/fs/eventpoll.c +@@ -1994,9 +1994,11 @@ static int ep_loop_check_proc(void *priv + * not already there, and calling reverse_path_check() + * during ep_insert(). + */ +- if (list_empty(&epi->ffd.file->f_tfile_llink)) ++ if (list_empty(&epi->ffd.file->f_tfile_llink)) { ++ get_file(epi->ffd.file); + list_add(&epi->ffd.file->f_tfile_llink, + &tfile_check_list); ++ } + } + } + mutex_unlock(&ep->mtx); +@@ -2040,6 +2042,7 @@ static void clear_tfile_check_list(void) + file = list_first_entry(&tfile_check_list, struct file, + f_tfile_llink); + list_del_init(&file->f_tfile_llink); ++ fput(file); + } + INIT_LIST_HEAD(&tfile_check_list); + } +@@ -2204,13 +2207,17 @@ int do_epoll_ctl(int epfd, int op, int f + clear_tfile_check_list(); + goto error_tgt_fput; + } +- } else ++ } else { ++ get_file(tf.file); + list_add(&tf.file->f_tfile_llink, + &tfile_check_list); ++ } + error = epoll_mutex_lock(&ep->mtx, 0, nonblock); + if (error) { + out_del: + list_del(&tf.file->f_tfile_llink); ++ if (!is_file_epoll(tf.file)) ++ fput(tf.file); + goto error_tgt_fput; + } + if (is_file_epoll(tf.file)) { diff --git a/queue-5.8/powerpc-fix-p10-pvr-revision-in-proc-cpuinfo-for-smt4-cores.patch b/queue-5.8/powerpc-fix-p10-pvr-revision-in-proc-cpuinfo-for-smt4-cores.patch new file mode 100644 index 00000000000..bff42783346 --- /dev/null +++ b/queue-5.8/powerpc-fix-p10-pvr-revision-in-proc-cpuinfo-for-smt4-cores.patch @@ -0,0 +1,39 @@ +From 030a2c689fb46e1690f7ded8b194bab7678efb28 Mon Sep 17 00:00:00 2001 +From: Michael Neuling +Date: Mon, 3 Aug 2020 13:56:00 +1000 +Subject: powerpc: Fix P10 PVR revision in /proc/cpuinfo for SMT4 cores + +From: Michael Neuling + +commit 030a2c689fb46e1690f7ded8b194bab7678efb28 upstream. + +On POWER10 bit 12 in the PVR indicates if the core is SMT4 or SMT8. +Bit 12 is set for SMT4. + +Without this patch, /proc/cpuinfo on a SMT4 DD1 POWER10 looks like +this: + cpu : POWER10, altivec supported + revision : 17.0 (pvr 0080 1100) + +Fixes: a3ea40d5c736 ("powerpc: Add POWER10 architected mode") +Cc: stable@vger.kernel.org # v5.8 +Signed-off-by: Michael Neuling +Reviewed-by: Vaidyanathan Srinivasan +Signed-off-by: Michael Ellerman +Link: https://lore.kernel.org/r/20200803035600.1820371-1-mikey@neuling.org +Signed-off-by: Greg Kroah-Hartman + +--- + arch/powerpc/kernel/setup-common.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/arch/powerpc/kernel/setup-common.c ++++ b/arch/powerpc/kernel/setup-common.c +@@ -311,6 +311,7 @@ static int show_cpuinfo(struct seq_file + min = pvr & 0xFF; + break; + case 0x004e: /* POWER9 bits 12-15 give chip type */ ++ case 0x0080: /* POWER10 bit 12 gives SMT8/4 */ + maj = (pvr >> 8) & 0x0F; + min = pvr & 0xFF; + break; diff --git a/queue-5.8/powerpc-pseries-do-not-initiate-shutdown-when-system-is-running-on-ups.patch b/queue-5.8/powerpc-pseries-do-not-initiate-shutdown-when-system-is-running-on-ups.patch new file mode 100644 index 00000000000..2757130e038 --- /dev/null +++ b/queue-5.8/powerpc-pseries-do-not-initiate-shutdown-when-system-is-running-on-ups.patch @@ -0,0 +1,66 @@ +From 90a9b102eddf6a3f987d15f4454e26a2532c1c98 Mon Sep 17 00:00:00 2001 +From: Vasant Hegde +Date: Thu, 20 Aug 2020 11:48:44 +0530 +Subject: powerpc/pseries: Do not initiate shutdown when system is running on UPS + +From: Vasant Hegde + +commit 90a9b102eddf6a3f987d15f4454e26a2532c1c98 upstream. + +As per PAPR we have to look for both EPOW sensor value and event +modifier to identify the type of event and take appropriate action. + +In LoPAPR v1.1 section 10.2.2 includes table 136 "EPOW Action Codes": + + SYSTEM_SHUTDOWN 3 + + The system must be shut down. An EPOW-aware OS logs the EPOW error + log information, then schedules the system to be shut down to begin + after an OS defined delay internal (default is 10 minutes.) + +Then in section 10.3.2.2.8 there is table 146 "Platform Event Log +Format, Version 6, EPOW Section", which includes the "EPOW Event +Modifier": + + For EPOW sensor value = 3 + 0x01 = Normal system shutdown with no additional delay + 0x02 = Loss of utility power, system is running on UPS/Battery + 0x03 = Loss of system critical functions, system should be shutdown + 0x04 = Ambient temperature too high + All other values = reserved + +We have a user space tool (rtas_errd) on LPAR to monitor for +EPOW_SHUTDOWN_ON_UPS. Once it gets an event it initiates shutdown +after predefined time. It also starts monitoring for any new EPOW +events. If it receives "Power restored" event before predefined time +it will cancel the shutdown. Otherwise after predefined time it will +shutdown the system. + +Commit 79872e35469b ("powerpc/pseries: All events of +EPOW_SYSTEM_SHUTDOWN must initiate shutdown") changed our handling of +the "on UPS/Battery" case, to immediately shutdown the system. This +breaks existing setups that rely on the userspace tool to delay +shutdown and let the system run on the UPS. + +Fixes: 79872e35469b ("powerpc/pseries: All events of EPOW_SYSTEM_SHUTDOWN must initiate shutdown") +Cc: stable@vger.kernel.org # v4.0+ +Signed-off-by: Vasant Hegde +[mpe: Massage change log and add PAPR references] +Signed-off-by: Michael Ellerman +Link: https://lore.kernel.org/r/20200820061844.306460-1-hegdevasant@linux.vnet.ibm.com +Signed-off-by: Greg Kroah-Hartman + +--- + arch/powerpc/platforms/pseries/ras.c | 1 - + 1 file changed, 1 deletion(-) + +--- a/arch/powerpc/platforms/pseries/ras.c ++++ b/arch/powerpc/platforms/pseries/ras.c +@@ -184,7 +184,6 @@ static void handle_system_shutdown(char + case EPOW_SHUTDOWN_ON_UPS: + pr_emerg("Loss of system power detected. System is running on" + " UPS/battery. Check RTAS error log for details\n"); +- orderly_poweroff(true); + break; + + case EPOW_SHUTDOWN_LOSS_OF_CRITICAL_FUNCTIONS: diff --git a/queue-5.8/series b/queue-5.8/series index 2b08ef6b797..52c1850eada 100644 --- a/queue-5.8/series +++ b/queue-5.8/series @@ -136,3 +136,13 @@ net-gemini-fix-missing-free_netdev-in-error-path-of-.patch selftests-bpf-remove-test_align-leftovers.patch hv_netvsc-fix-the-queue_mapping-in-netvsc_vf_xmit.patch net-dsa-b53-check-for-timeout.patch +epoll-keep-a-reference-on-files-added-to-the-check-list.patch +powerpc-fix-p10-pvr-revision-in-proc-cpuinfo-for-smt4-cores.patch +powerpc-pseries-do-not-initiate-shutdown-when-system-is-running-on-ups.patch +edac-i7core-sb-pnd2-skx-fix-error-event-severity.patch +efi-x86-mark-kernel-rodata-non-executable-for-mixed-mode.patch +efi-add-missed-destroy_workqueue-when-efisubsys_init-fails.patch +efi-libstub-stop-parsing-arguments-at.patch +efi-libstub-handle-null-cmdline.patch +efi-libstub-handle-unterminated-cmdline.patch +do_epoll_ctl-clean-the-failure-exits-up-a-bit.patch