diff options
author | Mike Frysinger <vapier@gentoo.org> | 2011-10-17 22:01:41 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2011-10-17 22:01:41 +0000 |
commit | b64eb5e4ca032cabc04bceb44543638423a32e68 (patch) | |
tree | c3e8b7ac86945b1a119ef9b0a73e7bfa220fa4e0 /sys-apps/util-linux/files | |
parent | Mark alpha/arm/hppa/ia64/m68k/s390/sh stable #384305. (diff) | |
download | gentoo-2-b64eb5e4ca032cabc04bceb44543638423a32e68.tar.gz gentoo-2-b64eb5e4ca032cabc04bceb44543638423a32e68.tar.bz2 gentoo-2-b64eb5e4ca032cabc04bceb44543638423a32e68.zip |
Add fixes from upstream for dmesg stopping with blank newlines #385305 by Maxime Gervais. Add fix from upstream for nfs/btrfs unmounting #385323 by Thomas Arnett.
(Portage version: 2.2.0_alpha65/cvs/Linux x86_64)
Diffstat (limited to 'sys-apps/util-linux/files')
-rw-r--r-- | sys-apps/util-linux/files/util-linux-2.20-dmesg-newline.patch | 102 | ||||
-rw-r--r-- | sys-apps/util-linux/files/util-linux-2.20-sysfs-init.patch | 32 |
2 files changed, 134 insertions, 0 deletions
diff --git a/sys-apps/util-linux/files/util-linux-2.20-dmesg-newline.patch b/sys-apps/util-linux/files/util-linux-2.20-dmesg-newline.patch new file mode 100644 index 000000000000..6225e51b79bc --- /dev/null +++ b/sys-apps/util-linux/files/util-linux-2.20-dmesg-newline.patch @@ -0,0 +1,102 @@ +https://bugs.gentoo.org/385305 + +From 22f69825778f992ff98ed100252bf5e00a15d9d1 Mon Sep 17 00:00:00 2001 +From: Karel Zak <kzak@redhat.com> +Date: Wed, 31 Aug 2011 12:28:39 +0200 +Subject: [PATCH] dmesg: fix for non-CONFIG_PRINTK_TIME kernels + + * dmesg(1) incorrectly assumes that lines like "<6>\n" + are broken. + + * it's more robust to assume the end of the record is "\n<" + + * print \n for empty lines + +Reported-by: "Gabor Z. Papp" <gzp@papp.hu> +Signed-off-by: Karel Zak <kzak@redhat.com> +--- + sys-utils/dmesg.c | 16 ++++++++-------- + 1 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/sys-utils/dmesg.c b/sys-utils/dmesg.c +index 6090f4e..8e7bb4b 100644 +--- a/sys-utils/dmesg.c ++++ b/sys-utils/dmesg.c +@@ -442,12 +442,12 @@ static int get_next_record(struct dmesg_control *ctl, struct dmesg_record *rec) + + if (!begin) + begin = p; +- if (*p == '\n') +- end = p; + if (i + 1 == rec->next_size) { + end = p + 1; + i++; +- } ++ } else if (*p == '\n' && *(p + 1) == '<') ++ end = p; ++ + if (begin && !*begin) + begin = NULL; /* zero(s) at the end of the buffer? */ + if (!begin || !end) +@@ -469,9 +469,6 @@ static int get_next_record(struct dmesg_control *ctl, struct dmesg_record *rec) + } + } + +- if (end <= begin) +- return -1; /* error */ +- + if (*begin == '[' && (*(begin + 1) == ' ' || + isdigit(*(begin + 1)))) { + if (ctl->delta || ctl->ctime) { +@@ -534,12 +531,15 @@ static void print_buffer(const char *buf, size_t size, + } + + while (get_next_record(ctl, &rec) == 0) { +- if (!rec.mesg_size) +- continue; + + if (!accept_record(ctl, &rec)) + continue; + ++ if (!rec.mesg_size) { ++ putchar('\n'); ++ continue; ++ } ++ + if (ctl->decode && rec.level >= 0 && rec.facility >= 0) + printf("%-6s:%-6s: ", facility_names[rec.facility].name, + level_names[rec.level].name); +-- +1.7.6.1 + +From 31c9099a81d3a9c70fdceb198eebed678173d954 Mon Sep 17 00:00:00 2001 +From: Karel Zak <kzak@redhat.com> +Date: Fri, 2 Sep 2011 14:42:04 +0200 +Subject: [PATCH] dmesg: remove extra space only after time stamp + +Signed-off-by: Karel Zak <kzak@redhat.com> +--- + sys-utils/dmesg.c | 5 ++--- + 1 files changed, 2 insertions(+), 3 deletions(-) + +diff --git a/sys-utils/dmesg.c b/sys-utils/dmesg.c +index 8e7bb4b..b3713a0 100644 +--- a/sys-utils/dmesg.c ++++ b/sys-utils/dmesg.c +@@ -480,11 +480,10 @@ static int get_next_record(struct dmesg_control *ctl, struct dmesg_record *rec) + break; + } + } ++ if (begin < end && *begin == ' ') ++ begin++; + } + +- if (begin < end && *begin == ' ') +- begin++; +- + rec->mesg = begin; + rec->mesg_size = end - begin; + +-- +1.7.6.1 + diff --git a/sys-apps/util-linux/files/util-linux-2.20-sysfs-init.patch b/sys-apps/util-linux/files/util-linux-2.20-sysfs-init.patch new file mode 100644 index 000000000000..ac93787596a5 --- /dev/null +++ b/sys-apps/util-linux/files/util-linux-2.20-sysfs-init.patch @@ -0,0 +1,32 @@ +From 3a18db62e661fbb307ad3a53c18afabc92d3c63e Mon Sep 17 00:00:00 2001 +From: Petr Uzel <petr.uzel@suse.cz> +Date: Tue, 13 Sep 2011 11:08:46 +0200 +Subject: [PATCH] lib: do not attempt to close(0) in sysfs_deinit() + +If the 'open' fails we 'goto err' which runs 'sysfs_deinit()' on a 'cxt' +which hasn't been fully initialised. The 'dir_fd' is still 0, so +sysfs_deinit calls "close(0)". + +Addresses: https://bugzilla.novell.com/show_bug.cgi?id=714151 +Reported-by: Diego Ercolani <diego.ercolani@gmail.com> +Analysed-by: Neil Brown <nfbrown@suse.com> +Signed-off-by: Petr Uzel <petr.uzel@suse.cz> +--- + lib/sysfs.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/lib/sysfs.c b/lib/sysfs.c +index eec1f24..ebb3bb5 100644 +--- a/lib/sysfs.c ++++ b/lib/sysfs.c +@@ -140,6 +140,7 @@ int sysfs_init(struct sysfs_cxt *cxt, dev_t devno, struct sysfs_cxt *parent) + int fd, rc = 0; + + memset(cxt, 0, sizeof(*cxt)); ++ cxt->dir_fd = -1; + + if (!sysfs_devno_path(devno, path, sizeof(path))) + goto err; +-- +1.7.6.1 + |