5.4.219-rc1 review
Subsystems (2)
Greg Kroah-Hartman
maintainercover 5.4.219-rc1 review
This is the start of the stable review cycle for the 5.4.219 release. There are 4 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 Tue, 18 Oct 2022 06:44:46 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.219-rc1.gz
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.4.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <[email protected]>
Linux 5.4.219-rc1
Johannes Berg <[email protected]>
wifi: mac80211: fix MBSSID parsing use-after-free
Johannes Berg <[email protected]>
wifi: mac80211: don't parse mbssid in assoc response
Johannes Berg <[email protected]>
mac80211: mlme: find auth challenge directly
Sasha Levin <[email protected]>
Revert "fs: check FMODE_LSEEK to control internal pipe splicing"
-------------
Diffstat:
Makefile | 4 ++-- fs/splice.c | 10 ++++++---- net/mac80211/ieee80211_i.h | 4 ++-- net/mac80211/mlme.c | 21 +++++++++++++-------- net/mac80211/scan.c | 2 ++ net/mac80211/util.c | 11 ++++++----- 6 files changed, 31 insertions(+), 21 deletions(-)
Greg Kroah-Hartman
maintainerPATCH 1/4 Revert "fs: check FMODE_LSEEK to control internal pipe splicing"
This reverts commit fd0a6e99b61e6c08fa5cf585d54fd956f70c73a6.
Which was upstream commit 97ef77c52b789ec1411d360ed99dca1efe4b2c81.
The commit is missing dependencies and breaks NFS tests, remove it for now.
--- fs/splice.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
fs/splice.c +6 -4
@@ -895,15 +895,17 @@ ssize_t splice_direct_to_actor(struct file *in, struct splice_desc *sd, {struct pipe_inode_info *pipe;long ret, bytes; +umode_t i_mode;size_t len;int i, flags, more;/* -* We require the input to be seekable, as we don't want to randomly -* drop data for eg socket -> socket splicing. Use the piped splicing -* for that! +* We require the input being a regular file, as we don't want to +* randomly drop data for eg socket -> socket splicing. Use the +* piped splicing for that! */ -if (unlikely (!(in->f_mode &FMODE_LSEEK ))) + i_mode =file_inode (in)->i_mode; +if (unlikely (!S_ISREG (i_mode) && !S_ISBLK (i_mode)))return -EINVAL ;/*
Signature · 1 line
2.35.1
Greg Kroah-Hartman
maintainerPATCH 2/4 mac80211: mlme: find auth challenge directly
In reply to Greg Kroah-HartmanFrom: Johannes Berg <[email protected]>
There's no need to parse all elements etc. just to find the authentication challenge - use cfg80211_find_elem() instead. This also allows us to remove WLAN_EID_CHALLENGE handling from the element parsing entirely.
--- net/mac80211/ieee80211_i.h | 2 -- net/mac80211/mlme.c | 11 ++++++----- net/mac80211/util.c | 4 ---- 3 files changed, 6 insertions(+), 11 deletions(-)
net/mac80211/ieee80211_i.h +0 -2
@@ -1460,7 +1460,6 @@ struct ieee802_11_elems {const u8 *supp_rates;const u8 *ds_params;const struct ieee80211_tim_ie *tim; -const u8 *challenge;const u8 *rsn;const u8 *erp_info;const u8 *ext_supp_rates;
@@ -1507,7 +1506,6 @@ struct ieee802_11_elems {u8 ssid_len;u8 supp_rates_len;u8 tim_len; -u8 challenge_len;u8 rsn_len;u8 ext_supp_rates_len;u8 wmm_info_len;
net/mac80211/mlme.c +6 -5
@@ -2829,14 +2829,14 @@ static void ieee80211_auth_challenge(str {struct ieee80211_local *local = sdata->local;struct ieee80211_mgd_auth_data *auth_data = sdata->u.mgd.auth_data; +const struct element *challenge;u8 *pos; -struct ieee802_11_elems elems;u32 tx_flags =0 ; pos = mgmt->u.auth.variable; -ieee802_11_parse_elems (pos, len - (pos - (u8 *)mgmt), false, &elems, - mgmt->bssid, auth_data->bss->bssid); -if (!elems.challenge) + challenge =cfg80211_find_elem (WLAN_EID_CHALLENGE , pos, + len - (pos - (u8 *)mgmt)); +if (!challenge)return ; auth_data->expected_transaction =4 ;drv_mgd_prepare_tx (sdata->local, sdata,0 );
@@ -2844,7 +2844,8 @@ static void ieee80211_auth_challenge(str tx_flags =IEEE80211_TX_CTL_REQ_TX_STATUS |IEEE80211_TX_INTFL_MLME_CONN_TX ;ieee80211_send_auth (sdata,3 , auth_data->algorithm,0 , - elems.challenge -2 , elems.challenge_len +2 , + (void *)challenge, + challenge->datalen +sizeof (*challenge), auth_data->bss->bssid, auth_data->bss->bssid, auth_data->key, auth_data->key_len, auth_data->key_idx, tx_flags);
net/mac80211/util.c +0 -4
@@ -1006,10 +1006,6 @@ _ieee802_11_parse_elems_crc(const u8 *st }else elem_parse_failed = true;break ; -case WLAN_EID_CHALLENGE : - elems->challenge = pos; - elems->challenge_len = elen; -break ;case WLAN_EID_VENDOR_SPECIFIC :if (elen >=4 && pos[0 ] ==0x00 && pos[1 ] ==0x50 && pos[2 ] ==0xf2 ) {
Greg Kroah-Hartman
maintainerPATCH 3/4 wifi: mac80211: dont parse mbssid in assoc response
In reply to Greg Kroah-HartmanFrom: Johannes Berg <[email protected]>
This is simply not valid and simplifies the next commit. I'll make a separate patch for this in the current main tree as well.
--- net/mac80211/mlme.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
net/mac80211/mlme.c +2 -2
@@ -3224,7 +3224,7 @@ static bool ieee80211_assoc_success(stru pos = mgmt->u.assoc_resp.variable;ieee802_11_parse_elems (pos, len - (pos - (u8 *)mgmt), false, &elems, - mgmt->bssid, assoc_data->bss->bssid); + mgmt->bssid,NULL );if (!elems.supp_rates) {sdata_info (sdata,"no SuppRates element in AssocResp\n" );
@@ -3576,7 +3576,7 @@ static void ieee80211_rx_mgmt_assoc_resp pos = mgmt->u.assoc_resp.variable;ieee802_11_parse_elems (pos, len - (pos - (u8 *)mgmt), false, &elems, - mgmt->bssid, assoc_data->bss->bssid); + mgmt->bssid,NULL ); if (status_code == WLAN_STATUS_ASSOC_REJECTED_TEMPORARILY && elems.timeout_int &&
Greg Kroah-Hartman
maintainerPATCH 4/4 wifi: mac80211: fix MBSSID parsing use-after-free
In reply to Greg Kroah-HartmanFrom: Johannes Berg <[email protected]>
Commit ff05d4b45dd89b922578dac497dcabf57cf771c6 upstream. This is a different version of the commit, changed to store the non-transmitted profile in the elems, and freeing it in the few places where it's relevant, since that is only the case when the last argument for parsing (the non-tx BSSID) is non-NULL.
When we parse a multi-BSSID element, we might point some element pointers into the allocated nontransmitted_profile. However, we free this before returning, causing UAF when the relevant pointers in the parsed elements are accessed.
Fix this by not allocating the scratch buffer separately but as part of the returned structure instead, that way, there are no lifetime issues with it.
The scratch buffer introduction as part of the returned data here is taken from MLO feature work done by Ilan.
This fixes CVE-2022-42719.
--- net/mac80211/ieee80211_i.h | 2 ++ net/mac80211/mlme.c | 6 +++++- net/mac80211/scan.c | 2 ++ net/mac80211/util.c | 7 ++++++- 4 files changed, 15 insertions(+), 2 deletions(-)
net/mac80211/ieee80211_i.h +2 -0
@@ -1519,6 +1519,8 @@ struct ieee802_11_elems {u8 country_elem_len;u8 bssid_index_len; +void *nontx_profile; +/* whether a parse error occurred while retrieving these elements */ bool parse_error; };
net/mac80211/mlme.c +5 -1
@@ -3299,6 +3299,7 @@ static bool ieee80211_assoc_success(strusdata_info (sdata,"AP bug: VHT operation missing from AssocResp\n" ); } +kfree (bss_elems.nontx_profile); }/*
@@ -3883,6 +3884,7 @@ static void ieee80211_rx_mgmt_beacon(str ifmgd->assoc_data->timeout = jiffies; ifmgd->assoc_data->timeout_started = true;run_again (sdata, ifmgd->assoc_data->timeout); +kfree (elems.nontx_profile);return ; }
@@ -4050,7 +4052,7 @@ static void ieee80211_rx_mgmt_beacon(strieee80211_report_disconnect (sdata, deauth_buf,sizeof (deauth_buf), true,WLAN_REASON_DEAUTH_LEAVING ); -return ; + goto free; }if (sta && elems.opmode_notif)
@@ -4065,6 +4067,8 @@ static void ieee80211_rx_mgmt_beacon(str elems.cisco_dtpc_elem);ieee80211_bss_info_change_notify (sdata, changed); +free: +kfree (elems.nontx_profile); } void ieee80211_sta_rx_queued_mgmt(struct ieee80211_sub_if_data *sdata,
net/mac80211/scan.c +2 -0
@@ -216,6 +216,8 @@ ieee80211_bss_info_update(struct ieee802 rx_status, beacon); } +kfree (elems.nontx_profile); +return bss; }
net/mac80211/util.c +6 -1
@@ -1363,6 +1363,11 @@ u32 ieee802_11_parse_elems_crc(const u8cfg80211_find_ext_elem (WLAN_EID_EXT_NON_INHERITANCE , nontransmitted_profile, nontransmitted_profile_len); +if (!nontransmitted_profile_len) { + nontransmitted_profile_len =0 ; +kfree (nontransmitted_profile); + nontransmitted_profile =NULL ; + } } crc = _ieee802_11_parse_elems_crc(start, len, action, elems, filter,
@@ -1392,7 +1397,7 @@ u32 ieee802_11_parse_elems_crc(const u8 offsetofend(struct ieee80211_bssid_index, dtim_count)) elems->dtim_count = elems->bssid_index->dtim_count; -kfree (nontransmitted_profile); + elems->nontx_profile = nontransmitted_profile;return crc; }
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.4.219 release. There are 4 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 Tue, 18 Oct 2022 06:44:46 +0000. Anything received after that time might be too late.
Build results:
total: 161 pass: 161 fail: 0 Qemu test results: total: 447 pass: 447 fail: 0
Guenter
Quoted 10 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.4.219 release. There are 4 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 Tue, 18 Oct 2022 06:44:46 +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.219-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.
## Build
* kernel: 5.4.219-rc1
* git: https://gitlab.com/Linaro/lkft/mirrors/stable/linux-stable-rc
* git branch: linux-5.4.y
* git commit: 5a1de46f7e7462992a5dd980fe8d06ea57b4ad17
* git describe: v5.4.218-5-g5a1de46f7e74
* test details:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-5.4.y/build/v5.4.218-5-g5a1de46f7e74
## No Test Regressions (compared to v5.4.217-39-g34b618a713e7)
## No Metric Regressions (compared to v5.4.217-39-g34b618a713e7)
## No Test Fixes (compared to v5.4.217-39-g34b618a713e7)
## No Metric Fixes (compared to v5.4.217-39-g34b618a713e7)
## Test result summary
total: 99448, pass: 84788, fail: 1219, skip: 12965, xfail: 476
## Build Summary
* arc: 10 total, 10 passed, 0 failed
* arm: 334 total, 334 passed, 0 failed
* arm64: 64 total, 59 passed, 5 failed
* i386: 31 total, 29 passed, 2 failed
* mips: 56 total, 56 passed, 0 failed
* parisc: 12 total, 12 passed, 0 failed
* powerpc: 63 total, 63 passed, 0 failed
* riscv: 27 total, 26 passed, 1 failed
* s390: 15 total, 15 passed, 0 failed
* sh: 24 total, 24 passed, 0 failed
* sparc: 12 total, 12 passed, 0 failed
* x86_64: 57 total, 55 passed, 2 failed
## Test suites summary
* fwts
* igt-gpu-tools
* kselftest-android
* kselftest-arm64
* kselftest-arm64/arm64.btitest.bti_c_func
* kselftest-arm64/arm64.btitest.bti_j_func
* kselftest-arm64/arm64.btitest.bti_jc_func
* kselftest-arm64/arm64.btitest.bti_none_func
* kselftest-arm64/arm64.btitest.nohint_func
* kselftest-arm64/arm64.btitest.paciasp_func
* kselftest-arm64/arm64.nobtitest.bti_c_func
* kselftest-arm64/arm64.nobtitest.bti_j_func
* kselftest-arm64/arm64.nobtitest.bti_jc_func
* kselftest-arm64/arm64.nobtitest.bti_none_func
* kselftest-arm64/arm64.nobtitest.nohint_func
* kselftest-arm64/arm64.nobtitest.paciasp_func
* kselftest-breakpoints
* kselftest-capabilities
* 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-netfilter
* kselftest-nsfs
* kselftest-openat2
* kselftest-pid_namespace
* kselftest-pidfd
* kselftest-proc
* kselftest-pstore
* kselftest-ptrace
* kselftest-rseq
* kselftest-rtc
* 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-syscalls
* ltp-tracing
* network-basic-tests
* packetdrill
* perf
* perf/Zstd-perf.data-compression
* rcutorture
* v4l2-compliance
* vdso
--
Linaro LKFT
https://lkft.linaro.org
Hi Greg,
Quoted 7 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.4.219 release. There are 4 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 Tue, 18 Oct 2022 06:44:46 +0000. Anything received after that time might be too late.
Build test (gcc version 11.3.1 20220925):
mips: 65 configs -> no failure
arm: 106 configs -> no failure
arm64: 2 configs -> no failurex86_64: 4 configs -> no failure
alpha 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]
[1]. https://openqa.qa.codethink.co.uk/tests/2009
Signature · 2 lines
Regards Sudip
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.4.219 release. There are 4 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 Tue, 18 Oct 2022 06:44:46 +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.219-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 passing for Tegra ...
Test results for stable-v5.4:
10 builds: 10 pass, 0 fail
26 boots: 26 pass, 0 fail
59 tests: 59 pass, 0 failLinux version: 5.4.219-rc1-g5a1de46f7e74
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,
tegra194-p2972-0000, tegra20-ventana,
tegra210-p2371-2180, tegra210-p3450-0000,
tegra30-cardhu-a04Jon
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.4.219 release. There are 4 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 Tue, 18 Oct 2022 06:44:46 +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.219-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
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.4.219 release. There are 4 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 Tue, 18 Oct 2022 06:44:46 +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.219-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