[arch-commits] Commit in util-linux/trunk (4 files)
Dave Reisner
dreisner at nymeria.archlinux.org
Thu Apr 24 13:45:21 UTC 2014
Date: Thursday, April 24, 2014 @ 15:45:21
Author: dreisner
Revision: 211729
upgpkg: util-linux 2.24.2-1
Modified:
util-linux/trunk/PKGBUILD
Deleted:
util-linux/trunk/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch
util-linux/trunk/0001-switch_root-verify-initramfs-by-f_type-not-devno.patch
util-linux/trunk/move_is_mountinfo.patch
-------------------------------------------------------------+
0001-libmount-FS-id-and-parent-ID-could-be-zero.patch | 98 ----------
0001-switch_root-verify-initramfs-by-f_type-not-devno.patch | 59 ------
PKGBUILD | 24 --
move_is_mountinfo.patch | 46 ----
4 files changed, 5 insertions(+), 222 deletions(-)
Deleted: 0001-libmount-FS-id-and-parent-ID-could-be-zero.patch
===================================================================
--- 0001-libmount-FS-id-and-parent-ID-could-be-zero.patch 2014-04-24 13:43:09 UTC (rev 211728)
+++ 0001-libmount-FS-id-and-parent-ID-could-be-zero.patch 2014-04-24 13:45:21 UTC (rev 211729)
@@ -1,98 +0,0 @@
-From 6c373810f5b1d32824371e9dff6ee5a006388f98 Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak at redhat.com>
-Date: Thu, 20 Feb 2014 16:59:11 +0100
-Subject: [PATCH] libmount: FS id and parent ID could be zero
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-It seems that linux 3.14 is able to produce things like:
-
- 19 0 8:3 / / rw,relatime - ext4 /dev/sda3 rw,data=ordered
- ^
-
-Reported-by: Mantas Mikulėnas <grawity at gmail.com>
-Signed-off-by: Karel Zak <kzak at redhat.com>
----
- libmount/src/tab.c | 12 ++++--------
- misc-utils/findmnt.c | 5 +++--
- 2 files changed, 7 insertions(+), 10 deletions(-)
-
-diff --git a/libmount/src/tab.c b/libmount/src/tab.c
-index 4c2f8a4..332312b 100644
---- a/libmount/src/tab.c
-+++ b/libmount/src/tab.c
-@@ -505,7 +505,7 @@ int mnt_table_get_root_fs(struct libmnt_table *tb, struct libmnt_fs **root)
- assert(tb);
- assert(root);
-
-- if (!tb || !root)
-+ if (!tb || !root || !is_mountinfo(tb))
- return -EINVAL;
-
- DBG(TAB, mnt_debug_h(tb, "lookup root fs"));
-@@ -515,8 +515,6 @@ int mnt_table_get_root_fs(struct libmnt_table *tb, struct libmnt_fs **root)
- mnt_reset_iter(&itr, MNT_ITER_FORWARD);
- while(mnt_table_next_fs(tb, &itr, &fs) == 0) {
- int id = mnt_fs_get_parent_id(fs);
-- if (!id)
-- break; /* @tab is not a mountinfo file? */
-
- if (!*root || id < root_id) {
- *root = fs;
-@@ -524,7 +522,7 @@ int mnt_table_get_root_fs(struct libmnt_table *tb, struct libmnt_fs **root)
- }
- }
-
-- return root_id ? 0 : -EINVAL;
-+ return *root ? 0 : -EINVAL;
- }
-
- /**
-@@ -545,15 +543,13 @@ int mnt_table_next_child_fs(struct libmnt_table *tb, struct libmnt_iter *itr,
- struct libmnt_fs *fs;
- int parent_id, lastchld_id = 0, chld_id = 0;
-
-- if (!tb || !itr || !parent)
-+ if (!tb || !itr || !parent || !is_mountinfo(tb))
- return -EINVAL;
-
- DBG(TAB, mnt_debug_h(tb, "lookup next child of '%s'",
- mnt_fs_get_target(parent)));
-
- parent_id = mnt_fs_get_id(parent);
-- if (!parent_id)
-- return -EINVAL;
-
- /* get ID of the previously returned child */
- if (itr->head && itr->p != itr->head) {
-@@ -584,7 +580,7 @@ int mnt_table_next_child_fs(struct libmnt_table *tb, struct libmnt_iter *itr,
- }
- }
-
-- if (!chld_id)
-+ if (!*chld)
- return 1; /* end of iterator */
-
- /* set the iterator to the @chld for the next call */
-diff --git a/misc-utils/findmnt.c b/misc-utils/findmnt.c
-index fb21174..988cd73 100644
---- a/misc-utils/findmnt.c
-+++ b/misc-utils/findmnt.c
-@@ -822,8 +822,9 @@ static int tab_is_tree(struct libmnt_table *tb)
- if (!itr)
- return 0;
-
-- if (mnt_table_next_fs(tb, itr, &fs) == 0)
-- rc = mnt_fs_get_id(fs) > 0 && mnt_fs_get_parent_id(fs) > 0;
-+ rc = (mnt_table_next_fs(tb, itr, &fs) == 0 &&
-+ mnt_fs_is_kernel(fs) &&
-+ mnt_fs_get_root(fs));
-
- mnt_free_iter(itr);
- return rc;
---
-1.9.1
-
Deleted: 0001-switch_root-verify-initramfs-by-f_type-not-devno.patch
===================================================================
--- 0001-switch_root-verify-initramfs-by-f_type-not-devno.patch 2014-04-24 13:43:09 UTC (rev 211728)
+++ 0001-switch_root-verify-initramfs-by-f_type-not-devno.patch 2014-04-24 13:45:21 UTC (rev 211729)
@@ -1,59 +0,0 @@
-From 751c39383adaf5ff5a860516238d524b0e20f835 Mon Sep 17 00:00:00 2001
-From: Dave Reisner <dreisner at archlinux.org>
-Date: Wed, 2 Apr 2014 10:41:30 -0400
-Subject: [PATCH] switch_root: verify initramfs by f_type, not devno
-
-As of linux 3.14, the initramfs device will have both major and
-minor 0, causing our paranoia check to fail. Make this version agnostic
-by checking the filesystem type, rather than a device number.
-
-[adopted from master for backport into 2.24.x branch]
-
-Signed-off-by: Dave Reisner <dreisner at archlinux.org>
----
- sys-utils/switch_root.c | 15 +++++++++------
- 1 file changed, 9 insertions(+), 6 deletions(-)
-
-diff --git a/sys-utils/switch_root.c b/sys-utils/switch_root.c
-index f26f7da..40e222d 100644
---- a/sys-utils/switch_root.c
-+++ b/sys-utils/switch_root.c
-@@ -23,6 +23,7 @@
- #include <sys/mount.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-+#include <sys/statfs.h>
- #include <sys/param.h>
- #include <fcntl.h>
- #include <stdio.h>
-@@ -33,6 +34,8 @@
- #include <ctype.h>
- #include <dirent.h>
-
-+#include <linux/magic.h>
-+
- #include "c.h"
- #include "nls.h"
- #include "closestream.h"
-@@ -174,12 +177,12 @@ static int switchroot(const char *newroot)
- if (cfd >= 0) {
- pid = fork();
- if (pid <= 0) {
-- if (fstat(cfd, &sb) == 0) {
-- if (sb.st_dev == makedev(0, 1))
-- recursiveRemove(cfd);
-- else
-- warn(_("old root filesystem is not an initramfs"));
-- }
-+ struct statfs stfs;
-+ if (fstatfs(cfd, &stfs) == 0 &&
-+ (stfs.f_type == RAMFS_MAGIC || stfs.f_type == TMPFS_MAGIC))
-+ recursiveRemove(cfd);
-+ else
-+ warn(_("old root filesystem is not an initramfs"));
-
- if (pid == 0)
- exit(EXIT_SUCCESS);
---
-1.9.1
-
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2014-04-24 13:43:09 UTC (rev 211728)
+++ PKGBUILD 2014-04-24 13:45:21 UTC (rev 211729)
@@ -5,8 +5,8 @@
pkgbase=util-linux
pkgname=(util-linux libutil-linux)
-pkgver=2.24.1
-pkgrel=6
+pkgver=2.24.2
+pkgrel=1
pkgdesc="Miscellaneous system utilities for Linux"
url="http://www.kernel.org/pub/linux/utils/util-linux/"
arch=('i686' 'x86_64')
@@ -19,27 +19,13 @@
uuidd.tmpfiles
pam-login
pam-common
- pam-su
- move_is_mountinfo.patch
- 0001-switch_root-verify-initramfs-by-f_type-not-devno.patch
- 0001-libmount-FS-id-and-parent-ID-could-be-zero.patch)
-md5sums=('88d46ae23ca599ac5af9cf96b531590f'
+ pam-su)
+md5sums=('3f191727a0d28f7204b755cf1b6ea0aa'
'a39554bfd65cccfd8254bb46922f4a67'
'4368b3f98abd8a32662e094c54e7f9b1'
'a31374fef2cba0ca34dfc7078e2969e4'
- 'fa85e5cce5d723275b14365ba71a8aad'
- '4cdc5f9a6e51b032274761a82937d438'
- 'b7ca79a0d5318b7cd813bb2573a3f9a9'
- '2f4bc305bd11d6bfaa81e6c1eb0c6f1b')
+ 'fa85e5cce5d723275b14365ba71a8aad')
-prepare() {
- cd "$pkgname-$pkgver"
-
- patch -p1 -i "${srcdir}/move_is_mountinfo.patch"
- patch -p1 -i "${srcdir}/0001-libmount-FS-id-and-parent-ID-could-be-zero.patch"
- patch -p1 -i "${srcdir}/0001-switch_root-verify-initramfs-by-f_type-not-devno.patch"
-}
-
build() {
cd "$pkgname-$pkgver"
Deleted: move_is_mountinfo.patch
===================================================================
--- move_is_mountinfo.patch 2014-04-24 13:43:09 UTC (rev 211728)
+++ move_is_mountinfo.patch 2014-04-24 13:45:21 UTC (rev 211729)
@@ -1,46 +0,0 @@
-diff --git a/libmount/src/tab.c b/libmount/src/tab.c
-index 3633b6a..8ae49c8 100644
---- a/libmount/src/tab.c
-+++ b/libmount/src/tab.c
-@@ -47,6 +47,20 @@
- #include "strutils.h"
- #include "loopdev.h"
-
-+static int is_mountinfo(struct libmnt_table *tb)
-+{
-+ struct libmnt_fs *fs;
-+
-+ if (!tb)
-+ return 0;
-+
-+ fs = list_first_entry(&tb->ents, struct libmnt_fs, ents);
-+ if (fs && mnt_fs_is_kernel(fs) && mnt_fs_get_root(fs))
-+ return 1;
-+
-+ return 0;
-+}
-+
- /**
- * mnt_new_table:
- *
-@@ -1229,20 +1335,6 @@ err:
- return NULL;
- }
-
--static int is_mountinfo(struct libmnt_table *tb)
--{
-- struct libmnt_fs *fs;
--
-- if (!tb)
-- return 0;
--
-- fs = list_first_entry(&tb->ents, struct libmnt_fs, ents);
-- if (fs && mnt_fs_is_kernel(fs) && mnt_fs_get_root(fs))
-- return 1;
--
-- return 0;
--}
--
- /**
- * mnt_table_is_fs__mounted:
- * @tb: /proc/self/mountinfo file
More information about the arch-commits
mailing list