2.36.1-2: cleanup patches, fix 'symfollow' mount issue
This commit is contained in:
parent
347549f079
commit
5977e189d6
@ -1,55 +0,0 @@
|
|||||||
From 9418ba6d05feed6061f5343741b1bc56e7bde663 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Karel Zak <kzak@redhat.com>
|
|
||||||
Date: Fri, 20 Dec 2019 15:05:33 +0100
|
|
||||||
Subject: [PATCH] agetty: keep freed issue file pointer zeroized
|
|
||||||
|
|
||||||
References: https://bugzilla.redhat.com/show_bug.cgi?id=1784536
|
|
||||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
|
||||||
---
|
|
||||||
term-utils/agetty.c | 15 +++++++++++----
|
|
||||||
1 file changed, 11 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/term-utils/agetty.c b/term-utils/agetty.c
|
|
||||||
index 3c20acc98..dfc4921f5 100644
|
|
||||||
--- a/term-utils/agetty.c
|
|
||||||
+++ b/term-utils/agetty.c
|
|
||||||
@@ -1820,8 +1820,12 @@ static int issuefile_read_stream(
|
|
||||||
if (fstat(fileno(f), &st) || !S_ISREG(st.st_mode))
|
|
||||||
return 1;
|
|
||||||
|
|
||||||
- if (!ie->output)
|
|
||||||
- ie->output = open_memstream(&ie->mem, &ie->mem_sz);
|
|
||||||
+ if (!ie->output) {
|
|
||||||
+ free(ie->mem);
|
|
||||||
+ ie->mem_sz = 0;
|
|
||||||
+ ie->mem = NULL;
|
|
||||||
+ ie->output = open_memstream(&ie->mem, &ie->mem_sz);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
while ((c = getc(f)) != EOF) {
|
|
||||||
if (c == '\\')
|
|
||||||
@@ -1965,8 +1969,10 @@ done:
|
|
||||||
if (netlink_groups != 0)
|
|
||||||
open_netlink();
|
|
||||||
#endif
|
|
||||||
- if (ie->output)
|
|
||||||
+ if (ie->output) {
|
|
||||||
fclose(ie->output);
|
|
||||||
+ ie->output = NULL;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
/* This is --show-issue backend, executed by normal user on the current
|
|
||||||
@@ -1985,7 +1991,8 @@ static void show_issue(struct options *op)
|
|
||||||
|
|
||||||
if (ie.mem_sz)
|
|
||||||
write_all(STDOUT_FILENO, ie.mem, ie.mem_sz);
|
|
||||||
-
|
|
||||||
+ if (ie.output)
|
|
||||||
+ fclose(ie.output);
|
|
||||||
free(ie.mem);
|
|
||||||
}
|
|
||||||
|
|
||||||
--
|
|
||||||
2.21.0
|
|
||||||
|
|
@ -1,148 +0,0 @@
|
|||||||
From 651c5d428c2ef103ee8c5b1a310d6f29f0304744 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Karel Zak <kzak@redhat.com>
|
|
||||||
Date: Tue, 27 Mar 2018 10:40:13 +0200
|
|
||||||
Subject: [PATCH] column: fix leading space characters bug
|
|
||||||
|
|
||||||
The bug has been introduced during column(1) rewrite. The function
|
|
||||||
read_input() need to skip leading space only temporary to detect empty
|
|
||||||
lines, but the rest of the code has to use the original buffer (line).
|
|
||||||
I've tried to fix one of the symptoms by 5c7b67fbbf41c973ca8d49b1e8bdba22dbb917aa
|
|
||||||
(alter), but this solution is unnecessary and too complex.
|
|
||||||
|
|
||||||
Changes:
|
|
||||||
|
|
||||||
* don't ignore leading space
|
|
||||||
* remove unnecessary stuff introduced by 5c7b67fbbf41c973ca8d49b1e8bdba22dbb917aa
|
|
||||||
* fix regression test with incorrect separator
|
|
||||||
|
|
||||||
Addresses: https://github.com/karelzak/util-linux/issues/575
|
|
||||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1560283
|
|
||||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
|
||||||
---
|
|
||||||
tests/expected/column/table-input-separator-space | 2 +-
|
|
||||||
tests/ts/column/table | 2 +-
|
|
||||||
text-utils/column.c | 36 ++---------------------
|
|
||||||
4 files changed, 5 insertions(+), 38 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/tests/expected/column/table-input-separator-space b/tests/expected/column/table-input-separator-space
|
|
||||||
index 8a6513c11..25d9b5ab0 100644
|
|
||||||
--- a/tests/expected/column/table-input-separator-space
|
|
||||||
+++ b/tests/expected/column/table-input-separator-space
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
AAA BBBB C DDDD
|
|
||||||
-BBB CCCC DDD
|
|
||||||
+ BBB CCCC DDD
|
|
||||||
AA BB DD
|
|
||||||
AAAA B CC D
|
|
||||||
AA CC DD
|
|
||||||
diff --git a/tests/ts/column/table b/tests/ts/column/table
|
|
||||||
index 27b52e7c8..5c89d5eaf 100755
|
|
||||||
--- a/tests/ts/column/table
|
|
||||||
+++ b/tests/ts/column/table
|
|
||||||
@@ -37,7 +37,7 @@ $TS_CMD_COLUMN --separator ',' --table $TS_SELF/files/table-sep >> $TS_OUTPUT 2>
|
|
||||||
ts_finalize_subtest
|
|
||||||
|
|
||||||
ts_init_subtest "input-separator-space"
|
|
||||||
-$TS_CMD_COLUMN --separator ',' --table $TS_SELF/files/table-sep-space >> $TS_OUTPUT 2>&1
|
|
||||||
+$TS_CMD_COLUMN --separator "$(echo -e '\t')" --table $TS_SELF/files/table-sep-space >> $TS_OUTPUT 2>&1
|
|
||||||
ts_finalize_subtest
|
|
||||||
|
|
||||||
ts_init_subtest "long"
|
|
||||||
diff --git a/text-utils/column.c b/text-utils/column.c
|
|
||||||
index 89d46d280..195814328 100644
|
|
||||||
--- a/text-utils/column.c
|
|
||||||
+++ b/text-utils/column.c
|
|
||||||
@@ -86,7 +86,6 @@ struct column_control {
|
|
||||||
const char *tree_parent;
|
|
||||||
|
|
||||||
wchar_t *input_separator;
|
|
||||||
- char *input_separator_raw;
|
|
||||||
const char *output_separator;
|
|
||||||
|
|
||||||
wchar_t **ents; /* input entries */
|
|
||||||
@@ -96,7 +95,6 @@ struct column_control {
|
|
||||||
unsigned int greedy :1,
|
|
||||||
json :1,
|
|
||||||
header_repeat :1,
|
|
||||||
- input_sep_space : 1, /* input separator contains space chars */
|
|
||||||
tab_noheadings :1;
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -470,19 +468,7 @@ static int read_input(struct column_control *ctl, FILE *fp)
|
|
||||||
char *buf = NULL;
|
|
||||||
size_t bufsz = 0;
|
|
||||||
size_t maxents = 0;
|
|
||||||
- int rc = 0, is_space_sep = 0;
|
|
||||||
-
|
|
||||||
- /* Check if columns separator contains spaces chars */
|
|
||||||
- if (ctl->mode == COLUMN_MODE_TABLE && ctl->input_separator_raw) {
|
|
||||||
- char *p;
|
|
||||||
-
|
|
||||||
- for (p = ctl->input_separator_raw; *p; p++) {
|
|
||||||
- if (isspace(*p)) {
|
|
||||||
- is_space_sep = 1;
|
|
||||||
- break;
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
+ int rc = 0;
|
|
||||||
|
|
||||||
/* Read input */
|
|
||||||
do {
|
|
||||||
@@ -496,19 +482,6 @@ static int read_input(struct column_control *ctl, FILE *fp)
|
|
||||||
err(EXIT_FAILURE, _("read failed"));
|
|
||||||
}
|
|
||||||
str = (char *) skip_space(buf);
|
|
||||||
-
|
|
||||||
- /* The table columns separator could be a space. In this case
|
|
||||||
- * don't skip the separator if at begin of the line. For example:
|
|
||||||
- *
|
|
||||||
- * echo -e "\tcol1\tcol2\nrow\t1\t2" \
|
|
||||||
- * | column -t -s "$(echo -e '\t')" --table-columns A,B,C
|
|
||||||
- */
|
|
||||||
- if (is_space_sep && str > buf) {
|
|
||||||
- char *x = strpbrk(buf, ctl->input_separator_raw);
|
|
||||||
- if (x && x < str)
|
|
||||||
- str = x;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
if (str) {
|
|
||||||
p = strchr(str, '\n');
|
|
||||||
if (p)
|
|
||||||
@@ -517,13 +490,13 @@ static int read_input(struct column_control *ctl, FILE *fp)
|
|
||||||
if (!str || !*str)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
- wcs = mbs_to_wcs(str);
|
|
||||||
+ wcs = mbs_to_wcs(buf);
|
|
||||||
if (!wcs) {
|
|
||||||
/*
|
|
||||||
* Convert broken sequences to \x<hex> and continue.
|
|
||||||
*/
|
|
||||||
size_t tmpsz = 0;
|
|
||||||
- char *tmp = mbs_invalid_encode(str, &tmpsz);
|
|
||||||
+ char *tmp = mbs_invalid_encode(buf, &tmpsz);
|
|
||||||
|
|
||||||
if (!tmp)
|
|
||||||
err(EXIT_FAILURE, _("read failed"));
|
|
||||||
@@ -720,7 +693,6 @@ int main(int argc, char **argv)
|
|
||||||
|
|
||||||
ctl.output_separator = " ";
|
|
||||||
ctl.input_separator = mbs_to_wcs("\t ");
|
|
||||||
- ctl.input_separator_raw = xstrdup("\t ");
|
|
||||||
|
|
||||||
while ((c = getopt_long(argc, argv, "c:dE:eH:hi:JN:n:O:o:p:R:r:s:T:tVW:x", longopts, NULL)) != -1) {
|
|
||||||
|
|
||||||
@@ -775,9 +747,7 @@ int main(int argc, char **argv)
|
|
||||||
break;
|
|
||||||
case 's':
|
|
||||||
free(ctl.input_separator);
|
|
||||||
- free(ctl.input_separator_raw);
|
|
||||||
ctl.input_separator = mbs_to_wcs(optarg);
|
|
||||||
- ctl.input_separator_raw = xstrdup(optarg);
|
|
||||||
ctl.greedy = 0;
|
|
||||||
break;
|
|
||||||
case 'T':
|
|
||||||
--
|
|
||||||
2.14.3
|
|
||||||
|
|
40
libmount-don-t-use-symfollow-for-helpers-on-user-mou.patch
Normal file
40
libmount-don-t-use-symfollow-for-helpers-on-user-mou.patch
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
From 76bb9b30cfcf54b59591a57a3d2a747e514469b2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Karel Zak <kzak@redhat.com>
|
||||||
|
Date: Thu, 19 Nov 2020 09:49:16 +0100
|
||||||
|
Subject: [PATCH] libmount: don't use "symfollow" for helpers on user mounts
|
||||||
|
|
||||||
|
Addresses: https://github.com/karelzak/util-linux/issues/1193
|
||||||
|
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||||
|
---
|
||||||
|
libmount/src/context_mount.c | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c
|
||||||
|
index 8c394c1ff..dd1786176 100644
|
||||||
|
--- a/libmount/src/context_mount.c
|
||||||
|
+++ b/libmount/src/context_mount.c
|
||||||
|
@@ -415,6 +415,9 @@ static int generate_helper_optstr(struct libmnt_context *cxt, char **optstr)
|
||||||
|
* string, because there is nothing like MS_EXEC (we only have
|
||||||
|
* MS_NOEXEC in mount flags and we don't care about the original
|
||||||
|
* mount string in libmount for VFS options).
|
||||||
|
+ *
|
||||||
|
+ * This use-case makes sense for MS_SECURE flags only (see
|
||||||
|
+ * mnt_optstr_get_flags() and mnt_context_merge_mflags()).
|
||||||
|
*/
|
||||||
|
if (!(cxt->mountflags & MS_NOEXEC))
|
||||||
|
mnt_optstr_append_option(optstr, "exec", NULL);
|
||||||
|
@@ -422,11 +425,8 @@ static int generate_helper_optstr(struct libmnt_context *cxt, char **optstr)
|
||||||
|
mnt_optstr_append_option(optstr, "suid", NULL);
|
||||||
|
if (!(cxt->mountflags & MS_NODEV))
|
||||||
|
mnt_optstr_append_option(optstr, "dev", NULL);
|
||||||
|
- if (!(cxt->mountflags & MS_NOSYMFOLLOW))
|
||||||
|
- mnt_optstr_append_option(optstr, "symfollow", NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
-
|
||||||
|
if (cxt->flags & MNT_FL_SAVED_USER)
|
||||||
|
rc = mnt_optstr_set_option(optstr, "user", cxt->orig_user);
|
||||||
|
if (rc)
|
||||||
|
--
|
||||||
|
2.25.4
|
||||||
|
|
@ -2,7 +2,7 @@
|
|||||||
Summary: A collection of basic system utilities
|
Summary: A collection of basic system utilities
|
||||||
Name: util-linux
|
Name: util-linux
|
||||||
Version: 2.36.1
|
Version: 2.36.1
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain
|
License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain
|
||||||
URL: http://en.wikipedia.org/wiki/Util-linux
|
URL: http://en.wikipedia.org/wiki/Util-linux
|
||||||
|
|
||||||
@ -103,10 +103,12 @@ Requires: libfdisk = %{version}-%{release}
|
|||||||
### Ready for upstream?
|
### Ready for upstream?
|
||||||
###
|
###
|
||||||
# 151635 - makeing /var/log/lastlog
|
# 151635 - makeing /var/log/lastlog
|
||||||
Patch0: 2.36-login-lastlog-create.patch
|
Patch0: login-lastlog-create.patch
|
||||||
# https://github.com/karelzak/util-linux/commit/57898c3a7ee8fc5933cddd4526bb3980bef85a02
|
# https://github.com/karelzak/util-linux/commit/57898c3a7ee8fc5933cddd4526bb3980bef85a02
|
||||||
# The workaround is unnecessary on Fedora with kernel >= 5.8.
|
# The workaround is unnecessary on Fedora with kernel >= 5.8.
|
||||||
Patch1: 0002-libmount-remove-read-mountinfo-workaround.patch
|
Patch1: libmount-remove-read-mountinfo-workaround.patch
|
||||||
|
# usptream patch, https://github.com/karelzak/util-linux/issues/1193
|
||||||
|
Patch2: libmount-don-t-use-symfollow-for-helpers-on-user-mou.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The util-linux package contains a large variety of low-level system
|
The util-linux package contains a large variety of low-level system
|
||||||
@ -939,6 +941,11 @@ fi
|
|||||||
%{_libdir}/python*/site-packages/libmount/
|
%{_libdir}/python*/site-packages/libmount/
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Nov 19 2020 Karel Zak <kzak@redhat.com> - 2.36.1-2
|
||||||
|
- remove unused patches
|
||||||
|
- remove versions and seq.numbers from patch names
|
||||||
|
- fix mount "symfollow" issue (upstream patch)
|
||||||
|
|
||||||
* Mon Nov 16 2020 Karel Zak <kzak@redhat.com> - 2.36.1-1
|
* Mon Nov 16 2020 Karel Zak <kzak@redhat.com> - 2.36.1-1
|
||||||
- upgrade to stable upstream 2.36.1
|
- upgrade to stable upstream 2.36.1
|
||||||
https://www.kernel.org/pub/linux/utils/util-linux/v2.36/v2.36.1-ReleaseNotes
|
https://www.kernel.org/pub/linux/utils/util-linux/v2.36/v2.36.1-ReleaseNotes
|
||||||
|
Loading…
Reference in New Issue
Block a user