Stories
Slash Boxes
Comments

SoylentNews is people

posted by CoolHand on Tuesday February 09 2016, @02:27AM   Printer-friendly
from the why-oh-why dept.

A number of users have reported that running "rm --no-preserve-root -rf /" not only deletes all their files (as expected), but also permanently bricks their computers (which is not). Tracing the issue revealed that the ultimate cause was that SystemD mounted the EFI pseudo-fs as read-write even when this FS was not listed in fstab, and deleting certain files in this pseudo-fs causes certain buggy, but very common, firmware not to POST anymore. A user reported this bug on SystemD's GitHub issue tracker, asking that the FS be mounted read-only instead of read-write, and said bug was immediately closed as invalid. The comment thread for the bug was locked shortly after. Discuss.

Links:
https://github.com/systemd/systemd/issues/2402
http://thenextweb.com/insider/2016/02/01/running-a-single-delete-command-can-permanently-brick-laptops-from-inside-linux/


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 5, Informative) by linuxrocks123 on Tuesday February 09 2016, @06:38AM

    by linuxrocks123 (2557) on Tuesday February 09 2016, @06:38AM (#301228) Journal

    You are technically correct -- the best kind of correct ;)

    There are a number of things that need to happen for this disaster to occur:
    - Someone needs to mount the EFI pseudo-filesystem R/W.
    - Someone needs to delete files in the EFI pseudo-filesystem.
    - The computer has to have buggy firmware.

    Hopefully, anyone who manually issues a command to mount the EFI pseudo-FS read/write knows what he's doing. However, if you're not expecting the EFI pseudo-FS to be mounted, and do rm -rf superdir_of_efi_mount (doesn't have to be /), you may unexpectedly render your computer not just unbootable but totally bricked.

    The kernel should definitely "fix" this situation, because it's now quite clear that mounting the EFI pseudo-FS R/W is REALLY F*ING DANGEROUS on large numbers of systems with buggy firmware, and the kernel should definitely not make something so dangerous so easy to do.

    But it takes years for everyone to upgrade their kernels, and the fix isn't even written yet. In the meantime, sane userspace projects should obviously not aggravate the situation by silently mounting the EFI pseudo-FS read-write without any notice or warning.

    SystemD is not a sane userspace project. SystemD is -- as evidenced by the project's reaction -- run by people so narrow-focused and narrow-minded that they refuse to lift a finger to stop people from physically destroying their machines if they can argue that SystemD's current irresponsible behavior is not technically a bug.

    Or, as I put it on Facebook:

    If the kernel running an ACPI call on a buggy BIOS resulted in the CPU fan turning off and the CPU remaining on in an infinite loop, resulting in melted CPUs, the proper response would not be, "well those systems are buggy; not my problem". And it wouldn't be: the driver for the call would be default-configured disabled, dire warnings would be printed in all caps in the KConfig warning of the consequences of enabling it, and you would have to jump through many hoops to enable the feature for any system not on a whitelist -- and you'd probably have to change the source code itself to disable any blacklist.

    This situation is of similar severity, but the fix is easier. SystemD only needs to write to the EFI pseudo-fs for a single command. That command can remount the pseudo-fs rw for the time it takes to perform whatever action it needs, then remount it ro again. That would stop who-knows-how-many people from permanently bricking their machines.

    But Poettering of course won't descend into the real world to do something like that. SystemD isn't doing anything wrong -- according to his narrow, meaningless definition of "wrong" -- so it doesn't matter that his software is creating a situation in which users' machines are being physically destroyed. Not his problem.

    Starting Score:    1  point
    Moderation   +4  
       Insightful=2, Informative=2, Total=4
    Extra 'Informative' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   5  
  • (Score: 0) by Anonymous Coward on Wednesday February 10 2016, @01:01AM

    by Anonymous Coward on Wednesday February 10 2016, @01:01AM (#301800)

    Both Pottering and Red Hat are all certified incompetant FUCKING IDIOT assholes.

    Linux used to be a nice alternative to windoz but now is driving people away, because of the abortion called systemd.
    All to make linux less unix and more "windows like".

    Myself, I ditched Debian and went to FreeBSD to avoid the inevitable cluster fuck systemd was evolving into, when Debian adopted it.

    Today, it makes for some good comedy from the sidelines, but is still sad to see an OS alternative with so much potential turned into such a fucking nightmare piece of shit that linux has become.