Your message dated Tue, 23 Jun 2009 17:02:06 +0000
with message-id <e1mj9nm-0006uk...@ries.debian.org>
and subject line Bug#526398: fixed in sysvinit 2.86.ds1-62
has caused the Debian Bug report #526398,
regarding /etc/init.d/checkroot.sh: can cause serious data corruption if 
booting on battery power
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
526398: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=526398
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: initscripts
Version: 2.86.ds1-61
Severity: critical
File: /etc/init.d/checkroot.sh
Justification: causes serious data loss

I was rather horrified to watch my laptop boot with a dirty root
filesystem mounted read/write.  Upon further investigation, I discovered
that checkroot.sh and checkfs.sh are hardcoded to bypass filesystem
checks if AC power is not present.  This makes no sense.  

If a journalling filesystem has errors, it should not be mounted
read/write until those errors are corrected.  Non-journalling filesystems
always need fsck if they are umounted uncleanly, so they shouldn't be
mounted read/write without checking and possible correction either.
Both cases require fsck before mounting regardless of the power source.

Failing to fsck in either case can cause serious data loss, especially
if the filesystem's metadata falsely indicates occupied space is free
and the system is used for some time.  This can lead to duplicate
allocations between filesystem metadata and user data, which leads to
data loss, security problems, unintentional data disclosure, and worse.
Recovery from errors of this kind is nearly impossible without a good set
of backups handy.  Serious problems can remain undetected for sufficently
long periods of time that backups get corrupted as well.

The problem is even worse for laptops that are only rebooted due to
crashes, and only crash "in the field" while running on battery power.
Such machines may never run fsck until the corruption is sufficiently
bad that the machine is unusable.

I would propose that the battery power status should only be tested
in checkroot.sh and checkfs.sh if a configuration setting explicitly
permits it.  For example, a variable FSCKONBATTERY might be added to
/etc/default/rcS with these options:

        yes - check filesystems regardless of battery status (ignore
        on_ac_power entirely).  This should be the default.

        no - don't check filesystems when on_ac_power returns false.
        This is the current behavior.

The system should not corrupt data by default, which is why the default
I propose above is different from the current behavior.  

Installed systems which are upgrading from legacy versions of initscripts
might preserve the old behavior in accordance with the principle of least
surprise, but all new systems should be installed with the default set
as above.

I would argue that unexpected data corruption is a much bigger surprise
than fscks on battery, but other bugs filed against this package suggest
people actually prefer the broken behavior, and these people would
probably complain if we fixed it for them.




