5.15.87-rc1 review
Subsystems (4)
Greg Kroah-Hartman
maintainerPATCH 282/290 mptcp: use proper req destructor for IPv6
In reply to Greg Kroah-HartmanFrom: Matthieu Baerts <[email protected]>
commit d3295fee3c756ece33ac0d935e172e68c0a4161b upstream.
Before, only the destructor from TCP request sock in IPv4 was called even if the subflow was IPv6.
It is important to use the right destructor to avoid memory leaks with some advanced IPv6 features, e.g. when the request socks contain specific IPv6 options.
--- net/mptcp/subflow.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-)
net/mptcp/subflow.c +16 -3
@@ -45,7 +45,6 @@ static void subflow_req_destructor(strucsock_put ((struct sock *)subflow_req->msk);mptcp_token_destroy_request (req); - tcp_request_sock_ops.destructor (req); } static void subflow_generate_hmac(u64 key1, u64 key2, u32 nonce1, u32 nonce2,
@@ -504,6 +503,12 @@ drop:return 0 ; } +static void subflow_v4_req_destructor (struct request_sock *req) +{ +subflow_req_destructor (req); + tcp_request_sock_ops.destructor (req); +} +#if IS_ENABLED (CONFIG_MPTCP_IPV6 )static struct request_sock_ops mptcp_subflow_v6_request_sock_ops__ro_after_init ;static struct tcp_request_sock_ops subflow_request_sock_ipv6_ops__ro_after_init ;
@@ -535,6 +540,12 @@ drop:tcp_listendrop (sk);return 0 ;/* don't send reset */ } + +static void subflow_v6_req_destructor (struct request_sock *req) +{ +subflow_req_destructor (req); + tcp6_request_sock_ops.destructor (req); +}#endif struct request_sock *mptcp_subflow_reqsk_alloc(const struct request_sock_ops *ops,
@@ -1806,8 +1817,6 @@ static int subflow_ops_init(struct requeif (!subflow_ops->slab)return -ENOMEM ; - subflow_ops->destructor = subflow_req_destructor; -return 0 ; }
@@ -1815,6 +1824,8 @@ void __init mptcp_subflow_init(void) { mptcp_subflow_v4_request_sock_ops = tcp_request_sock_ops; mptcp_subflow_v4_request_sock_ops.slab_name ="request_sock_subflow_v4" ; + mptcp_subflow_v4_request_sock_ops.destructor = subflow_v4_req_destructor; +if (subflow_ops_init (&mptcp_subflow_v4_request_sock_ops) !=0 )panic ("MPTCP: failed to init subflow v4 request sock ops\n" );
@@ -1839,6 +1850,8 @@ void __init mptcp_subflow_init(void) mptcp_subflow_v6_request_sock_ops = tcp6_request_sock_ops; mptcp_subflow_v6_request_sock_ops.slab_name ="request_sock_subflow_v6" ; + mptcp_subflow_v6_request_sock_ops.destructor = subflow_v6_req_destructor; +if (subflow_ops_init (&mptcp_subflow_v6_request_sock_ops) !=0 )panic ("MPTCP: failed to init subflow v6 request sock ops\n" );
Greg Kroah-Hartman
maintainerPATCH 283/290 ext4: dont allow journal inode to have encrypt flag
In reply to Greg Kroah-HartmanFrom: Eric Biggers <[email protected]>
commit 105c78e12468413e426625831faa7db4284e1fec upstream.
Mounting a filesystem whose journal inode has the encrypt flag causes a NULL dereference in fscrypt_limit_io_blocks() when the 'inlinecrypt' mount option is used.
The problem is that when jbd2_journal_init_inode() calls bmap(), it eventually finds its way into ext4_iomap_begin(), which calls fscrypt_limit_io_blocks(). fscrypt_limit_io_blocks() requires that if the inode is encrypted, then its encryption key must already be set up. That's not the case here, since the journal inode is never "opened" like a normal file would be. Hence the crash.
A reproducer is:
mkfs.ext4 -F /dev/vdb
debugfs -w /dev/vdb -R "set_inode_field <8> flags 0x80808" mount /dev/vdb /mnt -o inlinecrypt
To fix this, make ext4 consider journal inodes with the encrypt flag to be invalid. (Note, maybe other flags should be rejected on the journal inode too. For now, this is just the minimal fix for the above issue.)
I've marked this as fixing the commit that introduced the call to fscrypt_limit_io_blocks(), since that's what made an actual crash start being possible. But this fix could be applied to any version of ext4 that supports the encrypt feature.
--- fs/ext4/super.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
fs/ext4/super.c +1 -1
@@ -5157,7 +5157,7 @@ static struct inode *ext4_get_journal_inext4_debug ("Journal inode found at %p: %lld bytes\n" , journal_inode, journal_inode->i_size); -if (!S_ISREG (journal_inode->i_mode)) { +if (!S_ISREG (journal_inode->i_mode) ||IS_ENCRYPTED (journal_inode)) {ext4_msg (sb,KERN_ERR ,"invalid journal inode" );iput (journal_inode);return NULL ;
Greg Kroah-Hartman
maintainerPATCH 284/290 selftests: set the BUILD variable to absolute path
In reply to Greg Kroah-HartmanFrom: Muhammad Usama Anjum <[email protected]>
commit 5ad51ab618de5d05f4e692ebabeb6fe6289aaa57 upstream.
The build of kselftests fails if relative path is specified through KBUILD_OUTPUT or O=<path> method. BUILD variable is used to determine the path of the output objects. When make is run from other directories with relative paths, the exact path of the build objects is ambiguous and build fails.
make[1]: Entering directory '/home/usama/repos/kernel/linux_mainline2/tools/testing/selftests/alsa'
gcc mixer-test.c -L/usr/lib/x86_64-linux-gnu -lasound -o build/kselftest/alsa/mixer-test
/usr/bin/ld: cannot open output file build/kselftest/alsa/mixer-test
Set the BUILD variable to the absolute path of the output directory. Make the logic readable and easy to follow. Use spaces instead of tabs for indentation as if with tab indentation is considered recipe in make.
--- tools/testing/selftests/Makefile | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-)
tools/testing/selftests/Makefile +17 -9
@@ -114,19 +114,27 @@ ifdef building_out_of_srctree override LDFLAGS = endif -ifneq ($(O),) - BUILD := $(O)/kselftest +top_srcdir ?= ../../.. + +ifeq ("$(origin O)", "command line") + KBUILD_OUTPUT := $(O) +endif + +ifneq ($(KBUILD_OUTPUT),) + # Make's built-in functions such as $(abspath ...), $(realpath ...) cannot + # expand a shell special character '~'. We use a somewhat tedious way here. + abs_objtree := $(shell cd $(top_srcdir) && mkdir -p $(KBUILD_OUTPUT) && cd $(KBUILD_OUTPUT) && pwd) + $(if $(abs_objtree),, \ + $(error failed to create output directory "$(KBUILD_OUTPUT)")) + # $(realpath ...) resolves symlinks + abs_objtree := $(realpath $(abs_objtree)) + BUILD := $(abs_objtree)/kselftest else - ifneq ($(KBUILD_OUTPUT),) - BUILD := $(KBUILD_OUTPUT)/kselftest - else - BUILD := $(shell pwd) - DEFAULT_INSTALL_HDR_PATH := 1 - endif + BUILD := $(CURDIR) + DEFAULT_INSTALL_HDR_PATH := 1 endif # Prepare for headers install -top_srcdir ?= ../../.. include $(top_srcdir)/scripts/subarch.include ARCH ?= $(SUBARCH) export KSFT_KHDR_INSTALL_DONE := 1
Greg Kroah-Hartman
maintainerPATCH 285/290 btrfs: make thaw time super block check to also verify checksum
In reply to Greg Kroah-HartmanFrom: Qu Wenruo <[email protected]>
commit 3d17adea74a56a4965f7a603d8ed8c66bb9356d9 upstream.
Previous commit a05d3c915314 ("btrfs: check superblock to ensure the fs was not modified at thaw time") only checks the content of the super block, but it doesn't really check if the on-disk super block has a matching checksum.
This patch will add the checksum verification to thaw time superblock verification.
This involves the following extra changes:
- Export btrfs_check_super_csum()
As we need to call it in super.c.
- Change the argument list of btrfs_check_super_csum() Instead of passing a char *, directly pass struct btrfs_super_block * pointer.
- Verify that our checksum type didn't change before checking the checksum value, like it's done at mount time
--- fs/btrfs/disk-io.c | 10 ++++------ fs/btrfs/disk-io.h | 2 ++ fs/btrfs/super.c | 16 ++++++++++++++++ 3 files changed, 22 insertions(+), 6 deletions(-)
fs/btrfs/disk-io.c +4 -6
@@ -202,11 +202,9 @@ static bool btrfs_supported_super_csum(u* Return 0 if the superblock checksum type matches the checksum value of that * algorithm. Pass the raw disk superblock data. */ -static int btrfs_check_super_csum (struct btrfs_fs_info *fs_info, -char *raw_disk_sb) +int btrfs_check_super_csum (struct btrfs_fs_info *fs_info, +const struct btrfs_super_block *disk_sb) { -struct btrfs_super_block *disk_sb = - (struct btrfs_super_block *)raw_disk_sb;char result[BTRFS_CSUM_SIZE ];SHASH_DESC_ON_STACK (shash, fs_info->csum_shash);
@@ -217,7 +215,7 @@ static int btrfs_check_super_csum(struct* BTRFS_SUPER_INFO_SIZE range, we expect that the unused space is * filled with zeros and is included in the checksum. */ -crypto_shash_digest (shash, raw_disk_sb +BTRFS_CSUM_SIZE , +crypto_shash_digest (shash, (const u8 *)disk_sb +BTRFS_CSUM_SIZE ,BTRFS_SUPER_INFO_SIZE -BTRFS_CSUM_SIZE , result);if (memcmp (disk_sb->csum, result, fs_info->csum_size))
@@ -3210,7 +3208,7 @@ int __cold open_ctree(struct super_block* We want to check superblock checksum, the type is stored inside. * Pass the whole disk block of size BTRFS_SUPER_INFO_SIZE (4k). */ -if (btrfs_check_super_csum (fs_info, (u8 *)disk_super)) { +if (btrfs_check_super_csum (fs_info, disk_super)) {btrfs_err (fs_info,"superblock checksum mismatch" ); err = -EINVAL ;btrfs_release_disk_super (disk_super);
fs/btrfs/disk-io.h +2 -0
@@ -52,6 +52,8 @@ struct extent_buffer *btrfs_find_create_void btrfs_clean_tree_block (struct extent_buffer *buf);void btrfs_clear_oneshot_options (struct btrfs_fs_info *fs_info);int btrfs_start_pre_rw_mount (struct btrfs_fs_info *fs_info); +int btrfs_check_super_csum (struct btrfs_fs_info *fs_info, +const struct btrfs_super_block *disk_sb);int __cold open_ctree (struct super_block *sb,struct btrfs_fs_devices *fs_devices,char *options);
fs/btrfs/super.c +16 -0
@@ -2501,6 +2501,7 @@ static int check_dev_super(struct btrfs_ {struct btrfs_fs_info *fs_info = dev->fs_info;struct btrfs_super_block *sb; +u16 csum_type;int ret =0 ;/* This should be called with fs still frozen. */
@@ -2515,6 +2516,21 @@ static int check_dev_super(struct btrfs_if (IS_ERR (sb))return PTR_ERR (sb); +/* Verify the checksum. */ + csum_type =btrfs_super_csum_type (sb); +if (csum_type !=btrfs_super_csum_type (fs_info->super_copy)) { +btrfs_err (fs_info,"csum type changed, has %u expect %u" , + csum_type,btrfs_super_csum_type (fs_info->super_copy)); + ret = -EUCLEAN ; + goto out; + } + +if (btrfs_check_super_csum (fs_info, sb)) { +btrfs_err (fs_info,"csum for on-disk super block no longer matches" ); + ret = -EUCLEAN ; + goto out; + } +/* Btrfs_validate_super() includes fsid check against super->fsid. */ ret =btrfs_validate_super (fs_info, sb,0 );if (ret <0 )
Greg Kroah-Hartman
maintainerPATCH 286/290 net: hns3: fix return value check bug of rx copybreak
In reply to Greg Kroah-HartmanFrom: Jie Wang <[email protected]>
commit 29df7c695ed67a8fa32bb7805bad8fe2a76c1f88 upstream.
The refactoring of rx copybreak modifies the original return logic, which will make this feature unavailable. So this patch fixes the return logic of rx copybreak.
--- drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c +2 -2
@@ -3590,8 +3590,8 @@ static void hns3_nic_reuse_page(struct s desc_cb->reuse_flag =1 ; }else if (frag_size <= ring->rx_copybreak) { ret =hns3_handle_rx_copybreak (skb, i, ring, pull_len, desc_cb); -if (ret) - goto out; +if (!ret) +return ; } out:
Greg Kroah-Hartman
maintainerPATCH 287/290 mbcache: Avoid nesting of cache->c_list_lock under bit locks
In reply to Greg Kroah-HartmanFrom: Jan Kara <[email protected]>
commit 5fc4cbd9fde5d4630494fd6ffc884148fb618087 upstream.
Commit 307af6c87937 ("mbcache: automatically delete entries from cache on freeing") started nesting cache->c_list_lock under the bit locks protecting hash buckets of the mbcache hash table in mb_cache_entry_create(). This causes problems for real-time kernels because there spinlocks are sleeping locks while bitlocks stay atomic. Luckily the nesting is easy to avoid by holding entry reference until the entry is added to the LRU list. This makes sure we cannot race with entry deletion.
--- fs/mbcache.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-)
fs/mbcache.c +10 -7
@@ -90,8 +90,14 @@ int mb_cache_entry_create(struct mb_cachreturn -ENOMEM ;INIT_LIST_HEAD (&entry->e_list); -/* Initial hash reference */ -atomic_set (&entry->e_refcnt,1 ); +/* +* We create entry with two references. One reference is kept by the +* hash table, the other reference is used to protect us from +* mb_cache_entry_delete_or_get() until the entry is fully setup. This +* avoids nesting of cache->c_list_lock into hash table bit locks which +* is problematic for RT. +*/ +atomic_set (&entry->e_refcnt,2 ); entry->e_key = key; entry->e_value = value; entry->e_flags =0 ;
@@ -107,15 +113,12 @@ int mb_cache_entry_create(struct mb_cach } }hlist_bl_add_head (&entry->e_hash_list, head); -/* -* Add entry to LRU list before it can be found by -* mb_cache_entry_delete() to avoid races -*/ +hlist_bl_unlock (head);spin_lock (&cache->c_list_lock);list_add_tail (&entry->e_list, &cache->c_list); cache->c_entry_count++;spin_unlock (&cache->c_list_lock); -hlist_bl_unlock (head); +mb_cache_entry_put (cache, entry);return 0 ; }
Greg Kroah-Hartman
maintainerPATCH 288/290 efi: random: combine bootloader provided RNG seed with RNG protocol output
In reply to Greg Kroah-HartmanFrom: Ard Biesheuvel <[email protected]>
commit 196dff2712ca5a2e651977bb2fe6b05474111a83 upstream.
Instead of blindly creating the EFI random seed configuration table if the RNG protocol is implemented and works, check whether such a EFI configuration table was provided by an earlier boot stage and if so, concatenate the existing and the new seeds, leaving it up to the core code to mix it in and credit it the way it sees fit.
This can be used for, e.g., systemd-boot, to pass an additional seed to Linux in a way that can be consumed by the kernel very early. In that case, the following definitions should be used to pass the seed to the EFI stub:
struct linux_efi_random_seed {
u32 size; // of the 'seed' array in bytes
u8 seed[];
};
The memory for the struct must be allocated as EFI_ACPI_RECLAIM_MEMORY pool memory, and the address of the struct in memory should be installed as a EFI configuration table using the following GUID:
LINUX_EFI_RANDOM_SEED_TABLE_GUID 1ce1e5bc-7ceb-42f2-81e5-8aadf180f57b
Note that doing so is safe even on kernels that were built without this patch applied, but the seed will simply be overwritten with a seed derived from the EFI RNG protocol, if available. The recommended seed size is 32 bytes, and seeds larger than 512 bytes are considered corrupted and ignored entirely.
In order to preserve forward secrecy, seeds from previous bootloaders are memzero'd out, and in order to preserve memory, those older seeds are also freed from memory. Freeing from memory without first memzeroing is not safe to do, as it's possible that nothing else will ever overwrite those pages used by EFI.
[ardb: incorporate Jason's followup changes to extend the maximum seed
size on the consumer end, memzero() it and drop a needless printk]
--- drivers/firmware/efi/efi.c | 4 +-- drivers/firmware/efi/libstub/efistub.h | 2 + drivers/firmware/efi/libstub/random.c | 42 ++++++++++++++++++++++++++++----- include/linux/efi.h | 2 - 4 files changed, 40 insertions(+), 10 deletions(-)
drivers/firmware/efi/efi.c +2 -2
@@ -590,7 +590,7 @@ int __init efi_config_parse_tables(const seed =early_memremap (efi_rng_seed,sizeof (*seed));if (seed !=NULL ) { - size =min (seed->size,EFI_RANDOM_SEED_SIZE ); + size =min_t (u32, seed->size,SZ_1K );// sanity check early_memunmap (seed,sizeof (*seed)); }else {pr_err ("Could not map UEFI random seed!\n" );
@@ -599,8 +599,8 @@ int __init efi_config_parse_tables(const seed =early_memremap (efi_rng_seed,sizeof (*seed) + size);if (seed !=NULL ) { -pr_notice ("seeding entropy pool\n" );add_bootloader_randomness (seed->bits, size); +memzero_explicit (seed->bits, size);early_memunmap (seed,sizeof (*seed) + size); }else {pr_err ("Could not map UEFI random seed!\n" );
drivers/firmware/efi/libstub/efistub.h +2 -0
@@ -766,6 +766,8 @@ efi_status_t efi_get_random_bytes(unsignefi_status_t efi_random_alloc (unsigned long size,unsigned long align,unsigned long *addr,unsigned long random_seed); +efi_status_t efi_random_get_seed (void ); +efi_status_t check_platform_features (void );void *get_efi_config_table (efi_guid_t guid);
drivers/firmware/efi/libstub/random.c +36 -6
76 lines not on this page · raw message
include/linux/efi.h +0 -2
@@ -1114,8 +1114,6 @@ void efi_check_for_embedded_firmwares(vostatic inline void efi_check_for_embedded_firmwares (void ) { }#endif -efi_status_t efi_random_get_seed (void ); -/* * Arch code can implement the following three template macros, avoiding * reptition for the void/non-void return cases of {__,}efi_call_virt():
Greg Kroah-Hartman
maintainerPATCH 289/290 io_uring: Fix unsigned res comparison with zero in io_fixup_rw_res()
In reply to Greg Kroah-HartmanFrom: Harshit Mogalapalli <[email protected]>
Smatch warning: io_fixup_rw_res() warn:
unsigned 'res' is never less than zero.
Change type of 'res' from unsigned to long.
--- io_uring/io_uring.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
io_uring/io_uring.c +1 -1
@@ -2701,7 +2701,7 @@ static bool __io_complete_rw_common(strureturn false; } -static inline int io_fixup_rw_res (struct io_kiocb *req,unsigned res) +static inline int io_fixup_rw_res (struct io_kiocb *req,long res) {struct io_async_rw *io = req->async_data;
Greg Kroah-Hartman
maintainerPATCH 290/290 drm/mgag200: Fix PLL setup for G200_SE_A rev >=4
In reply to Greg Kroah-HartmanFrom: Jocelyn Falempe <[email protected]>
commit b389286d0234e1edbaf62ed8bc0892a568c33662 upstream.
For G200_SE_A, PLL M setting is wrong, which leads to blank screen, or "signal out of range" on VGA display.
previous code had "m |= 0x80" which was changed to
m |= ((pixpllcn & BIT(8)) >> 1);
Tested on G200_SE_A rev 42
This line of code was moved to another file with
commit 877507bb954e ("drm/mgag200: Provide per-device callbacks for PIXPLLC") but can be easily backported before this commit.
v2: * put BIT(7) First to respect MSB-to-LSB (Thomas)
* Add a comment to explain that this bit must be set (Thomas)
--- drivers/gpu/drm/mgag200/mgag200_pll.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/gpu/drm/mgag200/mgag200_pll.c +2 -1
@@ -268,7 +268,8 @@ static void mgag200_pixpll_update_g200se pixpllcp = pixpllc->p -1 ; pixpllcs = pixpllc->s; - xpixpllcm = pixpllcm | ((pixpllcn &BIT (8 )) >>1 ); +// For G200SE A, BIT(7) should be set unconditionally. + xpixpllcm =BIT (7 ) | pixpllcm; xpixpllcn = pixpllcn; xpixpllcp = (pixpllcs <<3 ) | pixpllcp;
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.87 release. There are 290 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, 12 Jan 2023 17:59:42 +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.15.87-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.15.y
and the diffstat can be found below.thanks,
greg k-h
On ARCH_BRCMSTB using 32-bit and 64-bit ARM kernels, build tested on BMIPS_GENERIC:
Signature · 1 line
Florian
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.87 release. There are 290 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, 12 Jan 2023 17:59:42 +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.15.87-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.15.y
and the diffstat can be found below.thanks,
greg k-h
Compiled and booted on my test system. No dmesg regressions.
thanks,
-- Shuah
Quoted 10 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.87 release. There are 290 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, 12 Jan 2023 17:59:42 +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.15.87-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.15.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.
## Build
* kernel: 5.15.87-rc1
* git: https://gitlab.com/Linaro/lkft/mirrors/stable/linux-stable-rc
* git branch: linux-5.15.y
* git commit: 5e4a8f5e829f10ba7300f2b854cebaed7ac88e73
* git describe: v5.15.86-291-g5e4a8f5e829f
* test details:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-5.15.y/build/v5.15.86-291-g5e4a8f5e829f
## Test Regressions (compared to v5.15.86)
## Metric Regressions (compared to v5.15.86)
## Test Fixes (compared to v5.15.86)
## Metric Fixes (compared to v5.15.86)
## Test result summary
total: 158884, pass: 133407, fail: 4419, skip: 20714, xfail: 344
## Build Summary
* arc: 5 total, 5 passed, 0 failed
* arm: 151 total, 150 passed, 1 failed
* arm64: 49 total, 47 passed, 2 failed
* i386: 39 total, 35 passed, 4 failed
* mips: 31 total, 29 passed, 2 failed
* parisc: 8 total, 8 passed, 0 failed
* powerpc: 34 total, 32 passed, 2 failed
* riscv: 14 total, 14 passed, 0 failed
* s390: 16 total, 14 passed, 2 failed
* sh: 14 total, 12 passed, 2 failed
* sparc: 8 total, 8 passed, 0 failed
* x86_64: 42 total, 40 passed, 2 failed
## Test suites summary
* boot
* fwts
* igt-gpu-tools
* kselftest-android
* kselftest-arm64
* kselftest-breakpoints
* kselftest-capabilities
* kselftest-cgroup
* kselftest-clone3
* kselftest-core
* kselftest-cpu-hotplug
* kselftest-cpufreq
* kselftest-drivers-dma-buf
* kselftest-efivarfs
* kselftest-filesystems
* kselftest-filesystems-binderfs
* kselftest-firmware
* kselftest-fpu
* kselftest-futex
* kselftest-gpio
* kselftest-intel_pstate
* kselftest-ipc
* kselftest-ir
* kselftest-kcmp
* kselftest-kexec
* kselftest-kvm
* kselftest-lib
* kselftest-livepatch
* kselftest-membarrier
* kselftest-memfd
* kselftest-memory-hotplug
* kselftest-mincore
* kselftest-mount
* kselftest-mqueue
* kselftest-net
* kselftest-net-forwarding
* kselftest-net-mptcp
* kselftest-netfilter
* kselftest-nsfs
* kselftest-openat2
* kselftest-pid_namespace
* kselftest-pidfd
* kselftest-proc
* kselftest-pstore
* kselftest-ptrace
* kselftest-rseq
* kselftest-rtc
* kselftest-seccomp
* kselftest-sigaltstack
* kselftest-size
* kselftest-splice
* kselftest-static_keys
* kselftest-sync
* kselftest-sysctl
* kselftest-tc-testing
* kselftest-timens
* kselftest-timers
* kselftest-tmpfs
* kselftest-tpm2
* kselftest-user
* kselftest-vm
* kselftest-x86
* kselftest-zram
* kunit
* kvm-unit-tests
* libgpiod
* libhugetlbfs
* log-parser-boot
* log-parser-test
* ltp-cap_bounds
* ltp-commands
* ltp-containers
* ltp-controllers
* ltp-cpuhotplug
* ltp-crypto
* ltp-cve
* ltp-dio
* ltp-fcntl-locktests
* ltp-filecaps
* ltp-fs
* ltp-fs_bind
* ltp-fs_perms_simple
* ltp-fsx
* ltp-hugetlb
* ltp-io
* ltp-ipc
* ltp-math
* ltp-mm
* ltp-nptl
* ltp-open-posix-tests
* ltp-pty
* ltp-sched
* ltp-securebits
* ltp-smoke
* ltp-syscalls
* ltp-tracing
* network-basic-tests
* packetdrill
* perf
* rcutorture
* v4l2-compliance
* vdso
--
Linaro LKFT
https://lkft.linaro.org
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.87 release. There are 290 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, 12 Jan 2023 17:59:42 +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.15.87-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.15.y
and the diffstat can be found below.thanks,
greg k-h
All tests passing for Tegra ...
Test results for stable-v5.15:
11 builds: 11 pass, 0 fail
28 boots: 28 pass, 0 fail
114 tests: 114 pass, 0 failLinux version: 5.15.87-rc1-g5e4a8f5e829f
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,
tegra194-p2972-0000, tegra194-p3509-0000+p3668-0000,
tegra20-ventana, tegra210-p2371-2180,
tegra210-p3450-0000, tegra30-cardhu-a04Jon
Hi Greg,
Quoted 7 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.87 release. There are 290 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, 12 Jan 2023 17:59:42 +0000. Anything received after that time might be too late.
Build test (gcc version 12.2.1 20221127):
mips: 62 configs -> no failure
arm: 99 configs -> no failure
arm64: 3 configs -> no failurex86_64: 4 configs -> no failure
alpha allmodconfig -> no failure
csky allmodconfig -> no failure
powerpc allmodconfig -> no failure
riscv allmodconfig -> no failure
s390 allmodconfig -> no failure
xtensa allmodconfig -> no failure
Boot test:x86_64: Booted on my test laptop. No regression.x86_64: Booted on qemu. No regression. [1]
arm64: Booted on rpi4b (4GB model). No regression. [2]
mips: Booted on ci20 board. No regression. [3]
[1]. https://openqa.qa.codethink.co.uk/tests/2607
[2]. https://openqa.qa.codethink.co.uk/tests/2612
[3]. https://openqa.qa.codethink.co.uk/tests/2615
Signature · 2 lines
Regards Sudip
Quoted 5 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.87 release. There are 290 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.
Successfully cross-compiled for arm64 (bcm2711_defconfig, GCC 10.2.0) and powerpc (ps3_defconfig, GCC 12.2.0).
Signature · 1 line
An old man doll... just what I always wanted! - Clara
Quoted 10 lines
This is the start of the stable review cycle for the 5.15.87 release. There are 290 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, 12 Jan 2023 17:59:42 +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.15.87-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.15.y
and the diffstat can be found below.thanks,
greg k-h
Compiled and booted on my x86_64 and ARM64 test systems. No errors or regressions.
Thanks.
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.87 release. There are 290 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, 12 Jan 2023 17:59:42 +0000. Anything received after that time might be too late.
Build results:
total: 160 pass: 160 fail: 0 Qemu test results: total: 489 pass: 489 fail: 0
Guenter
Quoted 7 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.87 release. There are 290 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, 12 Jan 2023 17:59:42 +0000. Anything received after that time might be too late.
No regressions found on WSL x86_64 or WSL arm64
Built, booted, and compared dmesg against 5.15.86.
Thank you.
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.87 release. There are 290 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, 12 Jan 2023 17:59:42 +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.15.87-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.15.y
and the diffstat can be found below.thanks,
greg k-h
Built and booted successfully on RISC-V RV64 (HiFive Unmatched).