Package: mount
Version: 2.12p-8
Severity: important

There are several calls to update_mtab() which are not guarded by
mtab_is_writable().  The one causing me trouble, in particular, is:

        if (res < 0 && remount && (umnt_err == EBUSY || umnt_err2 == EBUSY)) {
                /* Umount failed - let us try a remount */
                res = mount(spec, node, NULL,
                            MS_MGC_VAL | MS_REMOUNT | MS_RDONLY, NULL);
                if (res == 0) {
                        struct my_mntent remnt;
                        fprintf(stderr,
                                _("umount: %s busy - remounted read-only\n"),
                                spec);
                        remnt.mnt_type = remnt.mnt_fsname = NULL;
                        remnt.mnt_dir = xstrdup(node);
                        remnt.mnt_opts = xstrdup("ro");
                        update_mtab(node, &remnt);
                        return 0;
                } else if (errno != EBUSY) {    /* hmm ... */
                        perror("remount");
                        fprintf(stderr,
                                _("umount: could not remount %s read-only\n"),
                                spec);
                }
        }


Specifically, this is what happened: an --rbind mount failed to be unmounted
during /etc/init.d/umountfs (see my earlier bug report).  Umount dutifully
remounted the bind mount read only.  This had the side effect of also
remounting the root filesystem readonly.  This succeeded, so a message was
printed and update_mtab was called.  update_mtab called die because the root
filesystem was now readonly.  umount exited, without processing any of the
other filesystems listed on its command line.

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.14-rc5
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)

Versions of packages mount depends on:
ii  libblkid1                     1.38-2     block device id library
ii  libc6                         2.3.5-7    GNU C Library: Shared libraries an
ii  libuuid1                      1.38-2     universally unique id library

mount recommends no packages.

-- no debconf information


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to