import util-linux-2.37.4-9.el9
This commit is contained in:
parent
a830048682
commit
10c7f081a4
28
SOURCES/0010-lslogins-remove-unexpected-debug-message.patch
Normal file
28
SOURCES/0010-lslogins-remove-unexpected-debug-message.patch
Normal file
@ -0,0 +1,28 @@
|
||||
From 097fc3427d3221d763f0b1c41923758af2f471a3 Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Thu, 21 Jul 2022 10:57:36 +0200
|
||||
Subject: lslogins: remove unexpected debug message
|
||||
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2094216
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
login-utils/lslogins.c | 3 ---
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff --git a/login-utils/lslogins.c b/login-utils/lslogins.c
|
||||
index 9431a50bb..c37df9096 100644
|
||||
--- a/login-utils/lslogins.c
|
||||
+++ b/login-utils/lslogins.c
|
||||
@@ -562,9 +562,6 @@ static int get_sgroups(gid_t **list, size_t *len, struct passwd *pwd)
|
||||
|
||||
*list = xcalloc(1, ngroups * sizeof(gid_t));
|
||||
|
||||
-fprintf(stderr, "KZAK>>> alloc '%p' for %s\n", *list, pwd->pw_name);
|
||||
-
|
||||
-
|
||||
/* now for the actual list of GIDs */
|
||||
if (-1 == getgrouplist(pwd->pw_name, pwd->pw_gid, *list, &ngroups))
|
||||
return -1;
|
||||
--
|
||||
2.36.1
|
||||
|
92
SOURCES/0011-lslogins-improve-prefixes-interpretation.patch
Normal file
92
SOURCES/0011-lslogins-improve-prefixes-interpretation.patch
Normal file
@ -0,0 +1,92 @@
|
||||
From 53339f53ab71c138578d4102a4e4011344d33b2d Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Tue, 7 Jun 2022 09:11:56 +0200
|
||||
Subject: lslogins: improve prefixes interpretation
|
||||
|
||||
It seems that for example 'passwd --lock' uses two exclamation marks
|
||||
in password field. It seems better to assume arbitrary number of '!'
|
||||
and '*' prefixes.
|
||||
|
||||
The patch also makes description of the PWD-EMPTY output field more
|
||||
explicit.
|
||||
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/c51cba1e838ae7e36a843ec785543492bb8737cd
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2094216
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
login-utils/lslogins.c | 33 ++++++++++++++++++++++++++-------
|
||||
1 file changed, 26 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/login-utils/lslogins.c b/login-utils/lslogins.c
|
||||
index c37df9096..1332a9925 100644
|
||||
--- a/login-utils/lslogins.c
|
||||
+++ b/login-utils/lslogins.c
|
||||
@@ -225,7 +225,7 @@ static const struct lslogins_coldesc coldescs[] =
|
||||
{
|
||||
[COL_USER] = { "USER", N_("user name"), N_("Username"), 0.1, SCOLS_FL_NOEXTREMES },
|
||||
[COL_UID] = { "UID", N_("user ID"), "UID", 1, SCOLS_FL_RIGHT},
|
||||
- [COL_PWDEMPTY] = { "PWD-EMPTY", N_("password not required"), N_("Password not required"), 1, SCOLS_FL_RIGHT },
|
||||
+ [COL_PWDEMPTY] = { "PWD-EMPTY", N_("password not defined"), N_("Password not required (empty)"), 1, SCOLS_FL_RIGHT },
|
||||
[COL_PWDDENY] = { "PWD-DENY", N_("login by password disabled"), N_("Login by password disabled"), 1, SCOLS_FL_RIGHT },
|
||||
[COL_PWDLOCK] = { "PWD-LOCK", N_("password defined, but locked"), N_("Password is locked"), 1, SCOLS_FL_RIGHT },
|
||||
[COL_PWDMETHOD] = { "PWD-METHOD", N_("password encryption method"), N_("Password encryption method"), 0.1 },
|
||||
@@ -817,23 +817,42 @@ static struct lslogins_user *get_user_info(struct lslogins_control *ctl, const c
|
||||
break;
|
||||
case COL_PWDEMPTY:
|
||||
if (shadow) {
|
||||
- if (!*shadow->sp_pwdp) /* '\0' */
|
||||
+ const char *p = shadow->sp_pwdp;
|
||||
+
|
||||
+ while (p && (*p == '!' || *p == '*'))
|
||||
+ p++;
|
||||
+
|
||||
+ if (!p || !*p)
|
||||
user->pwd_empty = STATUS_TRUE;
|
||||
} else
|
||||
user->pwd_empty = STATUS_UNKNOWN;
|
||||
break;
|
||||
case COL_PWDDENY:
|
||||
if (shadow) {
|
||||
- if ((*shadow->sp_pwdp == '!' ||
|
||||
- *shadow->sp_pwdp == '*') &&
|
||||
- !valid_pwd(shadow->sp_pwdp + 1))
|
||||
+ const char *p = shadow->sp_pwdp;
|
||||
+
|
||||
+ while (p && (*p == '!' || *p == '*'))
|
||||
+ p++;
|
||||
+
|
||||
+ if (p && *p && p != shadow->sp_pwdp && !valid_pwd(p))
|
||||
user->pwd_deny = STATUS_TRUE;
|
||||
} else
|
||||
user->pwd_deny = STATUS_UNKNOWN;
|
||||
break;
|
||||
case COL_PWDLOCK:
|
||||
if (shadow) {
|
||||
- if (*shadow->sp_pwdp == '!' && valid_pwd(shadow->sp_pwdp + 1))
|
||||
+ const char *p = shadow->sp_pwdp;
|
||||
+ int i = 0;
|
||||
+
|
||||
+ /* 'passwd --lock' uses two exclamation marks,
|
||||
+ * shadow(5) describes the lock as "field which
|
||||
+ * starts with an exclamation mark". Let's
|
||||
+ * support more '!' ...
|
||||
+ */
|
||||
+ while (p && *p == '!')
|
||||
+ p++, i++;
|
||||
+
|
||||
+ if (i != 0 && (!*p || valid_pwd(p)))
|
||||
user->pwd_lock = STATUS_TRUE;
|
||||
} else
|
||||
user->pwd_lock = STATUS_UNKNOWN;
|
||||
@@ -842,7 +861,7 @@ static struct lslogins_user *get_user_info(struct lslogins_control *ctl, const c
|
||||
if (shadow) {
|
||||
const char *p = shadow->sp_pwdp;
|
||||
|
||||
- if (*p == '!' || *p == '*')
|
||||
+ while (p && (*p == '!' || *p == '*'))
|
||||
p++;
|
||||
user->pwd_method = get_pwd_method(p, NULL, NULL);
|
||||
} else
|
||||
--
|
||||
2.36.1
|
||||
|
38
SOURCES/0012-lslogins-fix-free-invalid-pointer.patch
Normal file
38
SOURCES/0012-lslogins-fix-free-invalid-pointer.patch
Normal file
@ -0,0 +1,38 @@
|
||||
From c269e116ea4d9e96a5f5801aecf1f624199fa6ec Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Tue, 7 Jun 2022 09:46:54 +0200
|
||||
Subject: lslogins: fix free(): invalid pointer
|
||||
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/890d4d3f236e2d28db35ea9bc9dc3e5e35db975c
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2094216
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
login-utils/lslogins.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/login-utils/lslogins.c b/login-utils/lslogins.c
|
||||
index 1332a9925..ff4386d1b 100644
|
||||
--- a/login-utils/lslogins.c
|
||||
+++ b/login-utils/lslogins.c
|
||||
@@ -488,7 +488,7 @@ static int parse_utmpx(const char *path, size_t *nrecords, struct utmpx **record
|
||||
|
||||
/* optimize allocation according to file size, the realloc() below is
|
||||
* just fallback only */
|
||||
- if (stat(path, &st) == 0 && (size_t) st.st_size > sizeof(struct utmpx)) {
|
||||
+ if (stat(path, &st) == 0 && (size_t) st.st_size >= sizeof(struct utmpx)) {
|
||||
imax = st.st_size / sizeof(struct utmpx);
|
||||
ary = xmalloc(imax * sizeof(struct utmpx));
|
||||
}
|
||||
@@ -1007,6 +1007,9 @@ static void free_ctl(struct lslogins_control *ctl)
|
||||
{
|
||||
size_t n = 0;
|
||||
|
||||
+ if (!ctl)
|
||||
+ return;
|
||||
+
|
||||
free(ctl->wtmp);
|
||||
free(ctl->btmp);
|
||||
|
||||
--
|
||||
2.36.1
|
||||
|
@ -0,0 +1,30 @@
|
||||
From 1c4ee8348e220b633d676214fd585ee2b3945cf6 Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Mon, 6 Jun 2022 16:14:14 +0200
|
||||
Subject: login-utils/logindefs: fix compiler warning
|
||||
[-Werror=format-truncation=]
|
||||
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/977f98ee34ca002cb5301c2d3a5953c754f813ec
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2094216
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
login-utils/logindefs.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/login-utils/logindefs.c b/login-utils/logindefs.c
|
||||
index 97150dc28..95631223a 100644
|
||||
--- a/login-utils/logindefs.c
|
||||
+++ b/login-utils/logindefs.c
|
||||
@@ -521,7 +521,8 @@ int get_hushlogin_status(struct passwd *pwd, int force_check)
|
||||
if (strlen(pwd->pw_dir) + strlen(file) + 2 > sizeof(buf))
|
||||
continue;
|
||||
|
||||
- sprintf(buf, "%s/%s", pwd->pw_dir, file);
|
||||
+ if (snprintf(buf, sizeof(buf), "%s/%s", pwd->pw_dir, file) < 0)
|
||||
+ continue;
|
||||
|
||||
if (force_check) {
|
||||
uid_t ruid = getuid();
|
||||
--
|
||||
2.36.1
|
||||
|
38
SOURCES/0014-uuidd-allow-AF_INET-in-systemd-service.patch
Normal file
38
SOURCES/0014-uuidd-allow-AF_INET-in-systemd-service.patch
Normal file
@ -0,0 +1,38 @@
|
||||
From 3ceddbb1238e13a51efbe23119c885568e820e69 Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Thu, 2 Jun 2022 16:55:49 +0200
|
||||
Subject: uuidd: allow AF_INET in systemd service
|
||||
|
||||
libuuid uses
|
||||
|
||||
socket(AF_INET, SOCK_DGRAM, IPPROTO_IP)
|
||||
|
||||
to get MAC address for time based UUIDs, but there is
|
||||
|
||||
RestrictAddressFamilies=AF_UNIX
|
||||
|
||||
in uuidd service file ...
|
||||
|
||||
Fixes: https://github.com/util-linux/util-linux/issues/1704
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/304b4dc4936b115ca33af5325c3b04d0997c1353
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2092943
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
misc-utils/uuidd.service.in | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/misc-utils/uuidd.service.in b/misc-utils/uuidd.service.in
|
||||
index e64ca59b5..64580287f 100644
|
||||
--- a/misc-utils/uuidd.service.in
|
||||
+++ b/misc-utils/uuidd.service.in
|
||||
@@ -16,7 +16,6 @@ PrivateUsers=yes
|
||||
ProtectKernelTunables=yes
|
||||
ProtectKernelModules=yes
|
||||
ProtectControlGroups=yes
|
||||
-RestrictAddressFamilies=AF_UNIX
|
||||
MemoryDenyWriteExecute=yes
|
||||
ReadWritePaths=/var/lib/libuuid/
|
||||
SystemCallFilter=@default @file-system @basic-io @system-service @signal @io-event @network-io
|
||||
--
|
||||
2.36.1
|
||||
|
@ -0,0 +1,28 @@
|
||||
From bf0cd2995c5e34338703105c62e49a785c6c9dcc Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Fri, 3 Jun 2022 09:07:09 +0200
|
||||
Subject: uuidd: remove also PrivateNetwork=yes from systemd service
|
||||
|
||||
Fixes: https://github.com/util-linux/util-linux/issues/1704
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2092943
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/c9671a3cf7738bb81e1cbef2f56485a36c6e7623
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
misc-utils/uuidd.service.in | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/misc-utils/uuidd.service.in b/misc-utils/uuidd.service.in
|
||||
index 64580287f..4ad6d97c9 100644
|
||||
--- a/misc-utils/uuidd.service.in
|
||||
+++ b/misc-utils/uuidd.service.in
|
||||
@@ -11,7 +11,6 @@ Group=uuidd
|
||||
ProtectSystem=strict
|
||||
ProtectHome=yes
|
||||
PrivateDevices=yes
|
||||
-PrivateNetwork=yes
|
||||
PrivateUsers=yes
|
||||
ProtectKernelTunables=yes
|
||||
ProtectKernelModules=yes
|
||||
--
|
||||
2.36.1
|
||||
|
31
SOURCES/0016-lsirq-improve-sort-IRQ.patch
Normal file
31
SOURCES/0016-lsirq-improve-sort-IRQ.patch
Normal file
@ -0,0 +1,31 @@
|
||||
From 338d5f2876c54e5d811100ba816d3a6dec00ab11 Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Fri, 29 Apr 2022 10:11:49 +0200
|
||||
Subject: lsirq: improve --sort IRQ
|
||||
|
||||
IRQ column mixes numbers and text, it seems better to use strverscmp()
|
||||
rather than classic strcmp().
|
||||
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2078787
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/d382861c0815ff241fb2844a2a896f0fb1c7b73e
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
sys-utils/irq-common.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sys-utils/irq-common.c b/sys-utils/irq-common.c
|
||||
index 350675394..22080b96d 100644
|
||||
--- a/sys-utils/irq-common.c
|
||||
+++ b/sys-utils/irq-common.c
|
||||
@@ -371,7 +371,7 @@ static inline int cmp_delta(const struct irq_info *a,
|
||||
static inline int cmp_interrupts(const struct irq_info *a,
|
||||
const struct irq_info *b)
|
||||
{
|
||||
- return (strcmp(a->irq, b->irq) > 0) ? 1 : 0;
|
||||
+ return (strverscmp(a->irq, b->irq) > 0) ? 1 : 0;
|
||||
}
|
||||
|
||||
static void sort_result(struct irq_output *out,
|
||||
--
|
||||
2.36.1
|
||||
|
@ -0,0 +1,28 @@
|
||||
From de0402358f6d363a57e6fef98c92a9eef5690cdd Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Mon, 6 Jun 2022 16:14:30 +0200
|
||||
Subject: irqtop: fix compiler warning [-Werror=format-truncation=]
|
||||
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/b7865ae165bb43b1626c6928250843cc2c96be57
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2078787
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
sys-utils/irq-common.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sys-utils/irq-common.c b/sys-utils/irq-common.c
|
||||
index 22080b96d..e39ef823c 100644
|
||||
--- a/sys-utils/irq-common.c
|
||||
+++ b/sys-utils/irq-common.c
|
||||
@@ -426,7 +426,7 @@ struct libscols_table *get_scols_cpus_table(struct irq_output *out,
|
||||
struct libscols_table *table;
|
||||
struct libscols_column *cl;
|
||||
struct libscols_line *ln;
|
||||
- char colname[sizeof(stringify_value(LONG_MAX))];
|
||||
+ char colname[sizeof("cpu") + sizeof(stringify_value(LONG_MAX))];
|
||||
size_t i;
|
||||
|
||||
if (prev) {
|
||||
--
|
||||
2.36.1
|
||||
|
34
SOURCES/0018-dmesg-fix-since-and-until.patch
Normal file
34
SOURCES/0018-dmesg-fix-since-and-until.patch
Normal file
@ -0,0 +1,34 @@
|
||||
From f45fe0768ac09cb5e05b095afa47a0a71e931f84 Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Wed, 20 Apr 2022 14:42:32 +0200
|
||||
Subject: dmesg: fix --since and --until
|
||||
|
||||
Now --since and --until requires any time field in the output (e.g.
|
||||
--ctime,-T), it means "dmesg --since '1 day ago'" doesn't work, but
|
||||
"dmesg -T --since '1 day ago'" works as expected.
|
||||
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2076829
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/c9667633f1f6b7a84116f2af067d1d15c72e6382
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
sys-utils/dmesg.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sys-utils/dmesg.c b/sys-utils/dmesg.c
|
||||
index d301951bb..5c580107a 100644
|
||||
--- a/sys-utils/dmesg.c
|
||||
+++ b/sys-utils/dmesg.c
|
||||
@@ -1539,7 +1539,9 @@ int main(int argc, char *argv[])
|
||||
|
||||
if ((is_timefmt(&ctl, RELTIME) ||
|
||||
is_timefmt(&ctl, CTIME) ||
|
||||
- is_timefmt(&ctl, ISO8601))) {
|
||||
+ is_timefmt(&ctl, ISO8601)) ||
|
||||
+ ctl.since ||
|
||||
+ ctl.until) {
|
||||
if (dmesg_get_boot_time(&ctl.boot_time) != 0)
|
||||
ctl.time_fmt = DMESG_TIMEFTM_NONE;
|
||||
else
|
||||
--
|
||||
2.36.1
|
||||
|
62
SOURCES/0019-libblkid-check-fsync-return-code.patch
Normal file
62
SOURCES/0019-libblkid-check-fsync-return-code.patch
Normal file
@ -0,0 +1,62 @@
|
||||
From f02e9004303df5ab3d9b868f6f60af44663cce69 Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Tue, 19 Apr 2022 09:44:07 +0200
|
||||
Subject: libblkid: check fsync() return code
|
||||
|
||||
Since 39f5af25982d8b0244000e92a9d0e0e6557d0e17 libblkid uses
|
||||
O_NONBLOCK. Now it's more obvious that check fsync() (and close())
|
||||
return value after write() is always a good idea ...
|
||||
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2074486
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/133a0d70f637b4f4e4337811e452153b04f2bdcf
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
libblkid/src/probe.c | 5 ++++-
|
||||
misc-utils/wipefs.c | 8 ++++++--
|
||||
2 files changed, 10 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/libblkid/src/probe.c b/libblkid/src/probe.c
|
||||
index 5f01bc3b3..d317dc19a 100644
|
||||
--- a/libblkid/src/probe.c
|
||||
+++ b/libblkid/src/probe.c
|
||||
@@ -1298,7 +1298,10 @@ int blkid_do_wipe(blkid_probe pr, int dryrun)
|
||||
/* wipen on device */
|
||||
if (write_all(fd, buf, len))
|
||||
return -1;
|
||||
- fsync(fd);
|
||||
+
|
||||
+ if (fsync(fd) != 0)
|
||||
+ return -1;
|
||||
+
|
||||
pr->flags &= ~BLKID_FL_MODIF_BUFF; /* be paranoid */
|
||||
|
||||
return blkid_probe_step_back(pr);
|
||||
diff --git a/misc-utils/wipefs.c b/misc-utils/wipefs.c
|
||||
index 78dc63ee7..f08a9ba4f 100644
|
||||
--- a/misc-utils/wipefs.c
|
||||
+++ b/misc-utils/wipefs.c
|
||||
@@ -615,7 +615,9 @@ static int do_wipe(struct wipe_control *ctl)
|
||||
if (need_force)
|
||||
warnx(_("Use the --force option to force erase."));
|
||||
|
||||
- fsync(blkid_probe_get_fd(pr));
|
||||
+ if (fsync(blkid_probe_get_fd(pr)) != 0)
|
||||
+ err(EXIT_FAILURE, _("%s: cannot flush modified buffers"),
|
||||
+ ctl->devname);
|
||||
|
||||
#ifdef BLKRRPART
|
||||
if (reread && (mode & O_EXCL)) {
|
||||
@@ -635,7 +637,9 @@ static int do_wipe(struct wipe_control *ctl)
|
||||
}
|
||||
#endif
|
||||
|
||||
- close(blkid_probe_get_fd(pr));
|
||||
+ if (close(blkid_probe_get_fd(pr)) != 0)
|
||||
+ err(EXIT_FAILURE, _("%s: close device failed"), ctl->devname);
|
||||
+
|
||||
blkid_free_probe(pr);
|
||||
free(backup);
|
||||
return 0;
|
||||
--
|
||||
2.36.1
|
||||
|
87
SOURCES/0020-libblkid-add-interface-for-FSSIZE-field.patch
Normal file
87
SOURCES/0020-libblkid-add-interface-for-FSSIZE-field.patch
Normal file
@ -0,0 +1,87 @@
|
||||
From 863ecca27cfc937bc6fb2131e0d0e35947e38ce6 Mon Sep 17 00:00:00 2001
|
||||
From: Andrey Albershteyn <aalbersh@redhat.com>
|
||||
Date: Mon, 25 Apr 2022 17:08:37 +0200
|
||||
Subject: libblkid: add interface for FSSIZE field
|
||||
|
||||
Add interface to let filesystem probe calculate and set FSSIZE.
|
||||
Enable that field in the 'superblocks' sample.
|
||||
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/ad08ae0aa
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2064810
|
||||
Signed-off-by: Andrey Albershteyn <aalbersh@redhat.com>
|
||||
---
|
||||
libblkid/samples/superblocks.c | 2 +-
|
||||
libblkid/src/blkid.h.in | 1 +
|
||||
libblkid/src/superblocks/superblocks.c | 11 +++++++++++
|
||||
libblkid/src/superblocks/superblocks.h | 1 +
|
||||
4 files changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libblkid/samples/superblocks.c b/libblkid/samples/superblocks.c
|
||||
index 7d9555771..38903ecee 100644
|
||||
--- a/libblkid/samples/superblocks.c
|
||||
+++ b/libblkid/samples/superblocks.c
|
||||
@@ -44,7 +44,7 @@ int main(int argc, char *argv[])
|
||||
BLKID_SUBLKS_UUID | BLKID_SUBLKS_UUIDRAW |
|
||||
BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE |
|
||||
BLKID_SUBLKS_USAGE | BLKID_SUBLKS_VERSION |
|
||||
- BLKID_SUBLKS_MAGIC);
|
||||
+ BLKID_SUBLKS_MAGIC | BLKID_SUBLKS_FSSIZE);
|
||||
|
||||
rc = blkid_do_safeprobe(pr);
|
||||
if (rc == -1)
|
||||
diff --git a/libblkid/src/blkid.h.in b/libblkid/src/blkid.h.in
|
||||
index 3cd4116d9..ad4becf0a 100644
|
||||
--- a/libblkid/src/blkid.h.in
|
||||
+++ b/libblkid/src/blkid.h.in
|
||||
@@ -281,6 +281,7 @@ extern int blkid_probe_enable_superblocks(blkid_probe pr, int enable)
|
||||
#define BLKID_SUBLKS_VERSION (1 << 8) /* read FS type from superblock */
|
||||
#define BLKID_SUBLKS_MAGIC (1 << 9) /* define SBMAGIC and SBMAGIC_OFFSET */
|
||||
#define BLKID_SUBLKS_BADCSUM (1 << 10) /* allow a bad checksum */
|
||||
+#define BLKID_SUBLKS_FSSIZE (1 << 11) /* read and define FSSIZE from superblock */
|
||||
|
||||
#define BLKID_SUBLKS_DEFAULT (BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID | \
|
||||
BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE)
|
||||
diff --git a/libblkid/src/superblocks/superblocks.c b/libblkid/src/superblocks/superblocks.c
|
||||
index f21365538..9adc2cfa3 100644
|
||||
--- a/libblkid/src/superblocks/superblocks.c
|
||||
+++ b/libblkid/src/superblocks/superblocks.c
|
||||
@@ -7,6 +7,7 @@
|
||||
* GNU Lesser General Public License.
|
||||
*/
|
||||
|
||||
+#include <inttypes.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
@@ -584,6 +585,16 @@ static int blkid_probe_set_usage(blkid_probe pr, int usage)
|
||||
return blkid_probe_set_value(pr, "USAGE", (unsigned char *) u, strlen(u) + 1);
|
||||
}
|
||||
|
||||
+int blkid_probe_set_fssize(blkid_probe pr, uint64_t size)
|
||||
+{
|
||||
+ struct blkid_chain *chn = blkid_probe_get_chain(pr);
|
||||
+
|
||||
+ if (!(chn->flags & BLKID_SUBLKS_FSSIZE))
|
||||
+ return 0;
|
||||
+
|
||||
+ return blkid_probe_sprintf_value(pr, "FSSIZE", "%" PRIu64, size);
|
||||
+}
|
||||
+
|
||||
int blkid_probe_set_id_label(blkid_probe pr, const char *name,
|
||||
const unsigned char *data, size_t len)
|
||||
{
|
||||
diff --git a/libblkid/src/superblocks/superblocks.h b/libblkid/src/superblocks/superblocks.h
|
||||
index 9c489c438..67803679f 100644
|
||||
--- a/libblkid/src/superblocks/superblocks.h
|
||||
+++ b/libblkid/src/superblocks/superblocks.h
|
||||
@@ -111,6 +111,7 @@ extern int blkid_probe_set_utf8_id_label(blkid_probe pr, const char *name,
|
||||
const unsigned char *data, size_t len, int enc);
|
||||
|
||||
int blkid_probe_set_block_size(blkid_probe pr, unsigned block_size);
|
||||
+int blkid_probe_set_fssize(blkid_probe pr, uint64_t size);
|
||||
|
||||
extern int blkid_probe_is_bitlocker(blkid_probe pr);
|
||||
extern int blkid_probe_is_ntfs(blkid_probe pr);
|
||||
--
|
||||
2.36.1
|
||||
|
@ -0,0 +1,45 @@
|
||||
From e81cc68312e91ab7086188542f3377605bf144a8 Mon Sep 17 00:00:00 2001
|
||||
From: Andrey Albershteyn <aalbersh@redhat.com>
|
||||
Date: Mon, 25 Apr 2022 17:08:38 +0200
|
||||
Subject: libblkid: implement FSSIZE calculation for XFS
|
||||
|
||||
The implementation is similar to one provided by statfs(2) + lsblk.
|
||||
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/d7ec8fe8e
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2064810
|
||||
Signed-off-by: Andrey Albershteyn <aalbersh@redhat.com>
|
||||
---
|
||||
libblkid/src/superblocks/xfs.c | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/libblkid/src/superblocks/xfs.c b/libblkid/src/superblocks/xfs.c
|
||||
index d8c6fb6d4..444050f55 100644
|
||||
--- a/libblkid/src/superblocks/xfs.c
|
||||
+++ b/libblkid/src/superblocks/xfs.c
|
||||
@@ -158,6 +158,15 @@ static int xfs_verify_sb(struct xfs_super_block *ondisk)
|
||||
return 1;
|
||||
}
|
||||
|
||||
+static uint64_t xfs_fssize(struct xfs_super_block *xs)
|
||||
+{
|
||||
+ uint32_t lsize = xs->sb_logstart ? xs->sb_logblocks : 0;
|
||||
+ uint64_t avail_blocks = be64_to_cpu(xs->sb_dblocks) - be32_to_cpu(lsize);
|
||||
+ uint64_t fssize = avail_blocks*be32_to_cpu(xs->sb_blocksize);
|
||||
+
|
||||
+ return fssize;
|
||||
+}
|
||||
+
|
||||
static int probe_xfs(blkid_probe pr, const struct blkid_idmag *mag)
|
||||
{
|
||||
struct xfs_super_block *xs;
|
||||
@@ -173,6 +182,7 @@ static int probe_xfs(blkid_probe pr, const struct blkid_idmag *mag)
|
||||
blkid_probe_set_label(pr, (unsigned char *) xs->sb_fname,
|
||||
sizeof(xs->sb_fname));
|
||||
blkid_probe_set_uuid(pr, xs->sb_uuid);
|
||||
+ blkid_probe_set_fssize(pr, xfs_fssize(xs));
|
||||
blkid_probe_set_block_size(pr, be16_to_cpu(xs->sb_sectsize));
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
2.36.1
|
||||
|
54
SOURCES/0022-blkid-add-FSSIZE-tag-with-tests-for-XFS.patch
Normal file
54
SOURCES/0022-blkid-add-FSSIZE-tag-with-tests-for-XFS.patch
Normal file
@ -0,0 +1,54 @@
|
||||
From d3d0e6dc70889e5fe9d9dfeab67e9ba1f0491a28 Mon Sep 17 00:00:00 2001
|
||||
From: Andrey Albershteyn <aalbersh@redhat.com>
|
||||
Date: Mon, 25 Apr 2022 17:08:39 +0200
|
||||
Subject: blkid: add FSSIZE tag with tests for XFS
|
||||
|
||||
The FSSIZE tag was added to the libblkid. Enable this tag in blkid
|
||||
and update tests golden output for XFS test cases.
|
||||
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/60cedc921
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2064810
|
||||
Signed-off-by: Andrey Albershteyn <aalbersh@redhat.com>
|
||||
---
|
||||
misc-utils/blkid.c | 3 ++-
|
||||
tests/expected/blkid/low-probe-xfs | 1 +
|
||||
tests/expected/blkid/low-probe-xfs-v5 | 1 +
|
||||
3 files changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/misc-utils/blkid.c b/misc-utils/blkid.c
|
||||
index cccd8af87..4f456be52 100644
|
||||
--- a/misc-utils/blkid.c
|
||||
+++ b/misc-utils/blkid.c
|
||||
@@ -892,7 +892,8 @@ int main(int argc, char **argv)
|
||||
blkid_probe_set_superblocks_flags(pr,
|
||||
BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID |
|
||||
BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE |
|
||||
- BLKID_SUBLKS_USAGE | BLKID_SUBLKS_VERSION);
|
||||
+ BLKID_SUBLKS_USAGE | BLKID_SUBLKS_VERSION |
|
||||
+ BLKID_SUBLKS_FSSIZE);
|
||||
|
||||
|
||||
if (fltr_usage &&
|
||||
diff --git a/tests/expected/blkid/low-probe-xfs b/tests/expected/blkid/low-probe-xfs
|
||||
index 6eb1b4600..a91e92bcc 100644
|
||||
--- a/tests/expected/blkid/low-probe-xfs
|
||||
+++ b/tests/expected/blkid/low-probe-xfs
|
||||
@@ -1,4 +1,5 @@
|
||||
ID_FS_BLOCK_SIZE=512
|
||||
+ID_FS_FSSIZE=11862016
|
||||
ID_FS_LABEL=test-xfs
|
||||
ID_FS_LABEL_ENC=test-xfs
|
||||
ID_FS_TYPE=xfs
|
||||
diff --git a/tests/expected/blkid/low-probe-xfs-v5 b/tests/expected/blkid/low-probe-xfs-v5
|
||||
index 513a3818f..129b41f26 100644
|
||||
--- a/tests/expected/blkid/low-probe-xfs-v5
|
||||
+++ b/tests/expected/blkid/low-probe-xfs-v5
|
||||
@@ -1,4 +1,5 @@
|
||||
ID_FS_BLOCK_SIZE=512
|
||||
+ID_FS_FSSIZE=17469440
|
||||
ID_FS_LABEL=test-xfs-v5
|
||||
ID_FS_LABEL_ENC=test-xfs-v5
|
||||
ID_FS_TYPE=xfs
|
||||
--
|
||||
2.36.1
|
||||
|
28
SOURCES/0023-libblkid-fix-FSSIZE-docs.patch
Normal file
28
SOURCES/0023-libblkid-fix-FSSIZE-docs.patch
Normal file
@ -0,0 +1,28 @@
|
||||
From 8ae64e23bc34fd939586705f64a93676bae8c2b2 Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Tue, 26 Apr 2022 10:32:05 +0200
|
||||
Subject: libblkid: fix FSSIZE docs
|
||||
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/9c01f798f
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2064810
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
libblkid/src/superblocks/superblocks.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libblkid/src/superblocks/superblocks.c b/libblkid/src/superblocks/superblocks.c
|
||||
index 9adc2cfa3..adf4ee025 100644
|
||||
--- a/libblkid/src/superblocks/superblocks.c
|
||||
+++ b/libblkid/src/superblocks/superblocks.c
|
||||
@@ -66,7 +66,7 @@
|
||||
*
|
||||
* @SBMAGIC_OFFSET: offset of SBMAGIC
|
||||
*
|
||||
- * @FSSIZE: size of filesystem [not-implemented yet]
|
||||
+ * @FSSIZE: size of filesystem (implemented for XFS only)
|
||||
*
|
||||
* @SYSTEM_ID: ISO9660 system identifier
|
||||
*
|
||||
--
|
||||
2.36.1
|
||||
|
@ -0,0 +1,113 @@
|
||||
From fb9ea75a8a69b06eb6a4039b841ce3ccabb76775 Mon Sep 17 00:00:00 2001
|
||||
From: Andrey Albershteyn <aalbersh@redhat.com>
|
||||
Date: Wed, 27 Apr 2022 13:24:56 +0200
|
||||
Subject: libblkid: add FSLASTBLOCK field interface showing area occupied by fs
|
||||
|
||||
Add interface to let filesystem set FSLASTBLOCK which is basically
|
||||
total number of fsblocks (area occupied by fs). Enable that field in
|
||||
the 'superblocks' sample.
|
||||
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/b7cb26ec3
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2064810
|
||||
Signed-off-by: Andrey Albershteyn <aalbersh@redhat.com>
|
||||
---
|
||||
libblkid/samples/superblocks.c | 3 ++-
|
||||
libblkid/src/blkid.h.in | 23 ++++++++++++-----------
|
||||
libblkid/src/superblocks/superblocks.c | 13 +++++++++++++
|
||||
libblkid/src/superblocks/superblocks.h | 1 +
|
||||
4 files changed, 28 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/libblkid/samples/superblocks.c b/libblkid/samples/superblocks.c
|
||||
index 38903ecee..b7f94ec14 100644
|
||||
--- a/libblkid/samples/superblocks.c
|
||||
+++ b/libblkid/samples/superblocks.c
|
||||
@@ -44,7 +44,8 @@ int main(int argc, char *argv[])
|
||||
BLKID_SUBLKS_UUID | BLKID_SUBLKS_UUIDRAW |
|
||||
BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE |
|
||||
BLKID_SUBLKS_USAGE | BLKID_SUBLKS_VERSION |
|
||||
- BLKID_SUBLKS_MAGIC | BLKID_SUBLKS_FSSIZE);
|
||||
+ BLKID_SUBLKS_MAGIC | BLKID_SUBLKS_FSSIZE |
|
||||
+ BLKID_SUBLKS_FSLASTBLOCK);
|
||||
|
||||
rc = blkid_do_safeprobe(pr);
|
||||
if (rc == -1)
|
||||
diff --git a/libblkid/src/blkid.h.in b/libblkid/src/blkid.h.in
|
||||
index ad4becf0a..56e64f9ab 100644
|
||||
--- a/libblkid/src/blkid.h.in
|
||||
+++ b/libblkid/src/blkid.h.in
|
||||
@@ -271,17 +271,18 @@ extern int blkid_superblocks_get_name(size_t idx, const char **name, int *usage)
|
||||
extern int blkid_probe_enable_superblocks(blkid_probe pr, int enable)
|
||||
__ul_attribute__((nonnull));
|
||||
|
||||
-#define BLKID_SUBLKS_LABEL (1 << 1) /* read LABEL from superblock */
|
||||
-#define BLKID_SUBLKS_LABELRAW (1 << 2) /* read and define LABEL_RAW result value*/
|
||||
-#define BLKID_SUBLKS_UUID (1 << 3) /* read UUID from superblock */
|
||||
-#define BLKID_SUBLKS_UUIDRAW (1 << 4) /* read and define UUID_RAW result value */
|
||||
-#define BLKID_SUBLKS_TYPE (1 << 5) /* define TYPE result value */
|
||||
-#define BLKID_SUBLKS_SECTYPE (1 << 6) /* define compatible fs type (second type) */
|
||||
-#define BLKID_SUBLKS_USAGE (1 << 7) /* define USAGE result value */
|
||||
-#define BLKID_SUBLKS_VERSION (1 << 8) /* read FS type from superblock */
|
||||
-#define BLKID_SUBLKS_MAGIC (1 << 9) /* define SBMAGIC and SBMAGIC_OFFSET */
|
||||
-#define BLKID_SUBLKS_BADCSUM (1 << 10) /* allow a bad checksum */
|
||||
-#define BLKID_SUBLKS_FSSIZE (1 << 11) /* read and define FSSIZE from superblock */
|
||||
+#define BLKID_SUBLKS_LABEL (1 << 1) /* read LABEL from superblock */
|
||||
+#define BLKID_SUBLKS_LABELRAW (1 << 2) /* read and define LABEL_RAW result value*/
|
||||
+#define BLKID_SUBLKS_UUID (1 << 3) /* read UUID from superblock */
|
||||
+#define BLKID_SUBLKS_UUIDRAW (1 << 4) /* read and define UUID_RAW result value */
|
||||
+#define BLKID_SUBLKS_TYPE (1 << 5) /* define TYPE result value */
|
||||
+#define BLKID_SUBLKS_SECTYPE (1 << 6) /* define compatible fs type (second type) */
|
||||
+#define BLKID_SUBLKS_USAGE (1 << 7) /* define USAGE result value */
|
||||
+#define BLKID_SUBLKS_VERSION (1 << 8) /* read FS type from superblock */
|
||||
+#define BLKID_SUBLKS_MAGIC (1 << 9) /* define SBMAGIC and SBMAGIC_OFFSET */
|
||||
+#define BLKID_SUBLKS_BADCSUM (1 << 10) /* allow a bad checksum */
|
||||
+#define BLKID_SUBLKS_FSSIZE (1 << 11) /* read and define FSSIZE from superblock */
|
||||
+#define BLKID_SUBLKS_FSLASTBLOCK (1 << 12) /* read and define FSLASTBLOCK from superblock */
|
||||
|
||||
#define BLKID_SUBLKS_DEFAULT (BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID | \
|
||||
BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE)
|
||||
diff --git a/libblkid/src/superblocks/superblocks.c b/libblkid/src/superblocks/superblocks.c
|
||||
index adf4ee025..5b899a830 100644
|
||||
--- a/libblkid/src/superblocks/superblocks.c
|
||||
+++ b/libblkid/src/superblocks/superblocks.c
|
||||
@@ -68,6 +68,8 @@
|
||||
*
|
||||
* @FSSIZE: size of filesystem (implemented for XFS only)
|
||||
*
|
||||
+ * @FSLASTBLOCK: last fsblock/total number of fsblocks
|
||||
+ *
|
||||
* @SYSTEM_ID: ISO9660 system identifier
|
||||
*
|
||||
* @PUBLISHER_ID: ISO9660 publisher identifier
|
||||
@@ -595,6 +597,17 @@ int blkid_probe_set_fssize(blkid_probe pr, uint64_t size)
|
||||
return blkid_probe_sprintf_value(pr, "FSSIZE", "%" PRIu64, size);
|
||||
}
|
||||
|
||||
+int blkid_probe_set_fslastblock(blkid_probe pr, uint64_t lastblock)
|
||||
+{
|
||||
+ struct blkid_chain *chn = blkid_probe_get_chain(pr);
|
||||
+
|
||||
+ if (!(chn->flags & BLKID_SUBLKS_FSLASTBLOCK))
|
||||
+ return 0;
|
||||
+
|
||||
+ return blkid_probe_sprintf_value(pr, "FSLASTBLOCK", "%" PRIu64,
|
||||
+ lastblock);
|
||||
+}
|
||||
+
|
||||
int blkid_probe_set_id_label(blkid_probe pr, const char *name,
|
||||
const unsigned char *data, size_t len)
|
||||
{
|
||||
diff --git a/libblkid/src/superblocks/superblocks.h b/libblkid/src/superblocks/superblocks.h
|
||||
index 67803679f..251e2e386 100644
|
||||
--- a/libblkid/src/superblocks/superblocks.h
|
||||
+++ b/libblkid/src/superblocks/superblocks.h
|
||||
@@ -112,6 +112,7 @@ extern int blkid_probe_set_utf8_id_label(blkid_probe pr, const char *name,
|
||||
|
||||
int blkid_probe_set_block_size(blkid_probe pr, unsigned block_size);
|
||||
int blkid_probe_set_fssize(blkid_probe pr, uint64_t size);
|
||||
+int blkid_probe_set_fslastblock(blkid_probe pr, uint64_t lastblock);
|
||||
|
||||
extern int blkid_probe_is_bitlocker(blkid_probe pr);
|
||||
extern int blkid_probe_is_ntfs(blkid_probe pr);
|
||||
--
|
||||
2.36.1
|
||||
|
@ -0,0 +1,86 @@
|
||||
From 9c7f3317fc66fe971a331dd71e76aff7ae091ab2 Mon Sep 17 00:00:00 2001
|
||||
From: Andrey Albershteyn <aalbersh@redhat.com>
|
||||
Date: Wed, 27 Apr 2022 14:46:33 +0200
|
||||
Subject: libblkid: add FSLASTBLOCK implementation for xfs, ext and btrfs
|
||||
|
||||
Implementation of FSLASTBLOCK for most common filesystems. Most of
|
||||
the fs store total number of reserved blocks in superblock.
|
||||
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/5f995b3f1
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2064810
|
||||
Signed-off-by: Andrey Albershteyn <aalbersh@redhat.com>
|
||||
---
|
||||
libblkid/src/superblocks/btrfs.c | 5 +++++
|
||||
libblkid/src/superblocks/ext.c | 10 ++++++++--
|
||||
libblkid/src/superblocks/xfs.c | 1 +
|
||||
3 files changed, 14 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libblkid/src/superblocks/btrfs.c b/libblkid/src/superblocks/btrfs.c
|
||||
index f0fde700d..9708f2e28 100644
|
||||
--- a/libblkid/src/superblocks/btrfs.c
|
||||
+++ b/libblkid/src/superblocks/btrfs.c
|
||||
@@ -76,6 +76,11 @@ static int probe_btrfs(blkid_probe pr, const struct blkid_idmag *mag)
|
||||
blkid_probe_set_uuid_as(pr, bfs->dev_item.uuid, "UUID_SUB");
|
||||
blkid_probe_set_block_size(pr, le32_to_cpu(bfs->sectorsize));
|
||||
|
||||
+ uint32_t sectorsize_log = 31 -
|
||||
+ __builtin_clz(le32_to_cpu(bfs->sectorsize));
|
||||
+ blkid_probe_set_fslastblock(pr,
|
||||
+ le64_to_cpu(bfs->total_bytes) >> sectorsize_log);
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
diff --git a/libblkid/src/superblocks/ext.c b/libblkid/src/superblocks/ext.c
|
||||
index 3870522fa..0b9023734 100644
|
||||
--- a/libblkid/src/superblocks/ext.c
|
||||
+++ b/libblkid/src/superblocks/ext.c
|
||||
@@ -164,10 +164,11 @@ static struct ext2_super_block *ext_get_super(
|
||||
static void ext_get_info(blkid_probe pr, int ver, struct ext2_super_block *es)
|
||||
{
|
||||
struct blkid_chain *chn = blkid_probe_get_chain(pr);
|
||||
+ uint32_t s_feature_incompat = le32_to_cpu(es->s_feature_incompat);
|
||||
|
||||
DBG(PROBE, ul_debug("ext2_sb.compat = %08X:%08X:%08X",
|
||||
le32_to_cpu(es->s_feature_compat),
|
||||
- le32_to_cpu(es->s_feature_incompat),
|
||||
+ s_feature_incompat,
|
||||
le32_to_cpu(es->s_feature_ro_compat)));
|
||||
|
||||
if (*es->s_volume_name != '\0')
|
||||
@@ -179,7 +180,7 @@ static void ext_get_info(blkid_probe pr, int ver, struct ext2_super_block *es)
|
||||
blkid_probe_set_uuid_as(pr, es->s_journal_uuid, "EXT_JOURNAL");
|
||||
|
||||
if (ver != 2 && (chn->flags & BLKID_SUBLKS_SECTYPE) &&
|
||||
- ((le32_to_cpu(es->s_feature_incompat) & EXT2_FEATURE_INCOMPAT_UNSUPPORTED) == 0))
|
||||
+ ((s_feature_incompat & EXT2_FEATURE_INCOMPAT_UNSUPPORTED) == 0))
|
||||
blkid_probe_set_value(pr, "SEC_TYPE",
|
||||
(unsigned char *) "ext2",
|
||||
sizeof("ext2"));
|
||||
@@ -190,6 +191,11 @@ static void ext_get_info(blkid_probe pr, int ver, struct ext2_super_block *es)
|
||||
|
||||
if (le32_to_cpu(es->s_log_block_size) < 32)
|
||||
blkid_probe_set_block_size(pr, 1024U << le32_to_cpu(es->s_log_block_size));
|
||||
+
|
||||
+ uint64_t fslastblock = le32_to_cpu(es->s_blocks_count) |
|
||||
+ ((s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) ?
|
||||
+ (uint64_t) le32_to_cpu(es->s_blocks_count_hi) << 32 : 0);
|
||||
+ blkid_probe_set_fslastblock(pr, fslastblock);
|
||||
}
|
||||
|
||||
|
||||
diff --git a/libblkid/src/superblocks/xfs.c b/libblkid/src/superblocks/xfs.c
|
||||
index 444050f55..1f2e92cac 100644
|
||||
--- a/libblkid/src/superblocks/xfs.c
|
||||
+++ b/libblkid/src/superblocks/xfs.c
|
||||
@@ -183,6 +183,7 @@ static int probe_xfs(blkid_probe pr, const struct blkid_idmag *mag)
|
||||
sizeof(xs->sb_fname));
|
||||
blkid_probe_set_uuid(pr, xs->sb_uuid);
|
||||
blkid_probe_set_fssize(pr, xfs_fssize(xs));
|
||||
+ blkid_probe_set_fslastblock(pr, be64_to_cpu(xs->sb_dblocks));
|
||||
blkid_probe_set_block_size(pr, be16_to_cpu(xs->sb_sectsize));
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
2.36.1
|
||||
|
146
SOURCES/0026-blkid-add-image-for-btrfs-testing.patch
Normal file
146
SOURCES/0026-blkid-add-image-for-btrfs-testing.patch
Normal file
@ -0,0 +1,146 @@
|
||||
From ab34732c0aaf7814393acbffa59cb82a79583e3d Mon Sep 17 00:00:00 2001
|
||||
From: Andrey Albershteyn <aalbersh@redhat.com>
|
||||
Date: Wed, 27 Apr 2022 17:29:27 +0200
|
||||
Subject: blkid: add image for btrfs testing
|
||||
|
||||
The btrfs is one of the popular filesystem which is supported by
|
||||
blkid. However, the image for 'low-probe' tests was missing. Add
|
||||
115M BTRFS default image (mkfs.btrfs btrfs.img).
|
||||
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/bf64c83ec
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2064810
|
||||
Signed-off-by: Andrey Albershteyn <aalbersh@redhat.com>
|
||||
---
|
||||
tests/expected/blkid/low-probe-btrfs | 7 +++++++
|
||||
tests/ts/blkid/images-fs/btrfs.img.xz | Bin 0 -> 21696 bytes
|
||||
2 files changed, 7 insertions(+)
|
||||
create mode 100644 tests/expected/blkid/low-probe-btrfs
|
||||
create mode 100644 tests/ts/blkid/images-fs/btrfs.img.xz
|
||||
|
||||
diff --git a/tests/expected/blkid/low-probe-btrfs b/tests/expected/blkid/low-probe-btrfs
|
||||
new file mode 100644
|
||||
index 000000000..509fac378
|
||||
--- /dev/null
|
||||
+++ b/tests/expected/blkid/low-probe-btrfs
|
||||
@@ -0,0 +1,7 @@
|
||||
+ID_FS_BLOCK_SIZE=4096
|
||||
+ID_FS_TYPE=btrfs
|
||||
+ID_FS_USAGE=filesystem
|
||||
+ID_FS_UUID=d4a78b72-55e4-4811-86a6-09af936d43f9
|
||||
+ID_FS_UUID_ENC=d4a78b72-55e4-4811-86a6-09af936d43f9
|
||||
+ID_FS_UUID_SUB=1e7603cb-d0be-4d8f-8972-9dddf7d5543c
|
||||
+ID_FS_UUID_SUB_ENC=1e7603cb-d0be-4d8f-8972-9dddf7d5543c
|
||||
diff --git a/tests/ts/blkid/images-fs/btrfs.img.xz b/tests/ts/blkid/images-fs/btrfs.img.xz
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..418833d42078492f0266d73b22170d5626b80cc0
|
||||
GIT binary patch
|
||||
literal 21696
|
||||
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
|
||||
|
||||
literal 0
|
||||
HcmV?d00001
|
||||
|
||||
--
|
||||
2.36.1
|
||||
|
94
SOURCES/0027-blkid-add-tests-for-FSLASTBLOCK-tag.patch
Normal file
94
SOURCES/0027-blkid-add-tests-for-FSLASTBLOCK-tag.patch
Normal file
@ -0,0 +1,94 @@
|
||||
From 96a699563b65b6a9204f2c3184faf1366155a614 Mon Sep 17 00:00:00 2001
|
||||
From: Andrey Albershteyn <aalbersh@redhat.com>
|
||||
Date: Wed, 27 Apr 2022 17:33:33 +0200
|
||||
Subject: blkid: add tests for FSLASTBLOCK tag
|
||||
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/800ed56f4
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2064810
|
||||
Signed-off-by: Andrey Albershteyn <aalbersh@redhat.com>
|
||||
---
|
||||
misc-utils/blkid.c | 2 +-
|
||||
tests/expected/blkid/low-probe-btrfs | 1 +
|
||||
tests/expected/blkid/low-probe-ext2 | 1 +
|
||||
tests/expected/blkid/low-probe-ext3 | 1 +
|
||||
tests/expected/blkid/low-probe-jbd | 1 +
|
||||
tests/expected/blkid/low-probe-xfs | 1 +
|
||||
tests/expected/blkid/low-probe-xfs-v5 | 1 +
|
||||
7 files changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/misc-utils/blkid.c b/misc-utils/blkid.c
|
||||
index 4f456be52..f2b190ce3 100644
|
||||
--- a/misc-utils/blkid.c
|
||||
+++ b/misc-utils/blkid.c
|
||||
@@ -893,7 +893,7 @@ int main(int argc, char **argv)
|
||||
BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID |
|
||||
BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE |
|
||||
BLKID_SUBLKS_USAGE | BLKID_SUBLKS_VERSION |
|
||||
- BLKID_SUBLKS_FSSIZE);
|
||||
+ BLKID_SUBLKS_FSSIZE | BLKID_SUBLKS_FSLASTBLOCK);
|
||||
|
||||
|
||||
if (fltr_usage &&
|
||||
diff --git a/tests/expected/blkid/low-probe-btrfs b/tests/expected/blkid/low-probe-btrfs
|
||||
index 509fac378..48649389a 100644
|
||||
--- a/tests/expected/blkid/low-probe-btrfs
|
||||
+++ b/tests/expected/blkid/low-probe-btrfs
|
||||
@@ -1,4 +1,5 @@
|
||||
ID_FS_BLOCK_SIZE=4096
|
||||
+ID_FS_FSLASTBLOCK=29440
|
||||
ID_FS_TYPE=btrfs
|
||||
ID_FS_USAGE=filesystem
|
||||
ID_FS_UUID=d4a78b72-55e4-4811-86a6-09af936d43f9
|
||||
diff --git a/tests/expected/blkid/low-probe-ext2 b/tests/expected/blkid/low-probe-ext2
|
||||
index 087da97a4..e236c6e8a 100644
|
||||
--- a/tests/expected/blkid/low-probe-ext2
|
||||
+++ b/tests/expected/blkid/low-probe-ext2
|
||||
@@ -1,4 +1,5 @@
|
||||
ID_FS_BLOCK_SIZE=1024
|
||||
+ID_FS_FSLASTBLOCK=100
|
||||
ID_FS_LABEL=test-ext2
|
||||
ID_FS_LABEL_ENC=test-ext2
|
||||
ID_FS_TYPE=ext2
|
||||
diff --git a/tests/expected/blkid/low-probe-ext3 b/tests/expected/blkid/low-probe-ext3
|
||||
index 8684884c1..164fefb7b 100644
|
||||
--- a/tests/expected/blkid/low-probe-ext3
|
||||
+++ b/tests/expected/blkid/low-probe-ext3
|
||||
@@ -1,4 +1,5 @@
|
||||
ID_FS_BLOCK_SIZE=1024
|
||||
+ID_FS_FSLASTBLOCK=2048
|
||||
ID_FS_LABEL=test-ext3
|
||||
ID_FS_LABEL_ENC=test-ext3
|
||||
ID_FS_SEC_TYPE=ext2
|
||||
diff --git a/tests/expected/blkid/low-probe-jbd b/tests/expected/blkid/low-probe-jbd
|
||||
index c9f9f6b79..f5462a2a3 100644
|
||||
--- a/tests/expected/blkid/low-probe-jbd
|
||||
+++ b/tests/expected/blkid/low-probe-jbd
|
||||
@@ -1,4 +1,5 @@
|
||||
ID_FS_BLOCK_SIZE=1024
|
||||
+ID_FS_FSLASTBLOCK=1024
|
||||
ID_FS_LOGUUID=0d7a07df-7b06-4829-bce7-3b9c3ece570c
|
||||
ID_FS_TYPE=jbd
|
||||
ID_FS_USAGE=other
|
||||
diff --git a/tests/expected/blkid/low-probe-xfs b/tests/expected/blkid/low-probe-xfs
|
||||
index a91e92bcc..be9c4194a 100644
|
||||
--- a/tests/expected/blkid/low-probe-xfs
|
||||
+++ b/tests/expected/blkid/low-probe-xfs
|
||||
@@ -1,4 +1,5 @@
|
||||
ID_FS_BLOCK_SIZE=512
|
||||
+ID_FS_FSLASTBLOCK=4096
|
||||
ID_FS_FSSIZE=11862016
|
||||
ID_FS_LABEL=test-xfs
|
||||
ID_FS_LABEL_ENC=test-xfs
|
||||
diff --git a/tests/expected/blkid/low-probe-xfs-v5 b/tests/expected/blkid/low-probe-xfs-v5
|
||||
index 129b41f26..fd2cba933 100644
|
||||
--- a/tests/expected/blkid/low-probe-xfs-v5
|
||||
+++ b/tests/expected/blkid/low-probe-xfs-v5
|
||||
@@ -1,4 +1,5 @@
|
||||
ID_FS_BLOCK_SIZE=512
|
||||
+ID_FS_FSLASTBLOCK=5120
|
||||
ID_FS_FSSIZE=17469440
|
||||
ID_FS_LABEL=test-xfs-v5
|
||||
ID_FS_LABEL_ENC=test-xfs-v5
|
||||
--
|
||||
2.36.1
|
||||
|
120
SOURCES/0028-libblkid-merge-FS-flags-into-one-FSINFO.patch
Normal file
120
SOURCES/0028-libblkid-merge-FS-flags-into-one-FSINFO.patch
Normal file
@ -0,0 +1,120 @@
|
||||
From f58a63a3d88cccd5fdf53ead425c5e8186f32cc1 Mon Sep 17 00:00:00 2001
|
||||
From: Andrey Albershteyn <aalbersh@redhat.com>
|
||||
Date: Mon, 2 May 2022 17:08:33 +0200
|
||||
Subject: libblkid: merge FS* flags into one FSINFO
|
||||
|
||||
Put BLOCK_SIZE, FSSIZE and FSLASTBLOCK tags under one FSINFO flag.
|
||||
These, and probably future ones, are read directly from the
|
||||
superblock (with minor post-processing). These properties are
|
||||
combined under one flag to escape adding a flag per superblock
|
||||
member.
|
||||
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/c9b2297eb
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2064810
|
||||
Signed-off-by: Andrey Albershteyn <aalbersh@redhat.com>
|
||||
---
|
||||
libblkid/samples/superblocks.c | 3 +--
|
||||
libblkid/src/blkid.h.in | 23 +++++++++++------------
|
||||
libblkid/src/superblocks/superblocks.c | 9 +++++++--
|
||||
misc-utils/blkid.c | 3 +--
|
||||
4 files changed, 20 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/libblkid/samples/superblocks.c b/libblkid/samples/superblocks.c
|
||||
index b7f94ec14..5253f9cc4 100644
|
||||
--- a/libblkid/samples/superblocks.c
|
||||
+++ b/libblkid/samples/superblocks.c
|
||||
@@ -44,8 +44,7 @@ int main(int argc, char *argv[])
|
||||
BLKID_SUBLKS_UUID | BLKID_SUBLKS_UUIDRAW |
|
||||
BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE |
|
||||
BLKID_SUBLKS_USAGE | BLKID_SUBLKS_VERSION |
|
||||
- BLKID_SUBLKS_MAGIC | BLKID_SUBLKS_FSSIZE |
|
||||
- BLKID_SUBLKS_FSLASTBLOCK);
|
||||
+ BLKID_SUBLKS_MAGIC | BLKID_SUBLKS_FSINFO);
|
||||
|
||||
rc = blkid_do_safeprobe(pr);
|
||||
if (rc == -1)
|
||||
diff --git a/libblkid/src/blkid.h.in b/libblkid/src/blkid.h.in
|
||||
index 56e64f9ab..ae4e555e3 100644
|
||||
--- a/libblkid/src/blkid.h.in
|
||||
+++ b/libblkid/src/blkid.h.in
|
||||
@@ -271,18 +271,17 @@ extern int blkid_superblocks_get_name(size_t idx, const char **name, int *usage)
|
||||
extern int blkid_probe_enable_superblocks(blkid_probe pr, int enable)
|
||||
__ul_attribute__((nonnull));
|
||||
|
||||
-#define BLKID_SUBLKS_LABEL (1 << 1) /* read LABEL from superblock */
|
||||
-#define BLKID_SUBLKS_LABELRAW (1 << 2) /* read and define LABEL_RAW result value*/
|
||||
-#define BLKID_SUBLKS_UUID (1 << 3) /* read UUID from superblock */
|
||||
-#define BLKID_SUBLKS_UUIDRAW (1 << 4) /* read and define UUID_RAW result value */
|
||||
-#define BLKID_SUBLKS_TYPE (1 << 5) /* define TYPE result value */
|
||||
-#define BLKID_SUBLKS_SECTYPE (1 << 6) /* define compatible fs type (second type) */
|
||||
-#define BLKID_SUBLKS_USAGE (1 << 7) /* define USAGE result value */
|
||||
-#define BLKID_SUBLKS_VERSION (1 << 8) /* read FS type from superblock */
|
||||
-#define BLKID_SUBLKS_MAGIC (1 << 9) /* define SBMAGIC and SBMAGIC_OFFSET */
|
||||
-#define BLKID_SUBLKS_BADCSUM (1 << 10) /* allow a bad checksum */
|
||||
-#define BLKID_SUBLKS_FSSIZE (1 << 11) /* read and define FSSIZE from superblock */
|
||||
-#define BLKID_SUBLKS_FSLASTBLOCK (1 << 12) /* read and define FSLASTBLOCK from superblock */
|
||||
+#define BLKID_SUBLKS_LABEL (1 << 1) /* read LABEL from superblock */
|
||||
+#define BLKID_SUBLKS_LABELRAW (1 << 2) /* read and define LABEL_RAW result value*/
|
||||
+#define BLKID_SUBLKS_UUID (1 << 3) /* read UUID from superblock */
|
||||
+#define BLKID_SUBLKS_UUIDRAW (1 << 4) /* read and define UUID_RAW result value */
|
||||
+#define BLKID_SUBLKS_TYPE (1 << 5) /* define TYPE result value */
|
||||
+#define BLKID_SUBLKS_SECTYPE (1 << 6) /* define compatible fs type (second type) */
|
||||
+#define BLKID_SUBLKS_USAGE (1 << 7) /* define USAGE result value */
|
||||
+#define BLKID_SUBLKS_VERSION (1 << 8) /* read FS type from superblock */
|
||||
+#define BLKID_SUBLKS_MAGIC (1 << 9) /* define SBMAGIC and SBMAGIC_OFFSET */
|
||||
+#define BLKID_SUBLKS_BADCSUM (1 << 10) /* allow a bad checksum */
|
||||
+#define BLKID_SUBLKS_FSINFO (1 << 11) /* read and define fs properties from superblock */
|
||||
|
||||
#define BLKID_SUBLKS_DEFAULT (BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID | \
|
||||
BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE)
|
||||
diff --git a/libblkid/src/superblocks/superblocks.c b/libblkid/src/superblocks/superblocks.c
|
||||
index 5b899a830..a1f42c611 100644
|
||||
--- a/libblkid/src/superblocks/superblocks.c
|
||||
+++ b/libblkid/src/superblocks/superblocks.c
|
||||
@@ -562,6 +562,11 @@ int blkid_probe_sprintf_version(blkid_probe pr, const char *fmt, ...)
|
||||
|
||||
int blkid_probe_set_block_size(blkid_probe pr, unsigned block_size)
|
||||
{
|
||||
+ struct blkid_chain *chn = blkid_probe_get_chain(pr);
|
||||
+
|
||||
+ if (!(chn->flags & BLKID_SUBLKS_FSINFO))
|
||||
+ return 0;
|
||||
+
|
||||
return blkid_probe_sprintf_value(pr, "BLOCK_SIZE", "%u", block_size);
|
||||
}
|
||||
|
||||
@@ -591,7 +596,7 @@ int blkid_probe_set_fssize(blkid_probe pr, uint64_t size)
|
||||
{
|
||||
struct blkid_chain *chn = blkid_probe_get_chain(pr);
|
||||
|
||||
- if (!(chn->flags & BLKID_SUBLKS_FSSIZE))
|
||||
+ if (!(chn->flags & BLKID_SUBLKS_FSINFO))
|
||||
return 0;
|
||||
|
||||
return blkid_probe_sprintf_value(pr, "FSSIZE", "%" PRIu64, size);
|
||||
@@ -601,7 +606,7 @@ int blkid_probe_set_fslastblock(blkid_probe pr, uint64_t lastblock)
|
||||
{
|
||||
struct blkid_chain *chn = blkid_probe_get_chain(pr);
|
||||
|
||||
- if (!(chn->flags & BLKID_SUBLKS_FSLASTBLOCK))
|
||||
+ if (!(chn->flags & BLKID_SUBLKS_FSINFO))
|
||||
return 0;
|
||||
|
||||
return blkid_probe_sprintf_value(pr, "FSLASTBLOCK", "%" PRIu64,
|
||||
diff --git a/misc-utils/blkid.c b/misc-utils/blkid.c
|
||||
index f2b190ce3..744151616 100644
|
||||
--- a/misc-utils/blkid.c
|
||||
+++ b/misc-utils/blkid.c
|
||||
@@ -893,8 +893,7 @@ int main(int argc, char **argv)
|
||||
BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID |
|
||||
BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE |
|
||||
BLKID_SUBLKS_USAGE | BLKID_SUBLKS_VERSION |
|
||||
- BLKID_SUBLKS_FSSIZE | BLKID_SUBLKS_FSLASTBLOCK);
|
||||
-
|
||||
+ BLKID_SUBLKS_FSINFO);
|
||||
|
||||
if (fltr_usage &&
|
||||
blkid_probe_filter_superblocks_usage(pr, fltr_flag, fltr_usage))
|
||||
--
|
||||
2.36.1
|
||||
|
1394
SOURCES/0029-libblkid-add-FSBLOCKSIZE-tag.patch
Normal file
1394
SOURCES/0029-libblkid-add-FSBLOCKSIZE-tag.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,32 @@
|
||||
From 5300d69be2919d0a50968377d23807831fdf3f71 Mon Sep 17 00:00:00 2001
|
||||
From: Andrey Albershteyn <aalbersh@redhat.com>
|
||||
Date: Fri, 27 May 2022 12:56:27 +0200
|
||||
Subject: libblkid: update documentation of BLOCK_SIZE tag
|
||||
|
||||
The name BLOCK_SIZE is unfortunate. This tag doesn't represent
|
||||
commonly used file system block size but minimal block size
|
||||
accessible by file system (sector size).
|
||||
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/895f0b609
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2064810
|
||||
Signed-off-by: Andrey Albershteyn <aalbersh@redhat.com>
|
||||
---
|
||||
libblkid/src/superblocks/superblocks.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libblkid/src/superblocks/superblocks.c b/libblkid/src/superblocks/superblocks.c
|
||||
index 9cfa991fc..9c32bc9d5 100644
|
||||
--- a/libblkid/src/superblocks/superblocks.c
|
||||
+++ b/libblkid/src/superblocks/superblocks.c
|
||||
@@ -80,7 +80,7 @@
|
||||
*
|
||||
* @BOOT_SYSTEM_ID: ISO9660 boot system identifier
|
||||
*
|
||||
- * @BLOCK_SIZE: block size
|
||||
+ * @BLOCK_SIZE: minimal block size accessible by file system
|
||||
*/
|
||||
|
||||
static int superblocks_probe(blkid_probe pr, struct blkid_chain *chn);
|
||||
--
|
||||
2.36.1
|
||||
|
@ -0,0 +1,28 @@
|
||||
From da3add097b70160cd2c6bab0a4acb699df07ebe8 Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Thu, 17 Mar 2022 10:48:33 +0100
|
||||
Subject: cfdisk: don't use NULL in printf [coverity scan]
|
||||
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/30cc5f5751698cccb625193f715f1a606a7f91b4
|
||||
Addresses: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=2109459
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
disk-utils/cfdisk.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/disk-utils/cfdisk.c b/disk-utils/cfdisk.c
|
||||
index c1b28889f..36eb3f8c6 100644
|
||||
--- a/disk-utils/cfdisk.c
|
||||
+++ b/disk-utils/cfdisk.c
|
||||
@@ -2080,7 +2080,7 @@ done:
|
||||
}
|
||||
free(cm);
|
||||
DBG(UI, ul_debug("get parrtype done [type=%s] ", t ?
|
||||
- fdisk_parttype_get_name(t) : NULL));
|
||||
+ fdisk_parttype_get_name(t) : ""));
|
||||
return t;
|
||||
}
|
||||
|
||||
--
|
||||
2.36.1
|
||||
|
@ -0,0 +1,28 @@
|
||||
From cee4a7f69d853fcc574241d394edc5bcb91469a5 Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Mon, 6 Jun 2022 16:19:16 +0200
|
||||
Subject: zramctl: fix compiler warning [-Werror=maybe-uninitialized]
|
||||
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/8883f037466a5534554d7d9114aceb740295ef20
|
||||
Addresses: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=2109459
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
sys-utils/zramctl.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sys-utils/zramctl.c b/sys-utils/zramctl.c
|
||||
index 003349fad..64d5fcd81 100644
|
||||
--- a/sys-utils/zramctl.c
|
||||
+++ b/sys-utils/zramctl.c
|
||||
@@ -291,7 +291,7 @@ static struct path_cxt *zram_get_control(void)
|
||||
|
||||
static int zram_control_add(struct zram *z)
|
||||
{
|
||||
- int n;
|
||||
+ int n = 0;
|
||||
struct path_cxt *ctl;
|
||||
|
||||
if (!zram_has_control(z) || !(ctl = zram_get_control()))
|
||||
--
|
||||
2.36.1
|
||||
|
@ -0,0 +1,46 @@
|
||||
From f6fffc1a89e57b7d5dd4adf1ee6b2146e58ec411 Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Thu, 17 Mar 2022 12:18:03 +0100
|
||||
Subject: lib/path: make ul_path_read_buffer() more robust [coverity scan]
|
||||
|
||||
Make sure we never call buf[rc - 1] for rc=0.
|
||||
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/ea459dcf95d0bb04c816b71d2b85fbcd8cfc5ee4
|
||||
Addresses: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=2109459
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
lib/path.c | 17 ++++++++++-------
|
||||
1 file changed, 10 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/lib/path.c b/lib/path.c
|
||||
index 21f9bd1c4..ab034e110 100644
|
||||
--- a/lib/path.c
|
||||
+++ b/lib/path.c
|
||||
@@ -666,14 +666,17 @@ int ul_path_readf_string(struct path_cxt *pc, char **str, const char *path, ...)
|
||||
int ul_path_read_buffer(struct path_cxt *pc, char *buf, size_t bufsz, const char *path)
|
||||
{
|
||||
int rc = ul_path_read(pc, buf, bufsz - 1, path);
|
||||
- if (rc < 0)
|
||||
- return rc;
|
||||
|
||||
- /* Remove tailing newline (usual in sysfs) */
|
||||
- if (rc > 0 && *(buf + rc - 1) == '\n')
|
||||
- buf[--rc] = '\0';
|
||||
- else
|
||||
- buf[rc - 1] = '\0';
|
||||
+ if (rc == 0)
|
||||
+ buf[0] = '\0';
|
||||
+
|
||||
+ else if (rc > 0) {
|
||||
+ /* Remove tailing newline (usual in sysfs) */
|
||||
+ if (*(buf + rc - 1) == '\n')
|
||||
+ buf[--rc] = '\0';
|
||||
+ else
|
||||
+ buf[rc - 1] = '\0';
|
||||
+ }
|
||||
|
||||
return rc;
|
||||
}
|
||||
--
|
||||
2.36.1
|
||||
|
27
SOURCES/0034-lslogins-improve-for-static-analyzer.patch
Normal file
27
SOURCES/0034-lslogins-improve-for-static-analyzer.patch
Normal file
@ -0,0 +1,27 @@
|
||||
From 53af90a8edf2e60342b477d28e0d802dc26f18b7 Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Tue, 9 Aug 2022 12:35:05 +0200
|
||||
Subject: lslogins: improve for static analyzer
|
||||
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2094216
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
login-utils/lslogins.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/login-utils/lslogins.c b/login-utils/lslogins.c
|
||||
index ff4386d1b..56431212d 100644
|
||||
--- a/login-utils/lslogins.c
|
||||
+++ b/login-utils/lslogins.c
|
||||
@@ -852,7 +852,7 @@ static struct lslogins_user *get_user_info(struct lslogins_control *ctl, const c
|
||||
while (p && *p == '!')
|
||||
p++, i++;
|
||||
|
||||
- if (i != 0 && (!*p || valid_pwd(p)))
|
||||
+ if (i != 0 && p && (!*p || valid_pwd(p)))
|
||||
user->pwd_lock = STATUS_TRUE;
|
||||
} else
|
||||
user->pwd_lock = STATUS_UNKNOWN;
|
||||
--
|
||||
2.37.1
|
||||
|
@ -0,0 +1,48 @@
|
||||
From 723438ad02928d9614439def99b36e0758f62d26 Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Fri, 12 Aug 2022 08:30:49 +0200
|
||||
Subject: tests: add udevadm settle to loop overlap test
|
||||
|
||||
Addresses: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=2117203
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
tests/ts/libmount/loop-overlay | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/tests/ts/libmount/loop-overlay b/tests/ts/libmount/loop-overlay
|
||||
index 62874a182..c27f60d0f 100755
|
||||
--- a/tests/ts/libmount/loop-overlay
|
||||
+++ b/tests/ts/libmount/loop-overlay
|
||||
@@ -43,22 +43,29 @@ dd if="$IMG" of="$IMG" oflag=append bs=1024k count=5 conv=notrunc &>/dev/null
|
||||
|
||||
echo "second should fail" >>$TS_OUTPUT
|
||||
$TS_CMD_MOUNT -oloop "$IMG" "$TS_MOUNTPOINT-1" >> $TS_OUTPUT 2>> $TS_ERRLOG
|
||||
+udevadm settle
|
||||
$TS_CMD_MOUNT -oloop,offset=$OFFSET "$IMG" "$TS_MOUNTPOINT-2" 2>&1 \
|
||||
| sed 's/:.*:/: <target>/; s/for .*/for <source>/' >> $TS_OUTPUT
|
||||
$TS_CMD_UMOUNT "$TS_MOUNTPOINT-1" >> $TS_OUTPUT 2>> $TS_ERRLOG
|
||||
+udevadm settle
|
||||
|
||||
echo "should succeed" >>$TS_OUTPUT
|
||||
$TS_CMD_MOUNT -oloop,sizelimit=$OFFSET "$IMG" "$TS_MOUNTPOINT-1" >> $TS_OUTPUT 2>> $TS_ERRLOG
|
||||
+udevadm settle
|
||||
$TS_CMD_MOUNT -oloop,offset=$OFFSET "$IMG" "$TS_MOUNTPOINT-2" >> $TS_OUTPUT 2>> $TS_ERRLOG
|
||||
+udevadm settle
|
||||
$TS_CMD_UMOUNT "$TS_MOUNTPOINT-1" >> $TS_OUTPUT 2>> $TS_ERRLOG
|
||||
$TS_CMD_UMOUNT "$TS_MOUNTPOINT-2" >> $TS_OUTPUT 2>> $TS_ERRLOG
|
||||
+udevadm settle
|
||||
|
||||
echo "both should fail" >>$TS_OUTPUT
|
||||
LOOPDEV=$($TS_CMD_LOSETUP --show -f --offset 1 --sizelimit $OFFSET "$IMG")
|
||||
+udevadm settle
|
||||
$TS_CMD_MOUNT -oloop,sizelimit=$OFFSET "$IMG" "$TS_MOUNTPOINT-1" 2>&1 \
|
||||
| sed 's/:.*:/: <target>/; s/for .*/for <source>/' >> $TS_OUTPUT
|
||||
$TS_CMD_MOUNT -oloop,offset=$OFFSET "$IMG" "$TS_MOUNTPOINT-2" 2>&1 \
|
||||
| sed 's/:.*:/: <target>/; s/for .*/for <source>/' >> $TS_OUTPUT
|
||||
+udevadm settle
|
||||
$TS_CMD_LOSETUP --detach $LOOPDEV
|
||||
|
||||
ts_log "Success"
|
||||
--
|
||||
2.37.2
|
||||
|
161
SOURCES/0036-lslogins-support-more-password-methods.patch
Normal file
161
SOURCES/0036-lslogins-support-more-password-methods.patch
Normal file
@ -0,0 +1,161 @@
|
||||
From a1dfd3c737f7dad832b0f6ec975bcc5c9cc80ffe Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Wed, 24 Aug 2022 12:20:25 +0200
|
||||
Subject: lslogins: support more password methods
|
||||
|
||||
* detect more hashing methods
|
||||
|
||||
* don't care about hash size
|
||||
|
||||
* follow crypt(5) when check for valid chars
|
||||
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2094216
|
||||
Upstream: http://github.com/util-linux/util-linux/commit/2b9373e06243d5adf93d627916a5421b34a7e63f
|
||||
Reported-by: Radka Skvarilova <rskvaril@redhat.com>
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
login-utils/lslogins.c | 66 +++++++++++++++++++++++++++---------------
|
||||
1 file changed, 42 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/login-utils/lslogins.c b/login-utils/lslogins.c
|
||||
index 56431212d..22e3cd23e 100644
|
||||
--- a/login-utils/lslogins.c
|
||||
+++ b/login-utils/lslogins.c
|
||||
@@ -598,7 +598,7 @@ static int get_nprocs(const uid_t uid)
|
||||
}
|
||||
#endif
|
||||
|
||||
-static const char *get_pwd_method(const char *str, const char **next, unsigned int *sz)
|
||||
+static const char *get_pwd_method(const char *str, const char **next)
|
||||
{
|
||||
const char *p = str;
|
||||
const char *res = NULL;
|
||||
@@ -606,32 +606,50 @@ static const char *get_pwd_method(const char *str, const char **next, unsigned i
|
||||
if (!p || *p++ != '$')
|
||||
return NULL;
|
||||
|
||||
- if (sz)
|
||||
- *sz = 0;
|
||||
-
|
||||
switch (*p) {
|
||||
case '1':
|
||||
res = "MD5";
|
||||
- if (sz)
|
||||
- *sz = 22;
|
||||
break;
|
||||
case '2':
|
||||
- p++;
|
||||
- if (*p == 'a' || *p == 'y')
|
||||
+ switch(*(p+1)) {
|
||||
+ case 'a':
|
||||
+ case 'y':
|
||||
+ p++;
|
||||
res = "Blowfish";
|
||||
+ break;
|
||||
+ case 'b':
|
||||
+ p++;
|
||||
+ res = "bcrypt";
|
||||
+ break;
|
||||
+ }
|
||||
+ break;
|
||||
+ case '3':
|
||||
+ res = "NT";
|
||||
break;
|
||||
case '5':
|
||||
res = "SHA-256";
|
||||
- if (sz)
|
||||
- *sz = 43;
|
||||
break;
|
||||
case '6':
|
||||
res = "SHA-512";
|
||||
- if (sz)
|
||||
- *sz = 86;
|
||||
+ break;
|
||||
+ case '7':
|
||||
+ res = "scrypt";
|
||||
+ break;
|
||||
+ case 'y':
|
||||
+ res = "yescrypt";
|
||||
+ break;
|
||||
+ case 'g':
|
||||
+ if (*(p + 1) == 'y') {
|
||||
+ p++;
|
||||
+ res = "gost-yescrypt";
|
||||
+ }
|
||||
+ break;
|
||||
+ case '_':
|
||||
+ res = "bsdicrypt";
|
||||
break;
|
||||
default:
|
||||
- return NULL;
|
||||
+ res = "unknown";
|
||||
+ break;
|
||||
}
|
||||
p++;
|
||||
|
||||
@@ -642,7 +660,10 @@ static const char *get_pwd_method(const char *str, const char **next, unsigned i
|
||||
return res;
|
||||
}
|
||||
|
||||
-#define is_valid_pwd_char(x) (isalnum((unsigned char) (x)) || (x) == '.' || (x) == '/')
|
||||
+#define is_invalid_pwd_char(x) (isspace((unsigned char) (x)) || \
|
||||
+ (x) == ':' || (x) == ';' || (x) == '*' || \
|
||||
+ (x) == '!' || (x) == '\\')
|
||||
+#define is_valid_pwd_char(x) (isascii((unsigned char) (x)) && !is_invalid_pwd_char(x))
|
||||
|
||||
/*
|
||||
* This function do not accept empty passwords or locked accouns.
|
||||
@@ -650,17 +671,16 @@ static const char *get_pwd_method(const char *str, const char **next, unsigned i
|
||||
static int valid_pwd(const char *str)
|
||||
{
|
||||
const char *p = str;
|
||||
- unsigned int sz = 0, n;
|
||||
|
||||
if (!str || !*str)
|
||||
return 0;
|
||||
|
||||
/* $id$ */
|
||||
- if (get_pwd_method(str, &p, &sz) == NULL)
|
||||
+ if (get_pwd_method(str, &p) == NULL)
|
||||
return 0;
|
||||
+
|
||||
if (!p || !*p)
|
||||
return 0;
|
||||
-
|
||||
/* salt$ */
|
||||
for (; *p; p++) {
|
||||
if (*p == '$') {
|
||||
@@ -670,17 +690,15 @@ static int valid_pwd(const char *str)
|
||||
if (!is_valid_pwd_char(*p))
|
||||
return 0;
|
||||
}
|
||||
+
|
||||
if (!*p)
|
||||
return 0;
|
||||
-
|
||||
/* encrypted */
|
||||
- for (n = 0; *p; p++, n++) {
|
||||
- if (!is_valid_pwd_char(*p))
|
||||
+ for (; *p; p++) {
|
||||
+ if (!is_valid_pwd_char(*p)) {
|
||||
return 0;
|
||||
+ }
|
||||
}
|
||||
-
|
||||
- if (sz && n != sz)
|
||||
- return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -863,7 +881,7 @@ static struct lslogins_user *get_user_info(struct lslogins_control *ctl, const c
|
||||
|
||||
while (p && (*p == '!' || *p == '*'))
|
||||
p++;
|
||||
- user->pwd_method = get_pwd_method(p, NULL, NULL);
|
||||
+ user->pwd_method = get_pwd_method(p, NULL);
|
||||
} else
|
||||
user->pwd_method = NULL;
|
||||
break;
|
||||
--
|
||||
2.37.2
|
||||
|
@ -2,7 +2,7 @@
|
||||
Summary: A collection of basic system utilities
|
||||
Name: util-linux
|
||||
Version: 2.37.4
|
||||
Release: 3%{?dist}
|
||||
Release: 9%{?dist}
|
||||
License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain
|
||||
URL: http://en.wikipedia.org/wiki/Util-linux
|
||||
|
||||
@ -32,9 +32,7 @@ Buildrequires: libuser-devel
|
||||
BuildRequires: libcap-ng-devel
|
||||
BuildRequires: %{pypkg}-devel
|
||||
BuildRequires: gcc
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: libtool
|
||||
BuildRequires: git
|
||||
BuildRequires: rubygem-asciidoctor
|
||||
%ifarch ppc64le
|
||||
BuildRequires: librtas-devel
|
||||
@ -112,6 +110,46 @@ Patch8: 0008-logger-fix-size-use-for-stdin.patch
|
||||
# 2057046 - wdctl not picking up reboot reason flag
|
||||
Patch9: 0009-wdctl-Workaround-reported-boot-status-bits-not-being.patch
|
||||
|
||||
### RHEL-9.1.0
|
||||
#
|
||||
# 2094216 - lslogins reports incorrect "Password is locked" status
|
||||
Patch10: 0010-lslogins-remove-unexpected-debug-message.patch
|
||||
Patch11: 0011-lslogins-improve-prefixes-interpretation.patch
|
||||
Patch12: 0012-lslogins-fix-free-invalid-pointer.patch
|
||||
Patch13: 0013-login-utils-logindefs-fix-compiler-warning-Werror-fo.patch
|
||||
# 2092943 - uuidd time based UUIDs are without MAC address
|
||||
Patch14: 0014-uuidd-allow-AF_INET-in-systemd-service.patch
|
||||
Patch15: 0015-uuidd-remove-also-PrivateNetwork-yes-from-systemd-se.patch
|
||||
# 2078787 - Activity "lsirq -s column" produces wrong result i.e. not sorting properly.
|
||||
Patch16: 0016-lsirq-improve-sort-IRQ.patch
|
||||
Patch17: 0017-irqtop-fix-compiler-warning-Werror-format-truncation.patch
|
||||
# 2076829 - dmesg new option "--since" is not working if timestamp format is not provided
|
||||
Patch18: 0018-dmesg-fix-since-and-until.patch
|
||||
# 2074486 - Command (wipefs -a) to erase all available signatures against read only rom return 0 with dmesg error
|
||||
Patch19: 0019-libblkid-check-fsync-return-code.patch
|
||||
# 2064810 - RFE: complete libblkid FSSIZE implementation
|
||||
Patch20: 0020-libblkid-add-interface-for-FSSIZE-field.patch
|
||||
Patch21: 0021-libblkid-implement-FSSIZE-calculation-for-XFS.patch
|
||||
Patch22: 0022-blkid-add-FSSIZE-tag-with-tests-for-XFS.patch
|
||||
Patch23: 0023-libblkid-fix-FSSIZE-docs.patch
|
||||
Patch24: 0024-libblkid-add-FSLASTBLOCK-field-interface-showing-are.patch
|
||||
Patch25: 0025-libblkid-add-FSLASTBLOCK-implementation-for-xfs-ext-.patch
|
||||
Patch26: 0026-blkid-add-image-for-btrfs-testing.patch
|
||||
Patch27: 0027-blkid-add-tests-for-FSLASTBLOCK-tag.patch
|
||||
Patch28: 0028-libblkid-merge-FS-flags-into-one-FSINFO.patch
|
||||
Patch29: 0029-libblkid-add-FSBLOCKSIZE-tag.patch
|
||||
Patch30: 0030-libblkid-update-documentation-of-BLOCK_SIZE-tag.patch
|
||||
# 2109459 - fix compiler warnings/errors
|
||||
Patch31: 0031-cfdisk-don-t-use-NULL-in-printf-coverity-scan.patch
|
||||
Patch32: 0032-zramctl-fix-compiler-warning-Werror-maybe-uninitiali.patch
|
||||
Patch33: 0033-lib-path-make-ul_path_read_buffer-more-robust-coveri.patch
|
||||
# 2094216 - lslogins reports incorrect "Password is locked" status
|
||||
Patch34: 0034-lslogins-improve-for-static-analyzer.patch
|
||||
# 2117203 - RHEL-9.1: loop-overlay test failed
|
||||
Patch35: 0035-tests-add-udevadm-settle-to-loop-overlap-test.patch
|
||||
# 2094216 - lslogins reports incorrect "Password is locked" status
|
||||
Patch36: 0036-lslogins-support-more-password-methods.patch
|
||||
|
||||
|
||||
%description
|
||||
The util-linux package contains a large variety of low-level system
|
||||
@ -305,7 +343,7 @@ chfn and chsh utilities with dependence on libuser
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{name}-%{upstream_version}
|
||||
%autosetup -p1 -Sgit -n %{name}-%{upstream_version}
|
||||
|
||||
%build
|
||||
unset LINGUAS || :
|
||||
@ -425,6 +463,11 @@ ln -sf ../proc/self/mounts %{buildroot}/etc/mtab
|
||||
# remove static libs
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/lib{uuid,blkid,mount,smartcols,fdisk}.a
|
||||
|
||||
# remove unsupported tools (--disable-* not avalable by ./configure)
|
||||
rm -f ${RPM_BUILD_ROOT}%{_bindir}/uclampset
|
||||
rm -f ${RPM_BUILD_ROOT}%{compldir}/uclampset
|
||||
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/uclampset*
|
||||
|
||||
# temporary remove to avoid conflicts with bash-completion pkg
|
||||
rm -f $RPM_BUILD_ROOT%{compldir}/{mount,umount}
|
||||
|
||||
@ -549,7 +592,6 @@ fi
|
||||
%{_bindir}/setarch
|
||||
%{_bindir}/setpriv
|
||||
%{_bindir}/setterm
|
||||
%{_bindir}/uclampset
|
||||
%{_bindir}/ul
|
||||
%{_bindir}/utmpdump
|
||||
%{_bindir}/uuidgen
|
||||
@ -591,7 +633,6 @@ fi
|
||||
%{_mandir}/man1/setpriv.1*
|
||||
%{_mandir}/man1/setterm.1*
|
||||
%{_mandir}/man1/su.1*
|
||||
%{_mandir}/man1/uclampset.1.*
|
||||
%{_mandir}/man1/ul.1*
|
||||
%{_mandir}/man1/utmpdump.1.gz
|
||||
%{_mandir}/man1/uuidgen.1*
|
||||
@ -721,7 +762,6 @@ fi
|
||||
%{compldir}/setterm
|
||||
%{compldir}/su
|
||||
%{compldir}/swaplabel
|
||||
%{compldir}/uclampset
|
||||
%{compldir}/ul
|
||||
%{compldir}/utmpdump
|
||||
%{compldir}/uuidgen
|
||||
@ -944,6 +984,32 @@ fi
|
||||
%{_libdir}/python*/site-packages/libmount/
|
||||
|
||||
%changelog
|
||||
* Wed Aug 24 2022 Karel Zak <kzak@redhat.com> 2.37.4-9
|
||||
- improve lslogins pasword validator (related #2094216)
|
||||
|
||||
* Mon Aug 15 2022 Karel Zak <kzak@redhat.com> 2.37.4-8
|
||||
- remove unnecessary patches (#2117203)
|
||||
|
||||
* Fri Aug 12 2022 Karel Zak <kzak@redhat.com> 2.37.4-7
|
||||
- improve loop overlay test (#2117203)
|
||||
|
||||
* Wed Aug 10 2022 Karel Zak <kzak@redhat.com> 2.37.4-6
|
||||
- fix #2094216 - lslogins reports incorrect "Password is locked" status
|
||||
- fix #2117203 - loop-overlay test failed
|
||||
|
||||
* Fri Jul 22 2022 Karel Zak <kzak@redhat.com> 2.37.4-5
|
||||
- cleanup spec file build requiremnts
|
||||
|
||||
* Thu Jul 21 2022 Karel Zak <kzak@redhat.com> 2.37.4-4
|
||||
- fix #2079652 - remove uclampset, unsupported by RHEL kernel
|
||||
- fix #2094216 - lslogins reports incorrect "Password is locked" status
|
||||
- fix #2092943 - uuidd time based UUIDs are without MAC address
|
||||
- fix #2074486 - wipefs to erase all available signatures against read only rom
|
||||
- fix #2064810 - RFE: complete libblkid FSSIZE implementation
|
||||
- fix #2078787 - Activity "lsirq -s column" produces wrong result i.e. not sorting properly.
|
||||
- fix #2076829 - dmesg new option "--since" is not working if timestamp format is not provided
|
||||
- fix #2109459 - fix compiler warnings/errors
|
||||
|
||||
* Thu Feb 24 2022 Karel Zak <kzak@redhat.com> 2.37.4-3
|
||||
- fix #2057046 - wdctl not picking up reboot reason flag
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user