lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 01 Jan 2009 13:09:59 -0600
From:	Robert Hancock <hancockr@...w.ca>
To:	linux-kernel@...r.kernel.org
Cc:	linux-usb@...r.kernel.org
Subject:  Re: Enable CONFIG_USB_SUSPEND by default or some mobile HD can't
 be   unplugged safely

Yan Li wrote:
> Hello List,
> 
> By default CONFIG_USB_SUSPEND is not enabled and today I got bite by
> this when I got a new WDC My Book hard drive. I have no way to unplug
> it safely, according to it's manual, with a kernel that doesn't have
> CONFIG_USB_SUSPEND=y.
> 
> On it's manual read "you should unplug and remove the device only when
> the light is off." On Linux unmounting it won't turn it's light off
> and I can feel it's motor is still running.  The only way to unplug it
> properly on a Linux system, as to my knowledge, is to echo `suspend'
> to `/sys/bus/usb/devices/$DEV/power/level'. And one has to have
> CONFIG_USB_SUSPEND=y to do this.
> 
> On Windows and Mac OS, `safely remove this device' function effectly
> turns it into `suspend' mode, and it's light off.
> 
> I'm new in this field and I understood people's concern on enabling
> autosuspend.  As to my understanding, `enabling suspend' and `enabling
> autosuspend' should be controlled by two different knobs.  I did a
> quick search in LKML and haven't found specific oppose to enable USB
> suspend by default, and Debian has started shipping a kernel with
> it turned on since 2.6.26.
> 
> Perhaps we should consider turning it on by default?  Thanks!

It's probably not a bad idea. I'm not sure how big of a problem it 
actually is, though. As long as the filesystem is unmounted before 
unplug you'll probably be OK (unless you ripped out the cable/power so 
quickly afterwards that there was still data in the write cache).

Ideally before disconnecting a removable hard drive one should flush the 
write cache and park the heads (the latter being somewhat important for 
2.5" drives in order to avoid emergency head unloads that would reduce 
the life of the drive). I believe that there's a command one can echo 
into the sd driver in sysfs somewhere that will trigger this.. Therefore 
the right sequence would be:

-unmount filesystem
-remove SCSI disk (synchronize cache and stop unit)
-suspend SCSI device

Thing is that some USB storage devices don't support both of those 
commands (I've got a USB-to-IDE enclosure with a Genesys chipset that 
doesn't translate SCSI START STOP UNIT into an IDE Standby Immediate 
command as it really should, think it just throws "invalid field in CDB" 
errors). However if we've done the above we've really done the best we 
can do..

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