This is the start of the stable review cycle for the 5.4.217 release. There are 51 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 Fri, 07 Oct 2022 11:31:56 +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.217-rc1... 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 gregkh@linuxfoundation.org Linux 5.4.217-rc1
Shuah Khan skhan@linuxfoundation.org docs: update mediator information in CoC docs
Sami Tolvanen samitolvanen@google.com Makefile.extrawarn: Move -Wcast-function-type-strict to W=1
Greg Kroah-Hartman gregkh@linuxfoundation.org Revert "drm/amdgpu: use dirty framebuffer helper"
YueHaibing yuehaibing@huawei.com xfs: remove unused variable 'done'
Darrick J. Wong darrick.wong@oracle.com xfs: fix uninitialized variable in xfs_attr3_leaf_inactive
Darrick J. Wong darrick.wong@oracle.com xfs: streamline xfs_attr3_leaf_inactive
Christoph Hellwig hch@lst.de xfs: move incore structures out of xfs_da_format.h
Darrick J. Wong darrick.wong@oracle.com xfs: fix memory corruption during remote attr value buffer invalidation
Darrick J. Wong darrick.wong@oracle.com xfs: refactor remote attr value buffer invalidation
Christoph Hellwig hch@lst.de xfs: fix IOCB_NOWAIT handling in xfs_file_dio_aio_read
Darrick J. Wong darrick.wong@oracle.com xfs: fix s_maxbytes computation on 32-bit kernels
Darrick J. Wong darrick.wong@oracle.com xfs: truncate should remove all blocks, not just to the end of the page cache
Darrick J. Wong darrick.wong@oracle.com xfs: introduce XFS_MAX_FILEOFF
Christoph Hellwig hch@lst.de xfs: fix misuse of the XFS_ATTR_INCOMPLETE flag
Daniel Sneddon daniel.sneddon@linux.intel.com x86/speculation: Add RSB VM Exit protections
Pawan Gupta pawan.kumar.gupta@linux.intel.com x86/bugs: Warn when "ibrs" mitigation is selected on Enhanced IBRS parts
Nathan Chancellor nathan@kernel.org x86/speculation: Use DECLARE_PER_CPU for x86_spec_ctrl_current
Pawan Gupta pawan.kumar.gupta@linux.intel.com x86/speculation: Disable RRSBA behavior
Pawan Gupta pawan.kumar.gupta@linux.intel.com x86/bugs: Add Cannon lake to RETBleed affected CPU list
Andrew Cooper andrew.cooper3@citrix.com x86/cpu/amd: Enumerate BTC_NO
Peter Zijlstra peterz@infradead.org x86/common: Stamp out the stepping madness
Josh Poimboeuf jpoimboe@kernel.org x86/speculation: Fill RSB on vmexit for IBRS
Josh Poimboeuf jpoimboe@kernel.org KVM: VMX: Fix IBRS handling after vmexit
Josh Poimboeuf jpoimboe@kernel.org KVM: VMX: Prevent guest RSB poisoning attacks with eIBRS
Thadeu Lima de Souza Cascardo cascardo@canonical.com KVM: VMX: Convert launched argument to flags
Josh Poimboeuf jpoimboe@kernel.org KVM: VMX: Flatten __vmx_vcpu_run()
Uros Bizjak ubizjak@gmail.com KVM/nVMX: Use __vmx_vcpu_run in nested_vmx_check_vmentry_hw
Uros Bizjak ubizjak@gmail.com KVM/VMX: Use TEST %REG,%REG instead of CMP $0,%REG in vmenter.S
Josh Poimboeuf jpoimboe@kernel.org x86/speculation: Remove x86_spec_ctrl_mask
Josh Poimboeuf jpoimboe@kernel.org x86/speculation: Use cached host SPEC_CTRL value for guest entry/exit
Josh Poimboeuf jpoimboe@kernel.org x86/speculation: Fix SPEC_CTRL write on SMT state change
Josh Poimboeuf jpoimboe@kernel.org x86/speculation: Fix firmware entry SPEC_CTRL handling
Josh Poimboeuf jpoimboe@kernel.org x86/speculation: Fix RSB filling with CONFIG_RETPOLINE=n
Peter Zijlstra peterz@infradead.org x86/speculation: Change FILL_RETURN_BUFFER to work with objtool
Peter Zijlstra peterz@infradead.org intel_idle: Disable IBRS during long idle
Peter Zijlstra peterz@infradead.org x86/bugs: Report Intel retbleed vulnerability
Peter Zijlstra peterz@infradead.org x86/bugs: Split spectre_v2_select_mitigation() and spectre_v2_user_select_mitigation()
Pawan Gupta pawan.kumar.gupta@linux.intel.com x86/speculation: Add spectre_v2=ibrs option to support Kernel IBRS
Peter Zijlstra peterz@infradead.org x86/bugs: Optimize SPEC_CTRL MSR writes
Peter Zijlstra peterz@infradead.org x86/entry: Add kernel IBRS implementation
Peter Zijlstra peterz@infradead.org x86/entry: Remove skip_r11rcx
Peter Zijlstra peterz@infradead.org x86/bugs: Keep a per-CPU IA32_SPEC_CTRL value
Alexandre Chartre alexandre.chartre@oracle.com x86/bugs: Add AMD retbleed= boot parameter
Alexandre Chartre alexandre.chartre@oracle.com x86/bugs: Report AMD retbleed vulnerability
Peter Zijlstra peterz@infradead.org x86/cpufeatures: Move RETPOLINE flags to word 11
Peter Zijlstra peterz@infradead.org x86/kvm/vmx: Make noinstr clean
Mark Gross mgross@linux.intel.com x86/cpu: Add a steppings field to struct x86_cpu_id
Thomas Gleixner tglx@linutronix.de x86/cpu: Add consistent CPU match macros
Thomas Gleixner tglx@linutronix.de x86/devicetable: Move x86 specific macro out of generic code
Thadeu Lima de Souza Cascardo cascardo@canonical.com Revert "x86/cpu: Add a steppings field to struct x86_cpu_id"
Thadeu Lima de Souza Cascardo cascardo@canonical.com Revert "x86/speculation: Add RSB VM Exit protections"
-------------
Diffstat:
Documentation/admin-guide/kernel-parameters.txt | 13 + .../process/code-of-conduct-interpretation.rst | 2 +- Makefile | 4 +- arch/x86/entry/calling.h | 68 +++- arch/x86/entry/entry_32.S | 2 - arch/x86/entry/entry_64.S | 34 +- arch/x86/entry/entry_64_compat.S | 11 +- arch/x86/include/asm/cpu_device_id.h | 132 +++++++- arch/x86/include/asm/cpufeatures.h | 13 +- arch/x86/include/asm/intel-family.h | 6 + arch/x86/include/asm/msr-index.h | 10 + arch/x86/include/asm/nospec-branch.h | 54 +-- arch/x86/kernel/cpu/amd.c | 21 +- arch/x86/kernel/cpu/bugs.c | 365 ++++++++++++++++----- arch/x86/kernel/cpu/common.c | 61 ++-- arch/x86/kernel/cpu/match.c | 13 +- arch/x86/kernel/cpu/scattered.c | 1 + arch/x86/kernel/process.c | 2 +- arch/x86/kvm/svm.c | 1 + arch/x86/kvm/vmx/nested.c | 32 +- arch/x86/kvm/vmx/run_flags.h | 8 + arch/x86/kvm/vmx/vmenter.S | 161 +++++---- arch/x86/kvm/vmx/vmx.c | 72 ++-- arch/x86/kvm/vmx/vmx.h | 5 + arch/x86/kvm/x86.c | 4 +- drivers/base/cpu.c | 8 + drivers/cpufreq/acpi-cpufreq.c | 1 + drivers/cpufreq/amd_freq_sensitivity.c | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 2 - drivers/idle/intel_idle.c | 43 ++- fs/xfs/libxfs/xfs_attr.c | 2 +- fs/xfs/libxfs/xfs_attr_leaf.c | 4 +- fs/xfs/libxfs/xfs_attr_leaf.h | 26 +- fs/xfs/libxfs/xfs_attr_remote.c | 85 +++-- fs/xfs/libxfs/xfs_attr_remote.h | 2 + fs/xfs/libxfs/xfs_da_btree.h | 17 +- fs/xfs/libxfs/xfs_da_format.c | 1 + fs/xfs/libxfs/xfs_da_format.h | 59 ---- fs/xfs/libxfs/xfs_dir2.h | 2 + fs/xfs/libxfs/xfs_dir2_priv.h | 19 ++ fs/xfs/libxfs/xfs_format.h | 7 + fs/xfs/xfs_attr_inactive.c | 146 +++------ fs/xfs/xfs_file.c | 7 +- fs/xfs/xfs_inode.c | 25 +- fs/xfs/xfs_reflink.c | 3 +- fs/xfs/xfs_super.c | 48 ++- include/linux/cpu.h | 2 + include/linux/kvm_host.h | 2 +- include/linux/mod_devicetable.h | 4 +- scripts/Makefile.extrawarn | 1 + tools/arch/x86/include/asm/cpufeatures.h | 2 +- 51 files changed, 1056 insertions(+), 558 deletions(-)
Hello!
On 05/10/22 06:31, Greg Kroah-Hartman wrote:
This is the start of the stable review cycle for the 5.4.217 release. There are 51 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 Fri, 07 Oct 2022 11:31:56 +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.217-rc1... 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
We are seeing a new warning on x86_64:
/builds/linux/arch/x86/entry/entry_64.S: Assembler messages: /builds/linux/arch/x86/entry/entry_64.S:1756: Warning: no instruction mnemonic suffix given and no register operands; using default for `sysret' arch/x86/entry/entry_64.o: warning: objtool: .entry.text+0x151: unsupported intra-function call x86_64-linux-gnu-ld: arch/x86/boot/compressed/head_64.o: warning: relocation in read-only section `.head.text' x86_64-linux-gnu-ld: warning: creating DT_TEXTREL in a PIE
This started happening after 984b78c4ecea49b0b4b5729a502b689a623fde27 ("x86/speculation: Fix RSB filling with CONFIG_RETPOLINE=n").
The following configurations are affected:
* x86_64, build - gcc-8-allnoconfig-warnings - gcc-8-tinyconfig-warnings - gcc-8-x86_64_defconfig-warnings - gcc-9-allnoconfig-warnings - gcc-9-tinyconfig-warnings - gcc-9-x86_64_defconfig-warnings - gcc-10-allnoconfig-warnings - gcc-10-defconfig-warnings - gcc-10-tinyconfig-warnings - gcc-11-allnoconfig-warnings - gcc-11-defconfig-warnings - gcc-11-lkftconfig-debug-kmemleak-warnings - gcc-11-lkftconfig-debug-warnings - gcc-11-lkftconfig-kasan-warnings - gcc-11-lkftconfig-kselftest-kernel-warnings - gcc-11-lkftconfig-kselftest-warnings - gcc-11-lkftconfig-kunit-warnings - gcc-11-lkftconfig-libgpiod-warnings - gcc-11-lkftconfig-perf-warnings - gcc-11-lkftconfig-rcutorture-warnings - gcc-11-lkftconfig-warnings - gcc-11-tinyconfig-warnings - gcc-12-allnoconfig-warnings - gcc-12-defconfig-warnings - gcc-12-tinyconfig-warnings - clang-11-allnoconfig-warnings - clang-11-tinyconfig-warnings - clang-11-x86_64_defconfig-warnings - clang-12-allnoconfig-warnings - clang-12-lkftconfig-warnings - clang-12-tinyconfig-warnings - clang-12-x86_64_defconfig-warnings - clang-13-allnoconfig-warnings - clang-13-lkftconfig-warnings - clang-13-tinyconfig-warnings - clang-13-x86_64_defconfig-warnings - clang-14-allnoconfig-warnings - clang-14-lkftconfig-kcsan-warnings - clang-14-lkftconfig-warnings - clang-14-tinyconfig-warnings - clang-14-x86_64_defconfig-warnings - clang-nightly-lkftconfig-warnings - clang-nightly-tinyconfig-warnings - clang-nightly-x86_64_defconfig-warnings
Greetings!
Daniel Díaz daniel.diaz@linaro.org
On Wed, Oct 05, 2022 at 02:12:46PM -0500, Daniel Díaz wrote:
Hello!
On 05/10/22 06:31, Greg Kroah-Hartman wrote:
This is the start of the stable review cycle for the 5.4.217 release. There are 51 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 Fri, 07 Oct 2022 11:31:56 +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.217-rc1... 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
We are seeing a new warning on x86_64:
/builds/linux/arch/x86/entry/entry_64.S: Assembler messages: /builds/linux/arch/x86/entry/entry_64.S:1756: Warning: no instruction mnemonic suffix given and no register operands; using default for `sysret' arch/x86/entry/entry_64.o: warning: objtool: .entry.text+0x151: unsupported intra-function call x86_64-linux-gnu-ld: arch/x86/boot/compressed/head_64.o: warning: relocation in read-only section `.head.text' x86_64-linux-gnu-ld: warning: creating DT_TEXTREL in a PIE
You mean only the third line here with objtool complaining about unsupported intra-function call, right? The other warnings were likely there before.
This started happening after 984b78c4ecea49b0b4b5729a502b689a623fde27 ("x86/speculation: Fix RSB filling with CONFIG_RETPOLINE=n").
This is, in fact, introduced by the previous commit, 65e5a1959296e16a3566ff75e527f211f0bf5a26 ("x86/speculation: Change FILL_RETURN_BUFFER to work with objtool").
You see it once 984b78c4ecea is applied because your configs do not have CONFIG_RETPOLINE.
Notice that I note in 65e5a1959296 that intra-function validation is missing in objtool in 5.4, which is why you are seeing this warning.
Cascardo.
The following configurations are affected:
- x86_64, build
- gcc-8-allnoconfig-warnings
- gcc-8-tinyconfig-warnings
- gcc-8-x86_64_defconfig-warnings
- gcc-9-allnoconfig-warnings
- gcc-9-tinyconfig-warnings
- gcc-9-x86_64_defconfig-warnings
- gcc-10-allnoconfig-warnings
- gcc-10-defconfig-warnings
- gcc-10-tinyconfig-warnings
- gcc-11-allnoconfig-warnings
- gcc-11-defconfig-warnings
- gcc-11-lkftconfig-debug-kmemleak-warnings
- gcc-11-lkftconfig-debug-warnings
- gcc-11-lkftconfig-kasan-warnings
- gcc-11-lkftconfig-kselftest-kernel-warnings
- gcc-11-lkftconfig-kselftest-warnings
- gcc-11-lkftconfig-kunit-warnings
- gcc-11-lkftconfig-libgpiod-warnings
- gcc-11-lkftconfig-perf-warnings
- gcc-11-lkftconfig-rcutorture-warnings
- gcc-11-lkftconfig-warnings
- gcc-11-tinyconfig-warnings
- gcc-12-allnoconfig-warnings
- gcc-12-defconfig-warnings
- gcc-12-tinyconfig-warnings
- clang-11-allnoconfig-warnings
- clang-11-tinyconfig-warnings
- clang-11-x86_64_defconfig-warnings
- clang-12-allnoconfig-warnings
- clang-12-lkftconfig-warnings
- clang-12-tinyconfig-warnings
- clang-12-x86_64_defconfig-warnings
- clang-13-allnoconfig-warnings
- clang-13-lkftconfig-warnings
- clang-13-tinyconfig-warnings
- clang-13-x86_64_defconfig-warnings
- clang-14-allnoconfig-warnings
- clang-14-lkftconfig-kcsan-warnings
- clang-14-lkftconfig-warnings
- clang-14-tinyconfig-warnings
- clang-14-x86_64_defconfig-warnings
- clang-nightly-lkftconfig-warnings
- clang-nightly-tinyconfig-warnings
- clang-nightly-x86_64_defconfig-warnings
Greetings!
Daniel Díaz daniel.diaz@linaro.org
On 10/5/22 04:31, Greg Kroah-Hartman wrote:
This is the start of the stable review cycle for the 5.4.217 release. There are 51 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 Fri, 07 Oct 2022 11:31:56 +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
Reviewed-by: Guenter Roeck linux@roeck-us.net
Guenter
On Wed, 05 Oct 2022 13:31:48 +0200, Greg Kroah-Hartman wrote:
This is the start of the stable review cycle for the 5.4.217 release. There are 51 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 Fri, 07 Oct 2022 11:31:56 +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.217-rc1... 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
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 fail
Linux version: 5.4.217-rc1-g6376bfa24632 Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000, tegra194-p2972-0000, tegra20-ventana, tegra210-p2371-2180, tegra210-p3450-0000, tegra30-cardhu-a04
Tested-by: Jon Hunter jonathanh@nvidia.com
Jon
On Wed, 5 Oct 2022 at 17:03, Greg Kroah-Hartman gregkh@linuxfoundation.org wrote:
This is the start of the stable review cycle for the 5.4.217 release. There are 51 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 Fri, 07 Oct 2022 11:31:56 +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.217-rc1... 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
Results from Linaro's test farm. No regressions on arm64, arm, x86_64, and i386.
Tested-by: Linux Kernel Functional Testing lkft@linaro.org
NOTE: Daniel already reported build warnings on x86.
## Build * kernel: 5.4.217-rc1 * git: https://gitlab.com/Linaro/lkft/mirrors/stable/linux-stable-rc * git branch: linux-5.4.y * git commit: 6376bfa24632084363dcc5cd0cc8c5a1fdd4a721 * git describe: v5.4.215-83-g6376bfa24632 * test details: https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-5.4.y/build/v5.4.21...
## No Test Regressions (compared to v5.4.215-31-gd69f2dcfc489)
## No Metric Regressions (compared to v5.4.215-31-gd69f2dcfc489)
## No Test Fixes (compared to v5.4.215-31-gd69f2dcfc489)
## No Metric Fixes (compared to v5.4.215-31-gd69f2dcfc489)
## Test result summary total: 95584, pass: 83145, fail: 750, skip: 11283, xfail: 406
## Build Summary * arc: 10 total, 10 passed, 0 failed * arm: 329 total, 327 passed, 2 failed * arm64: 60 total, 55 passed, 5 failed * i386: 31 total, 29 passed, 2 failed * mips: 56 total, 53 passed, 3 failed * parisc: 12 total, 12 passed, 0 failed * powerpc: 61 total, 57 passed, 4 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 * 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 * rcutorture * v4l2-compliance * vdso
-- Linaro LKFT https://lkft.linaro.org
On 10/5/22 at 7:31 AM, Greg Kroah-Hartman wrote:
This is the start of the stable review cycle for the 5.4.217 release. There are 51 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 Fri, 07 Oct 2022 11:31:56 +0000. Anything received after that time might be too late.
5.4.217-rc1 compiled and booted with no errors or regressions on my x86_64 test system.
Tested-by: Slade Watkins srw@sladewatkins.net
-srw
This is the start of the stable review cycle for the 5.4.217 release. There are 51 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 Fri, 07 Oct 2022 11:31:56 +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.217-rc1... 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
compiled and booted with no errors or regressions on x86_64 & ARM64 test systems.
Tested-by: Allen Pais apais@linux.microsoft.com
On 2022/10/5 19:31, Greg Kroah-Hartman wrote:
This is the start of the stable review cycle for the 5.4.217 release. There are 51 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 Fri, 07 Oct 2022 11:31:56 +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.217-rc1... 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
Tested on arm64 and x86 for 5.4.217-rc1,
Kernel repo:https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git Branch: linux-5.4.y Version: 5.4.217-rc1 Commit: 6376bfa24632084363dcc5cd0cc8c5a1fdd4a72 Compiler: gcc version 7.3.0 (GCC)
arm64: -------------------------------------------------------------------- Testcase Result Summary: total: 9017 passed: 9017 failed: 0 timeout: 0 --------------------------------------------------------------------
x86: -------------------------------------------------------------------- Testcase Result Summary: total: 9017 passed: 9017 failed: 0 timeout: 0 -------------------------------------------------------------------- Tested-by: Hulk Robot hulkrobot@huawei.com