5.4.36-rc1 review
Subsystems (2)
Greg Kroah-Hartman
maintainerPATCH 163/168 Revert "serial: uartps: Move Port ID to device data structure"
In reply to Greg Kroah-HartmanFrom: Michal Simek <[email protected]>
commit 492cc08bc16c44e2e587362ada3f6269dee2be22 upstream.
This reverts commit bed25ac0e2b6ab8f9aed2d20bc9c3a2037311800.
As Johan says, this driver needs a lot more work and these changes are only going in the wrong direction:
https://lkml.kernel.org/r/20190523091839.GC568@localhost
--- drivers/tty/serial/xilinx_uartps.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-)
drivers/tty/serial/xilinx_uartps.c +9 -11
@@ -183,7 +183,6 @@ MODULE_PARM_DESC(rx_timeout, "Rx timeout* @pclk: APB clock * @cdns_uart_driver: Pointer to UART driver * @baud: Current baud rate -* @id: Port ID * @clk_rate_change_nb: Notifier block for clock changes * @quirks: Flags for RXBS support. */
@@ -193,7 +192,6 @@ struct cdns_uart {struct clk *pclk;struct uart_driver *cdns_uart_driver;unsigned int baud; -int id;struct notifier_block clk_rate_change_nb;u32 quirks;bool cts_override;
@@ -1398,7 +1396,7 @@ MODULE_DEVICE_TABLE(of, cdns_uart_of_mat*/ static int cdns_uart_probe (struct platform_device *pdev) { -int rc, irq; +int rc, id, irq;struct uart_port *port;struct resource *res;struct cdns_uart *cdns_uart_data;
@@ -1424,18 +1422,18 @@ static int cdns_uart_probe(struct platforeturn -ENOMEM ;/* Look for a serialN alias */ - cdns_uart_data->id =of_alias_get_id (pdev->dev.of_node,"serial" ); -if (cdns_uart_data->id <0 ) - cdns_uart_data->id =0 ; + id =of_alias_get_id (pdev->dev.of_node,"serial" ); +if (id <0 ) + id =0 ; -if (cdns_uart_data->id >=CDNS_UART_NR_PORTS ) { +if (id >=CDNS_UART_NR_PORTS ) {dev_err (&pdev->dev,"Cannot get uart_port structure\n" );return -ENODEV ; }/* There is a need to use unique driver name */ driver_name =devm_kasprintf (&pdev->dev,GFP_KERNEL ,"%s%d" , -CDNS_UART_NAME , cdns_uart_data->id); +CDNS_UART_NAME , id);if (!driver_name)return -ENOMEM ;
@@ -1443,7 +1441,7 @@ static int cdns_uart_probe(struct platfo cdns_uart_uart_driver->driver_name = driver_name; cdns_uart_uart_driver->dev_name =CDNS_UART_TTY_NAME ; cdns_uart_uart_driver->major =CDNS_UART_MAJOR ; - cdns_uart_uart_driver->minor = cdns_uart_data->id; + cdns_uart_uart_driver->minor = id; cdns_uart_uart_driver->nr =1 ;#ifdef CONFIG_SERIAL_XILINX_PS_UART_CONSOLE
@@ -1454,7 +1452,7 @@ static int cdns_uart_probe(struct platfostrncpy (cdns_uart_console->name,CDNS_UART_TTY_NAME ,sizeof (cdns_uart_console->name)); - cdns_uart_console->index = cdns_uart_data->id; + cdns_uart_console->index = id; cdns_uart_console->write = cdns_uart_console_write; cdns_uart_console->device = uart_console_device; cdns_uart_console->setup = cdns_uart_console_setup;
@@ -1476,7 +1474,7 @@ static int cdns_uart_probe(struct platfo* registration because tty_driver structure is not filled. * name_base is 0 by default. */ - cdns_uart_uart_driver->tty_driver->name_base = cdns_uart_data->id; + cdns_uart_uart_driver->tty_driver->name_base = id; match =of_match_node (cdns_uart_of_match, pdev->dev.of_node);if (match && match->data) {
Greg Kroah-Hartman
maintainerPATCH 164/168 Revert "serial: uartps: Register own uart console and driver structures"
In reply to Greg Kroah-HartmanFrom: Michal Simek <[email protected]>
commit 18cc7ac8a28e28cd005c2475f52576cfe10cabfb upstream.
This reverts commit 024ca329bfb9a948f76eaff3243e21b7e70182f2.
As Johan says, this driver needs a lot more work and these changes are only going in the wrong direction:
https://lkml.kernel.org/r/20190523091839.GC568@localhost
--- drivers/tty/serial/xilinx_uartps.c | 95 +++++++++++++++---------------------- 1 file changed, 40 insertions(+), 55 deletions(-)
drivers/tty/serial/xilinx_uartps.c +40 -55
@@ -31,6 +31,7 @@#define CDNS_UART_TTY_NAME "ttyPS"#define CDNS_UART_NAME "xuartps"#define CDNS_UART_MAJOR 0/* use dynamic node allocation */ +#define CDNS_UART_MINOR 0/* works best with devtmpfs */ #define CDNS_UART_NR_PORTS 16#define CDNS_UART_FIFO_SIZE 64/* FIFO size */ #define CDNS_UART_REGISTER_SPACE 0x1000
@@ -1118,6 +1119,8 @@ static const struct uart_ops cdns_uart_o#endif }; +static struct uart_driver cdns_uart_uart_driver; +#ifdef CONFIG_SERIAL_XILINX_PS_UART_CONSOLE /** * cdns_uart_console_putchar - write the character to the FIFO buffer
@@ -1257,6 +1260,16 @@ static int cdns_uart_console_setup(struc return uart_set_options(port, co, baud, parity, bits, flow); } + +static struct console cdns_uart_console = { + .name =CDNS_UART_TTY_NAME , + .write = cdns_uart_console_write, + .device = uart_console_device, + .setup = cdns_uart_console_setup, + .flags =CON_PRINTBUFFER , + .index =-1 ,/* Specified on the cmdline (e.g. console=ttyPS ) */ + .data = &cdns_uart_uart_driver, +};#endif /* CONFIG_SERIAL_XILINX_PS_UART_CONSOLE */ #ifdef CONFIG_PM_SLEEP
@@ -1388,6 +1401,9 @@ static const struct of_device_id cdns_ua };MODULE_DEVICE_TABLE (of, cdns_uart_of_match); +/* Temporary variable for storing number of instances */ +static int instances; +/** * cdns_uart_probe - Platform driver probe * @pdev: Pointer to the platform device structure
@@ -1401,11 +1417,6 @@ static int cdns_uart_probe(struct platfostruct resource *res;struct cdns_uart *cdns_uart_data;const struct of_device_id *match; -struct uart_driver *cdns_uart_uart_driver; -char *driver_name; -#ifdef CONFIG_SERIAL_XILINX_PS_UART_CONSOLE -struct console *cdns_uart_console; -#endif cdns_uart_data =devm_kzalloc (&pdev->dev,sizeof (*cdns_uart_data),GFP_KERNEL );
@@ -1415,12 +1426,6 @@ static int cdns_uart_probe(struct platfoif (!port)return -ENOMEM ; - cdns_uart_uart_driver =devm_kzalloc (&pdev->dev, -sizeof (*cdns_uart_uart_driver), -GFP_KERNEL ); -if (!cdns_uart_uart_driver) -return -ENOMEM ; -/* Look for a serialN alias */ id =of_alias_get_id (pdev->dev.of_node,"serial" );if (id <0 )
@@ -1431,50 +1436,25 @@ static int cdns_uart_probe(struct platforeturn -ENODEV ; } -/* There is a need to use unique driver name */ - driver_name =devm_kasprintf (&pdev->dev,GFP_KERNEL ,"%s%d" , -CDNS_UART_NAME , id); -if (!driver_name) -return -ENOMEM ; - - cdns_uart_uart_driver->owner =THIS_MODULE ; - cdns_uart_uart_driver->driver_name = driver_name; - cdns_uart_uart_driver->dev_name =CDNS_UART_TTY_NAME ; - cdns_uart_uart_driver->major =CDNS_UART_MAJOR ; - cdns_uart_uart_driver->minor = id; - cdns_uart_uart_driver->nr =1 ; - +if (!cdns_uart_uart_driver.state) { + cdns_uart_uart_driver.owner =THIS_MODULE ; + cdns_uart_uart_driver.driver_name =CDNS_UART_NAME ; + cdns_uart_uart_driver.dev_name =CDNS_UART_TTY_NAME ; + cdns_uart_uart_driver.major =CDNS_UART_MAJOR ; + cdns_uart_uart_driver.minor =CDNS_UART_MINOR ; + cdns_uart_uart_driver.nr =CDNS_UART_NR_PORTS ;#ifdef CONFIG_SERIAL_XILINX_PS_UART_CONSOLE - cdns_uart_console =devm_kzalloc (&pdev->dev,sizeof (*cdns_uart_console), -GFP_KERNEL ); -if (!cdns_uart_console) -return -ENOMEM ; - -strncpy (cdns_uart_console->name,CDNS_UART_TTY_NAME , -sizeof (cdns_uart_console->name)); - cdns_uart_console->index = id; - cdns_uart_console->write = cdns_uart_console_write; - cdns_uart_console->device = uart_console_device; - cdns_uart_console->setup = cdns_uart_console_setup; - cdns_uart_console->flags =CON_PRINTBUFFER ; - cdns_uart_console->data = cdns_uart_uart_driver; - cdns_uart_uart_driver->cons = cdns_uart_console; + cdns_uart_uart_driver.cons = &cdns_uart_console;#endif - rc =uart_register_driver (cdns_uart_uart_driver); -if (rc <0 ) { -dev_err (&pdev->dev,"Failed to register driver\n" ); -return rc; + rc =uart_register_driver (&cdns_uart_uart_driver); +if (rc <0 ) { +dev_err (&pdev->dev,"Failed to register driver\n" ); +return rc; + } } - cdns_uart_data->cdns_uart_driver = cdns_uart_uart_driver; - -/* -* Setting up proper name_base needs to be done after uart -* registration because tty_driver structure is not filled. -* name_base is 0 by default. -*/ - cdns_uart_uart_driver->tty_driver->name_base = id; + cdns_uart_data->cdns_uart_driver = &cdns_uart_uart_driver; match =of_match_node (cdns_uart_of_match, pdev->dev.of_node);if (match && match->data) {
@@ -1551,6 +1531,7 @@ static int cdns_uart_probe(struct platfo port->flags =UPF_BOOT_AUTOCONF ; port->ops = &cdns_uart_ops; port->fifosize =CDNS_UART_FIFO_SIZE ; + port->line = id;/* * Register the port.
@@ -1582,7 +1563,7 @@ static int cdns_uart_probe(struct platfo console_port = port;#endif - rc =uart_add_one_port (cdns_uart_uart_driver, port); + rc =uart_add_one_port (&cdns_uart_uart_driver, port);if (rc) {dev_err (&pdev->dev,"uart_add_one_port() failed; err=%i\n" , rc);
@@ -1592,12 +1573,15 @@ static int cdns_uart_probe(struct platfo#ifdef CONFIG_SERIAL_XILINX_PS_UART_CONSOLE /* This is not port which is used for console that's why clean it up */ if (console_port == port && - !(cdns_uart_uart_driver->cons->flags &CON_ENABLED )) + !(cdns_uart_uart_driver.cons->flags &CON_ENABLED )) console_port =NULL ;#endif cdns_uart_data->cts_override =of_property_read_bool (pdev->dev.of_node,"cts-override" ); + + instances++; +return 0 ; err_out_pm_disable:
@@ -1613,8 +1597,8 @@ err_out_clk_disable: err_out_clk_dis_pclk:clk_disable_unprepare (cdns_uart_data->pclk); err_out_unregister_driver: -uart_unregister_driver (cdns_uart_data->cdns_uart_driver); - +if (!instances) +uart_unregister_driver (cdns_uart_data->cdns_uart_driver);return rc; }
@@ -1649,7 +1633,8 @@ static int cdns_uart_remove(struct platf console_port =NULL ;#endif -uart_unregister_driver (cdns_uart_data->cdns_uart_driver); +if (!--instances) +uart_unregister_driver (cdns_uart_data->cdns_uart_driver);return rc; }
Greg Kroah-Hartman
maintainerPATCH 165/168 powerpc/kuap: PPC_KUAP_DEBUG should depend on PPC_KUAP
In reply to Greg Kroah-HartmanFrom: Michael Ellerman <[email protected]>
commit 61da50b76b62fd815aa82d853bf82bf4f69568f5 upstream.
Currently you can enable PPC_KUAP_DEBUG when PPC_KUAP is disabled, even though the former has not effect without the latter.
Fix it so that PPC_KUAP_DEBUG can only be enabled when PPC_KUAP is enabled, not when the platform could support KUAP (PPC_HAVE_KUAP).
--- arch/powerpc/platforms/Kconfig.cputype | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/powerpc/platforms/Kconfig.cputype +1 -1
@@ -389,7 +389,7 @@ config PPC_KUAP config PPC_KUAP_DEBUG bool "Extra debugging for Kernel Userspace Access Protection" - depends on PPC_HAVE_KUAP && (PPC_RADIX_MMU || PPC_32) + depends on PPC_KUAP && (PPC_RADIX_MMU || PPC_32) help Add extra debugging for Kernel Userspace Access Protection (KUAP) If you're unsure, say N.
Greg Kroah-Hartman
maintainerPATCH 166/168 powerpc/mm: Fix CONFIG_PPC_KUAP_DEBUG on PPC32
In reply to Greg Kroah-HartmanFrom: Christophe Leroy <[email protected]>
commit feb8e960d780e170e992a70491eec9dd68f4dbf2 upstream.
CONFIG_PPC_KUAP_DEBUG is not selectable because it depends on PPC_32 which doesn't exists.
Fixing it leads to a deadlock due to a vital register getting clobbered in _switch().
Change dependency to PPC32 and use r0 instead of r4 in _switch()
--- arch/powerpc/kernel/entry_32.S | 2 +- arch/powerpc/platforms/Kconfig.cputype | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
arch/powerpc/kernel/entry_32.S +1 -1
@@ -705,7 +705,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_SPE) stw r10,_CCR(r1) stw r1,KSP(r3) /* Set old stack pointer */ - kuap_check r2, r4 + kuap_check r2, r0 #ifdef CONFIG_SMP /* We need a sync somewhere here to make sure that if the * previous task gets rescheduled on another CPU, it sees all
arch/powerpc/platforms/Kconfig.cputype +1 -1
@@ -389,7 +389,7 @@ config PPC_KUAP config PPC_KUAP_DEBUG bool "Extra debugging for Kernel Userspace Access Protection" - depends on PPC_KUAP && (PPC_RADIX_MMU || PPC_32) + depends on PPC_KUAP && (PPC_RADIX_MMU || PPC32) help Add extra debugging for Kernel Userspace Access Protection (KUAP) If you're unsure, say N.
Greg Kroah-Hartman
maintainerPATCH 167/168 compat: ARM64: always include asm-generic/compat.h
In reply to Greg Kroah-HartmanFrom: Arnd Bergmann <[email protected]>
commit 556d687a4ccd54ab50a721ddde42c820545effd9 upstream.
In order to use compat_* type defininitions in device drivers outside of CONFIG_COMPAT, move the inclusion of asm-generic/compat.h ahead of the #ifdef.
All other architectures already do this.
--- arch/arm64/include/asm/compat.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
arch/arm64/include/asm/compat.h +3 -2
@@ -4,6 +4,9 @@*/ #ifndef __ASM_COMPAT_H#define __ASM_COMPAT_H + +#include <asm-generic/compat.h> +#ifdef CONFIG_COMPAT /*
@@ -13,8 +16,6 @@#include <linux/sched.h> #include <linux/sched/task_stack.h> -#include <asm-generic/compat.h> -#define COMPAT_USER_HZ 100#ifdef __AARCH64EB__#define COMPAT_UTS_MACHINE "armv8b\0\0"
Greg Kroah-Hartman
maintainerPATCH 168/168 s390/mm: fix page table upgrade vs 2ndary address mode accesses
In reply to Greg Kroah-HartmanFrom: Christian Borntraeger <[email protected]>
commit 316ec154810960052d4586b634156c54d0778f74 upstream.
A page table upgrade in a kernel section that uses secondary address mode will mess up the kernel instructions as follows:
Consider the following scenario: two threads are sharing memory. On CPU1 thread 1 does e.g. strnlen_user(). That gets to
old_fs = enable_sacf_uaccess();
len = strnlen_user_srst(src, size);
and
" la %2,0(%1)\n"
" la %3,0(%0,%1)\n"
" slgr %0,%0\n"
" sacf 256\n"
"0: srst %3,%2\n"in strnlen_user_srst(). At that point we are in secondary space mode, control register 1 points to kernel page table and instruction fetching happens via c1, rather than usual c13. Interrupts are not disabled, for obvious reasons.
On CPU2 thread 2 does MAP_FIXED mmap(), forcing the upgrade of page table from 3-level to e.g. 4-level one. We'd allocated new top-level table, set it up and now we hit this:
notify = 1;
spin_unlock_bh(&mm->page_table_lock);
}
if (notify)
on_each_cpu(__crst_table_upgrade, mm, 0);OK, we need to actually change over to use of new page table and we need that to happen in all threads that are currently running. Which happens to include the thread 1. IPI is delivered and we have static void __crst_table_upgrade(void *arg)
{
struct mm_struct *mm = arg;
if (current->active_mm == mm)
set_user_asce(mm);
__tlb_flush_local();
}
run on CPU1. That does
static inline void set_user_asce(struct mm_struct *mm)
{
S390_lowcore.user_asce = mm->context.asce;
OK, user page table address updated...
__ctl_load(S390_lowcore.user_asce, 1, 1);
... and control register 1 set to it.
clear_cpu_flag(CIF_ASCE_PRIMARY);
}IPI is run in home space mode, so it's fine - insns are fetched using c13, which always points to kernel page table. But as soon as we return from the interrupt, previous PSW is restored, putting CPU1 back into secondary space mode, at which point we no longer get the kernel instructions from the kernel mapping.
The fix is to only fixup the control registers that are currently in use for user processes during the page table update. We must also disable interrupts in enable_sacf_uaccess to synchronize the cr and thread.mm_segment updates against the on_each-cpu.
--- arch/s390/lib/uaccess.c | 4 ++++ arch/s390/mm/pgalloc.c | 16 ++++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-)
arch/s390/lib/uaccess.c +4 -0
@@ -64,10 +64,13 @@ mm_segment_t enable_sacf_uaccess(void) {mm_segment_t old_fs;unsigned long asce, cr; +unsigned long flags; old_fs = current->thread.mm_segment;if (old_fs &1 )return old_fs; +/* protect against a concurrent page table upgrade */ +local_irq_save (flags); current->thread.mm_segment |=1 ; asce = S390_lowcore.kernel_asce;if (likely (old_fs ==USER_DS )) {
@@ -83,6 +86,7 @@ mm_segment_t enable_sacf_uaccess(void)__ctl_load (asce,7 ,7 );set_cpu_flag (CIF_ASCE_SECONDARY ); } +local_irq_restore (flags);return old_fs; }EXPORT_SYMBOL (enable_sacf_uaccess);
arch/s390/mm/pgalloc.c +14 -2
@@ -70,8 +70,20 @@ static void __crst_table_upgrade(void *a {struct mm_struct *mm = arg; -if (current->active_mm == mm) -set_user_asce (mm); +/* we must change all active ASCEs to avoid the creation of new TLBs */ +if (current->active_mm == mm) { + S390_lowcore.user_asce = mm->context.asce; +if (current->thread.mm_segment ==USER_DS ) { +__ctl_load (S390_lowcore.user_asce,1 ,1 ); +/* Mark user-ASCE present in CR1 */ +clear_cpu_flag (CIF_ASCE_PRIMARY ); + } +if (current->thread.mm_segment ==USER_DS_SACF ) { +__ctl_load (S390_lowcore.user_asce,7 ,7 ); +/* enable_sacf_uaccess does all or nothing */ +WARN_ON (!test_cpu_flag (CIF_ASCE_SECONDARY )); + } + }__tlb_flush_local (); }
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.4.36 release. There are 168 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Thu, 30 Apr 2020 18:21:07 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 9 lines
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.36-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.4.y
and the diffstat can be found below.thanks,
greg k-h
Compiled and booted on my test system. No dmesg regressions.
thanks,
-- Shuah
Jon Hunter
maintainerQuoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.4.36 release. There are 168 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Thu, 30 Apr 2020 18:21:07 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.36-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.4.y
and the diffstat can be found below.thanks,
greg k-h
All tests are passing for Tegra ...
Test results for stable-v5.4:
13 builds: 13 pass, 0 fail
24 boots: 24 pass, 0 fail
40 tests: 40 pass, 0 failLinux version: 5.4.36-rc1-g388ff47a1fba
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,
tegra194-p2972-0000, tegra20-ventana,
tegra210-p2371-2180, tegra210-p3450-0000,
tegra30-cardhu-a04Cheers
Jon
Signature · 1 line
nvpublic
Quoted 10 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.4.36 release. There are 168 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Thu, 30 Apr 2020 18:21:07 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.36-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.4.y
and the diffstat can be found below.thanks,
greg k-h
Results from Linaro’s test farm.
No regressions on arm64, arm, x86_64, and i386.
Summary
------------------------------------------------------------------------
kernel: 5.4.36-rc1
git repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git branch: linux-5.4.y
git commit: 388ff47a1fba8fa27be759acc4f846a75df6bde0
git describe: v5.4.35-169-g388ff47a1fba8
Test details: https://qa-reports.linaro.org/lkft/linux-stable-rc-5.4-oe/build/v5.4.35-169-g388ff47a1fba8
No regressions (compared to build v5.4.35)
No fixes (compared to build v5.4.35)
Ran 32617 total tests in the following environments and test suites.
Environmnts
--------------
- dragonboard-410c
- hi6220-hikey
- i386
- juno-r2
- juno-r2-compat
- juno-r2-kasan
- nxp-ls2088
- qemu_arm
- qemu_arm64
- qemu_i386
- qemu_x86_64
- x15
- x86
- x86-kasan
Test Suites
-----------
* build
* install-android-platform-tools-r2600
* kselftest
* kselftest/drivers
* kselftest/filesystems
* libgpiod
* linux-log-parser
* perf
* network-basic-tests
* kselftest/net
* kselftest/networking
* libhugetlbfs
* ltp-cap_bounds-tests
* ltp-commands-tests
* ltp-containers-tests
* ltp-cpuhotplug-tests
* ltp-cve-tests
* ltp-dio-tests
* ltp-fcntl-locktests-tests
* ltp-filecaps-tests
* ltp-fs-tests
* ltp-fs_bind-tests
* ltp-fs_perms_simple-tests
* ltp-fsx-tests
* ltp-hugetlb-tests
* ltp-io-tests
* ltp-ipc-tests
* ltp-math-tests
* ltp-mm-tests
* ltp-nptl-tests
* ltp-pty-tests
* ltp-sched-tests
* ltp-securebits-tests
* ltp-syscalls-tests
* spectre-meltdown-checker-test
* v4l2-compliance
* kselftest-vsyscall-mode-native
* kselftest-vsyscall-mode-native/drivers
* kselftest-vsyscall-mode-native/filesystems
* kselftest-vsyscall-mode-native/net
* kselftest-vsyscall-mode-native/networking
* kselftest-vsyscall-mode-none
* kselftest-vsyscall-mode-none/drivers
* kselftest-vsyscall-mode-none/filesystems
* kselftest-vsyscall-mode-none/net
* kselftest-vsyscall-mode-none/networking
Signature · 2 lines
Linaro LKFT https://lkft.linaro.org
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.4.36 release. There are 168 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Thu, 30 Apr 2020 18:21:07 +0000. Anything received after that time might be too late.
Build results:
total: 157 pass: 157 fail: 0 Qemu test results: total: 427 pass: 427 fail: 0
Guenter