!231 [sync] PR-230: fix mkfds-rw-character-device and mkfds-ro-regular-file test failed

From: @openeuler-sync-bot 
Reviewed-by: @dillon_chen 
Signed-off-by: @dillon_chen
This commit is contained in:
openeuler-ci-bot 2024-04-16 08:57:28 +00:00 committed by Gitee
commit 5d59161006
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
3 changed files with 115 additions and 1 deletions

View File

@ -0,0 +1,65 @@
From d4dea14933bc3ee750d6762a6f615d2a4fe24c34 Mon Sep 17 00:00:00 2001
From: Masatake YAMATO <yamato@redhat.com>
Date: Wed, 10 Apr 2024 18:36:47 +0900
Subject: [PATCH] tests: (functions.sh) add a helper funcion making a device
number from given major and minor nums
Fixes #2919.
Suggested by Karel Zak <kzak@redhat.com>.
The original code used an obsolete formula to make a device number from
given major and minor numbers.
ts_device_make is a new helper function based on the formula of
__SYSMACROS_DEFINE_MAKEDEV macro defined in
/usr/include/bits/sysmacros.h of GNU libc.
Suggested by Karel Zak <kzak@redhat.com> in #2919.
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
---
tests/functions.sh | 15 +++++++++++++++
tests/ts/lsfd/lsfd-functions.bash | 2 +-
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/tests/functions.sh b/tests/functions.sh
index 5fe5ba07f..4a00b2ff4 100644
--- a/tests/functions.sh
+++ b/tests/functions.sh
@@ -788,6 +788,21 @@ function ts_device_has {
return $res
}
+# Based on __SYSMACROS_DEFINE_MAKEDEV macro
+# defined in /usr/include/bits/sysmacros.h of GNU libc.
+function ts_makedev
+{
+ local major="$1"
+ local minor="$2"
+ local dev
+
+ dev=$(( ( major & 0x00000fff ) << 8))
+ dev=$((dev | ( major & 0xfffff000 ) << 32))
+ dev=$((dev | ( minor & 0x000000ff ) << 0))
+ dev=$((dev | ( minor & 0xffffff00 ) << 12))
+ echo $dev
+}
+
function ts_is_uuid()
{
printf "%s\n" "$1" | grep -E -q '^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$'
diff --git a/tests/ts/lsfd/lsfd-functions.bash b/tests/ts/lsfd/lsfd-functions.bash
index 3a3f58f0c..533c25fae 100644
--- a/tests/ts/lsfd/lsfd-functions.bash
+++ b/tests/ts/lsfd/lsfd-functions.bash
@@ -44,7 +44,7 @@ function lsfd_compare_dev {
echo 'DEV[RUN]:' $?
local MAJ=${DEV%:*}
local MIN=${DEV#*:}
- local DEVNUM=$(( ( MAJ << 8 ) + MIN ))
+ local DEVNUM=$(ts_makedev "$MAJ" "$MIN")
local STAT_DEVNUM=$(stat -c "%d" "$FILE")
echo 'STAT[RUN]:' $?
if [ "${DEVNUM}" == "${STAT_DEVNUM}" ]; then
--
2.33.0

View File

@ -0,0 +1,41 @@
From 5aa0c75c78dfb6a0c9851b348ba778149a4550a5 Mon Sep 17 00:00:00 2001
From: Masatake YAMATO <yamato@redhat.com>
Date: Thu, 11 Apr 2024 11:49:21 +0900
Subject: [PATCH] tests: (lsfd) don't refer "$?" on the line follwoing the use
of "local"
Suggested by ShellCheck.
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
---
tests/ts/lsfd/lsfd-functions.bash | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/tests/ts/lsfd/lsfd-functions.bash b/tests/ts/lsfd/lsfd-functions.bash
index 533c25fae..9c2eb0785 100644
--- a/tests/ts/lsfd/lsfd-functions.bash
+++ b/tests/ts/lsfd/lsfd-functions.bash
@@ -40,13 +40,18 @@ function lsfd_compare_dev {
ts_check_prog "expr"
ts_check_prog "stat"
- local DEV=$("${LSFD}" --raw -n -o DEV -Q "${EXPR}")
+ local DEV
+ DEV=$("${LSFD}" --raw -n -o DEV -Q "${EXPR}")
echo 'DEV[RUN]:' $?
+
local MAJ=${DEV%:*}
local MIN=${DEV#*:}
local DEVNUM=$(ts_makedev "$MAJ" "$MIN")
- local STAT_DEVNUM=$(stat -c "%d" "$FILE")
+
+ local STAT_DEVNUM
+ STAT_DEVNUM=$(stat -c "%d" "$FILE")
echo 'STAT[RUN]:' $?
+
if [ "${DEVNUM}" == "${STAT_DEVNUM}" ]; then
echo 'DEVNUM[STR]:' 0
else
--
2.33.0

View File

@ -3,7 +3,7 @@
Name: util-linux
Version: 2.39.1
Release: 5
Release: 6
Summary: A random collection of Linux utilities
License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain
URL: https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git
@ -28,6 +28,8 @@ Patch6006: backport-fadvise-test-test-with-64k-blocks.patch
Patch6007: backport-tests-lsfd-mkfds-alter-the-L4-ports-for-avo.patch
Patch6008: backport-CVE-2024-28085.patch
Patch6009: backport-tests-test_mkfds-netlink-pass-a-correct-file-descrip.patch
Patch6010: backport-tests-functions.sh-add-a-helper-funcion-making-a-dev.patch
Patch6011: backport-tests-lsfd-don-t-refer-on-the-line-follwoing-the-use.patch
Patch9000: SKIPPED-no-root-permissions-test.patch
%ifarch sw_64
@ -412,6 +414,12 @@ fi
%endif
%changelog
* Mon Apr 15 2024 zhangyao <zhangyao108@huawei.com> - 2.39.1-6
- Type:bugfix
- CVE:NA
- SUG:NA
- DESC:fix mkfds-rw-character-device and mkfds-ro-regular-file test failed
* Sun Apr 7 2024 zhangyao <zhangyao108@huawei.com> - 2.39.1-5
- Type:CVE
- CVE:CVE-2024-28085