commit-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[hurd] 01/01: mtab-siglost.patch: Replace with mount-nostd.patch


From: Samuel Thibault
Subject: [hurd] 01/01: mtab-siglost.patch: Replace with mount-nostd.patch
Date: Mon, 22 Feb 2016 19:15:39 +0000

This is an automated email from the git hooks/post-receive script.

sthibault pushed a commit to branch master
in repository hurd.

commit edd0116a535f0155d1fbf57eaefc6a8c5e2f2a6d
Author: Samuel Thibault <address@hidden>
Date:   Mon Feb 22 19:15:09 2016 +0000

    mtab-siglost.patch: Replace with mount-nostd.patch
    
    to fix mtab crash, but also d-i ISO mount hang
---
 debian/changelog                  |  7 +++++
 debian/patches/mount-nostd.patch  | 55 +++++++++++++++++++++++++++++++++++++++
 debian/patches/mtab-siglost.patch | 14 ----------
 debian/patches/series             |  2 +-
 4 files changed, 63 insertions(+), 15 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index e293e22..02d4804 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+hurd (1:0.7.git20160214-3) UNRELEASED; urgency=medium
+
+  * patches/mtab-siglost.patch: Replace with upstream patches/mount-nostd.patch
+    to fix mtab crash, but also d-i ISO mount hang.
+
+ -- Samuel Thibault <address@hidden>  Mon, 22 Feb 2016 19:14:25 +0000
+
 hurd (1:0.7.git20160214-2) unstable; urgency=medium
 
   * Drop setting passive translator on /proc, sysvinit now mounts it
diff --git a/debian/patches/mount-nostd.patch b/debian/patches/mount-nostd.patch
new file mode 100644
index 0000000..14c73ce
--- /dev/null
+++ b/debian/patches/mount-nostd.patch
@@ -0,0 +1,55 @@
+Apparently some users of 'mount' do not cope with any output being
+generated from the spawned translator.
+
+* utils/mount.c (do_mount): Start translators with stderr closed.
+---
+ utils/mount.c | 33 ++++++++++++++++++++++++++++++---
+ 1 file changed, 30 insertions(+), 3 deletions(-)
+
+diff --git a/utils/mount.c b/utils/mount.c
+index c5736ba..5fa35bc 100644
+--- a/utils/mount.c
++++ b/utils/mount.c
+@@ -420,9 +420,36 @@ do_mount (struct fs *fs, int remount)
+       }
+ 
+       explain ("settrans -a");
+-      err = fshelp_start_translator (open_node, NULL, fsopts,
+-                                   fsopts, fsopts_len, timeout,
+-                                   &active_control);
++      {
++      mach_port_t ports[INIT_PORT_MAX];
++      mach_port_t fds[STDERR_FILENO + 1];
++      int ints[INIT_INT_MAX];
++      int i;
++
++      for (i = 0; i < INIT_PORT_MAX; i++)
++        ports[i] = MACH_PORT_NULL;
++      for (i = 0; i < STDERR_FILENO + 1; i++)
++        fds[i] = MACH_PORT_NULL;
++      memset (ints, 0, INIT_INT_MAX * sizeof(int));
++
++      ports[INIT_PORT_CWDIR] = getcwdir ();
++      ports[INIT_PORT_CRDIR] = getcrdir ();
++      ports[INIT_PORT_AUTH] = getauth ();
++
++      err = fshelp_start_translator_long (open_node, NULL,
++                                          fsopts, fsopts, fsopts_len,
++                                          fds, MACH_MSG_TYPE_COPY_SEND,
++                                          STDERR_FILENO + 1,
++                                          ports, MACH_MSG_TYPE_COPY_SEND,
++                                          INIT_PORT_MAX,
++                                          ints, INIT_INT_MAX,
++                                          geteuid (),
++                                          timeout, &active_control);
++      for (i = 0; i < INIT_PORT_MAX; i++)
++        mach_port_deallocate (mach_task_self (), ports[i]);
++      for (i = 0; i <= STDERR_FILENO; i++)
++        mach_port_deallocate (mach_task_self (), fds[i]);
++      }
+       /* If ERR is due to a problem opening the translated node, we print
+        that name, otherwise, the name of the translator.  */
+       if (open_err)
+-- 
+2.1.4
+
diff --git a/debian/patches/mtab-siglost.patch 
b/debian/patches/mtab-siglost.patch
deleted file mode 100644
index b1b7c31..0000000
--- a/debian/patches/mtab-siglost.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/trans/mtab.c b/trans/mtab.c
-index e855080..4221bce 100644
---- a/trans/mtab.c
-+++ b/trans/mtab.c
-@@ -211,6 +211,9 @@ main (int argc, char *argv[])
- {
-   error_t err;
- 
-+  signal(SIGLOST, SIG_IGN);
-+  signal(SIGPIPE, SIG_IGN);
-+
-   err = argp_parse (&argp, argc, argv, ARGP_IN_ORDER, 0, 0);
-   if (err)
-     error (1, err, "argument parsing");
diff --git a/debian/patches/series b/debian/patches/series
index d781f3e..13fc978 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -23,5 +23,5 @@ disable_new_task_notification.diff
 newRPC.patch
 dl_origin.patch
 cross-link.patch
-mtab-siglost.patch
 procfs-compatible
+mount-nostd.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-hurd/hurd.git



reply via email to

[Prev in Thread] Current Thread [Next in Thread]