From 64117aae0f7248f9c1cd43ef4eb2ef5790924f06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Fri, 4 Apr 2014 01:10:04 -0300 Subject: linux-libre-3.14-3: updating revision * enable CONFIG_INFINIBAND_IPOIB_CM (FS#39701 => https://bugs.archlinux.org/task/39701) * disable X86_SYSFB and FB_SIMPLE (FS#39715 => https://bugs.archlinux.org/task/39715) * fix FSID of rootfs being 0 For st_dev in struct stat, the value 0 is an error. Make sure rootfs has value 1. This fixes the coreutils cp -ax issue (although that code has already been improved in coreutils, too) and somewhat fixes the switch_root problem in util-linux. It is still possible that rootfs gets an FSID >1 in future versions, so util-linux still needs to be fixed. This is unrelated to the mount id issue in /proc/*/mountinfo - the mount id may still be zero. * revert a patch that always enables autosuspend on intel bluetoothh xhci still sucks and breaks this. I am reverting this commit for reasons that are in no way selfish. --- ...0005-fs-Don-t-return-0-from-get_anon_bdev.patch | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 libre-testing/linux-libre/0005-fs-Don-t-return-0-from-get_anon_bdev.patch (limited to 'libre-testing/linux-libre/0005-fs-Don-t-return-0-from-get_anon_bdev.patch') diff --git a/libre-testing/linux-libre/0005-fs-Don-t-return-0-from-get_anon_bdev.patch b/libre-testing/linux-libre/0005-fs-Don-t-return-0-from-get_anon_bdev.patch new file mode 100644 index 000000000..2af7cff76 --- /dev/null +++ b/libre-testing/linux-libre/0005-fs-Don-t-return-0-from-get_anon_bdev.patch @@ -0,0 +1,44 @@ +From 0de4ffcad031c1d0b8422ebcceb9caa80995a73e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20B=C3=A4chler?= +Date: Thu, 3 Apr 2014 21:55:37 +0200 +Subject: [PATCH 5/6] fs: Don't return 0 from get_anon_bdev +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Commit 9e30cc9595303b27b48 removed an internal mount. This +has the side-effect that rootfs now has FSID 0. Many +userspace utilities assume that st_dev in struct stat +is never 0, so this change breaks a number of tools in +early userspace. + +Since we don't know how many userspace programs are affected, +make sure that FSID is at least 1. + +References: http://article.gmane.org/gmane.linux.kernel/1666905 +References: http://permalink.gmane.org/gmane.linux.utilities.util-linux-ng/8557 +Cc: 3.14 +Signed-off-by: Thomas Bächler +--- + fs/super.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/fs/super.c b/fs/super.c +index 80d5cf2..7624267 100644 +--- a/fs/super.c ++++ b/fs/super.c +@@ -802,7 +802,10 @@ void emergency_remount(void) + + static DEFINE_IDA(unnamed_dev_ida); + static DEFINE_SPINLOCK(unnamed_dev_lock);/* protects the above */ +-static int unnamed_dev_start = 0; /* don't bother trying below it */ ++/* Many userspace utilities consider an FSID of 0 invalid. ++ * Always return at least 1 from get_anon_bdev. ++ */ ++static int unnamed_dev_start = 1; + + int get_anon_bdev(dev_t *p) + { +-- +1.9.1 + -- cgit v1.2.3-2-g168b