-- System Information:
Debian Release: 5.0.1
  APT prefers stable
  APT policy: (500, 'stable'), (189, 'testing'), (179, 'unstable'), (1, 
'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.28.4-zb64 (SMP w/4 CPU cores; PREEMPT)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash

Versions of packages initscripts depends on:
ii  debianutils                  2.30        Miscellaneous utilities specific t
ii  e2fsprogs                    1.41.3-1    ext2/ext3/ext4 file system utiliti
ii  libc6                        2.9-4       GNU C Library: Shared libraries
ii  lsb-base                     3.2-20      Linux Standard Base 3.2 init scrip
ii  mount                        2.13.1.1-1  Tools for mounting and manipulatin
ii  sysvinit-utils               2.86.ds1-61 System-V-like utilities

Versions of packages initscripts recommends:
ii  psmisc                        22.6-1     Utilities that use the proc filesy

initscripts suggests no packages.

-- no debconf information



--- End Message ---
--- Begin Message ---
Source: sysvinit
Source-Version: 2.86.ds1-62

We believe that the bug you reported is fixed in the latest version of
sysvinit, which is due to be installed in the Debian FTP archive:

initscripts_2.86.ds1-62_i386.deb
  to pool/main/s/sysvinit/initscripts_2.86.ds1-62_i386.deb
sysv-rc_2.86.ds1-62_all.deb
  to pool/main/s/sysvinit/sysv-rc_2.86.ds1-62_all.deb
sysvinit-utils_2.86.ds1-62_i386.deb
  to pool/main/s/sysvinit/sysvinit-utils_2.86.ds1-62_i386.deb
sysvinit_2.86.ds1-62.diff.gz
  to pool/main/s/sysvinit/sysvinit_2.86.ds1-62.diff.gz
sysvinit_2.86.ds1-62.dsc
  to pool/main/s/sysvinit/sysvinit_2.86.ds1-62.dsc
sysvinit_2.86.ds1-62_i386.deb
  to pool/main/s/sysvinit/sysvinit_2.86.ds1-62_i386.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 526...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Petter Reinholdtsen <p...@debian.org> (supplier of updated sysvinit package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Tue, 23 Jun 2009 18:18:53 +0200
Source: sysvinit
Binary: sysvinit sysvinit-utils sysv-rc initscripts
Architecture: source i386 all
Version: 2.86.ds1-62
Distribution: unstable
Urgency: low
Maintainer: Debian sysvinit maintainers 
<pkg-sysvinit-de...@lists.alioth.debian.org>
Changed-By: Petter Reinholdtsen <p...@debian.org>
Description: 
 initscripts - Scripts for initializing and shutting down the system
 sysv-rc    - System-V-like runlevel change mechanism
 sysvinit   - System-V-like init utilities
 sysvinit-utils - System-V-like utilities
Closes: 67095 316468 339955 360165 422940 457896 461103 471101 483392 484883 
501724 504877 510455 510912 512003 519520 526398 529805 534300
Changes: 
 sysvinit (2.86.ds1-62) unstable; urgency=low
 .
   [ Kel Modderman ]
   * Add missing semi-colon in LSB header of init.d/urandom (Closes:
     #501724).
   * Force C locale for df command used in init.d/mountoverflowtmp.
     (Closes: #510912)
   * Update startpar source to upstream 0.52 (from 0.50) and apply debian
     compatibility patch (sent upstream). Also workaround /dev/pts not
     being mounted early in runlevel S by having startpar use an own
     version of getpt(2) system call. (Closes: #457896, #484883)
   * Enable CONCURRENCY=makefile mode in debian/sysv-rc/etc/init.d/rc.
     This mode uses startpar and the /etc/init.d/.depend.* makefile-like
     information created by insserv to calculate boot script execution
     order. The splash API is not supported in this mode of boot. This
     mode of boot is considered very experimental at this time.
   * Allow startpar using concurrency modes to operate in runlevel S, now
     that startpar can manage to work properly in absence of /dev/pts.
   * Use uscan dversionmangle option to remove .ds\d+ string from modifed
     orig.tar.gz. This fixes the debian-watch-file-should-mangle-version
     lintian warning. Patch taken from diff on LP: #312764.
   * Add comment to debian/sysv-rc/etc/init.d/rc about debug=echo, it
     should never be left uncommented for a real boot process and should
     only be used for interactive debugging. (Closes: #510455)
   * Do not mount usbfs any more, it was deprecated long ago.
     Applications should all use /dev/bus/usb, which can be managed more
     flexibly (assign permissions with udev, and the like). Thanks Martin
     Pitt. (Closes: #483392, #422940, #360165, #471101)
   * Add Homepage field to debian/control.
   * Add interface for disabling system init script start links with
     update-rc.d, and enabling them again. (Closes: #67095)
   * When update-rc.d in "start|stop"-mode is invoked without the final
     dot, script warnings are displayed just before the "usage" message
     is shown. Check that last argument to start|stop command is a period
     earlier. Thanks to Patrick <p...@painfullscratch.nl>.  (Closes: #512003)
   * Use -delete option of find(1) instead of piping through xargs in
     debian/initscripts/lib/init/bootclean.sh. (Closes: #316468, #461103)
   * Make init.d/rc simpler by dropping support for sourcing .sh files
     after the policy finally changed in 3.8.1.  Update to Standards
     version 3.8.1. (Closes: #339955, #519520)
   * Allow initscripts postinst maintainer script to not fail when
     attempting to mkdir /dev/pts and /dev/shm when running in a
     fakechroot environment. This is done by checking for FAKECHROOT env
     variable before bailing out. Patch thanks to Daniel Kahn Gillmor.
     (Closes: #504877)
   * Update debian/NOTES to reflect current affairs.
 .
   [ Petter Reinholdtsen ]
   * Move the startpar binary to a more proper location, from sysvinit
     to sysvinit-utils.
   * Comment out the code disabling fsck when running on battery.  It
     need changes in fsck to work properly (Closes: #526398).  This
     Reopens #326647.
   * Add a /usr/sbin/service command (Closes: #534300).  Modified the
     manual page based on ideas from the sysvconfig package.  Thanks to
     Steve Langasek and Ubuntu.  Add conflict with sysvconfig and
     chkconfig providing the same program.
   * Improve init.d/umountfs umount ordering code to avoid being
     confused while still solving #391673 (Closes: #529805).  Patch
     from Tim Phipps.
   * Make sysv-rc depend on a version of sysvinit-utils with a properly
     working startpar, in case concurrent booting is enabled.
   * Drop shell style concurrent booting, and make CONCURRENCY=shell
     behave like CONCURRENTY=startpar, as startpar concurrency now work
     properly.
Checksums-Sha1: 
 77ff3ecfa1130e320dacfaec70b044d381c85fca 1483 sysvinit_2.86.ds1-62.dsc
 0fe9f119888b22ab789e2b9babeabcb95efb0b5d 155616 sysvinit_2.86.ds1-62.diff.gz
 81cb9e47352efc1de8e72c31d3b4f7c6c4c6d69f 103082 sysvinit_2.86.ds1-62_i386.deb
 34da4a531585d44301ece3088c5981d687a002c5 86618 
sysvinit-utils_2.86.ds1-62_i386.deb
 f2f446c6e5c9fdbb1c93822fa33e209967d09545 69010 initscripts_2.86.ds1-62_i386.deb
 a2ebfd00011db4f3d0609634b2409acba7e14826 65638 sysv-rc_2.86.ds1-62_all.deb
Checksums-Sha256: 
 89db98da56f8c2417aee098f44cc301c2821409bbe1682515a86fa311363c843 1483 
sysvinit_2.86.ds1-62.dsc
 f655ed6fdfd2591dadc399aaae9fe6dc1782d165feb908ff240b7ad2d1f0e4f2 155616 
sysvinit_2.86.ds1-62.diff.gz
 718dfa0d930d38130358cef22d5b86ae2e078eb7ea9615b6a75a3ed8307128f8 103082 
sysvinit_2.86.ds1-62_i386.deb
 ab26b862341d93190797c4b79bcd4acf25185eccb12f6127b98954cbf667ba60 86618 
sysvinit-utils_2.86.ds1-62_i386.deb
 bf8f5330b35ba5ea5a42fbd43d8d43dcf893534983114a83d5daff7db2d6031f 69010 
initscripts_2.86.ds1-62_i386.deb
 bf3e86f69effe488a950c8c04955505e6dedb73d577b6c038edab4c4376092d3 65638 
sysv-rc_2.86.ds1-62_all.deb
Files: 
 8aff0cbff66ff250babf4be897c88dda 1483 admin required sysvinit_2.86.ds1-62.dsc
 6dd9d90daa7384f24198e2a20534d9cd 155616 admin required 
sysvinit_2.86.ds1-62.diff.gz
 88235b6992eccdbc9689efd79c021149 103082 admin required 
sysvinit_2.86.ds1-62_i386.deb
 40006b5c47ecd8e7af6f2fb0356eecbe 86618 admin required 
sysvinit-utils_2.86.ds1-62_i386.deb
 a8cd6f0d2982e6cfb7489d56a449f079 69010 admin required 
initscripts_2.86.ds1-62_i386.deb
 2b8ebaa8b9a72a66abf0e7c5ffb90fd9 65638 admin required 
sysv-rc_2.86.ds1-62_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iD8DBQFKQQiC20zMSyow1ykRAjJ7AKDts2KBER9fjpOcCIrHnwyy9aR/xgCgy0r5
ZBq+xDveg/S8a8ikptgAiC0=
=O+4B
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to