SD card stays locked even when unlocked

Bug #1823346 reported by Andrew Kay
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Description: Ubuntu 18.04.2 LTS
Release: 18.04

After card reader device is used with write-protected SD card, write-protection incorrectly persists to future SD cards, even non-protected ones.

To reproduce:
1) Insert non-protected SD card in card reader (confirm system normal):
    $ sudo hdparm -r /dev/sdd
     /dev/sdd:
      readonly = 0 (off)
[result is correct]

2) Eject card, set physical lock on side of card, reinsert:
    $ sudo hdparm -r /dev/sdd
    /dev/sdd:
      readonly = 1 (on)
[result is correct - card read-only]

3) Eject card again, unlock card, reinsert
    $ sudo hdparm -r /dev/sdd
    /dev/sdd:
      readonly = 1 (on)
[result is **incorrect** (card still locked)]

Because the lock is still set, the device always appears read-only. (For example, I cannot "dd" to /dev/sdd)

Workaround:
after removing the locked card, issue "sudo hdparm -r0" to turn off the lock. Then insert the unlocked card and the device will appear read/write.

(I don't know if this is the right package to report against.)

ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: udisks2 2.7.6-3ubuntu0.2
ProcVersionSignature: Ubuntu 4.15.0-46.49-generic 4.15.18
Uname: Linux 4.15.0-46-generic x86_64
ApportVersion: 2.20.9-0ubuntu7.6
Architecture: amd64
CurrentDesktop: XFCE
CustomUdevRuleFiles: 69-basler-cameras.rules 99-realsense-libusb.rules
Date: Fri Apr 5 14:50:32 2019
InstallationDate: Installed on 2016-09-28 (919 days ago)
InstallationMedia: Xubuntu 16.04.1 LTS "Xenial Xerus" - Release amd64 (20160719)
MachineType: Hewlett-Packard HP Z620 Workstation
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.15.0-46-generic root=UUID=1a9272d2-8838-4bb4-8f63-ce571641c48c ro quiet splash vt.handoff=1
SourcePackage: udisks2
Symptom: storage
Title: No permission to access files on storage device
UpgradeStatus: Upgraded to bionic on 2019-01-14 (81 days ago)
dmi.bios.date: 05/27/2015
dmi.bios.vendor: Hewlett-Packard
dmi.bios.version: J61 v03.88
dmi.board.asset.tag: CZC4086C7Q
dmi.board.name: 158A
dmi.board.vendor: Hewlett-Packard
dmi.board.version: 0.00
dmi.chassis.asset.tag: CZC4086C7Q
dmi.chassis.type: 6
dmi.chassis.vendor: Hewlett-Packard
dmi.modalias: dmi:bvnHewlett-Packard:bvrJ61v03.88:bd05/27/2015:svnHewlett-Packard:pnHPZ620Workstation:pvr:rvnHewlett-Packard:rn158A:rvr0.00:cvnHewlett-Packard:ct6:cvr:
dmi.product.family: 103C_53335X G=D
dmi.product.name: HP Z620 Workstation
dmi.sys.vendor: Hewlett-Packard

Revision history for this message
Andrew Kay (music1) wrote :
Revision history for this message
Sebastien Bacher (seb128) wrote :

it's more likely a kernel issue, reassigning

affects: udisks2 (Ubuntu) → linux (Ubuntu)
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Would it be possible for you to test the latest upstream kernel? Refer
to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest
v5.1-rc3 kernel [0].

If this bug is fixed in the mainline kernel, please add the following
tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag:
'kernel-bug-exists-upstream'.

Once testing of the upstream kernel is complete, please mark this bug as
"Confirmed”, and attach dmesg.

Thanks in advance.

[0] https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.1-rc3/

Revision history for this message
Andrew Kay (music1) wrote :

Sorry, trying to follow your instructions, but some competency problems here:

I did install and test with v5.1-rc4 kernel. Behaviour is exactly the same.
(oddly, this was the easy bit.)

Finally worked out how to add a tag.

But now:
1) my dmesg appears to be broken with this kernel. Just hundreds of lines all saying the same, eg:

[ 693.835558] cma: cma_alloc: alloc failed, req-size: 1 pages, ret: -12

and 3) bug already says "confirmed"

I'm confused.

tags: added: kernel-bug-exists-upstream
Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Did this ever happen to kernel v4.4, which is kernel for 16.04?

Revision history for this message
Andrew Kay (music1) wrote :

I'm sorry, I don't know. I don't use the card lock often at all.

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Please see if this issue doesn't happen on kernel version < Ubuntu-4.15.0-33.36.

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

This may be a regression introduced by this commit:
commit 20bd1d026aacc5399464f8328f305985c493cde3
Author: Jeremy Cline <email address hidden>
Date: Tue Mar 6 21:47:32 2018 +0000

    scsi: sd: Keep disk read-only when re-reading partition

    If the read-only flag is true on a SCSI disk, re-reading the partition
    table sets the flag back to false.

    To observe this bug, you can run:

    1. blockdev --setro /dev/sda
    2. blockdev --rereadpt /dev/sda
    3. blockdev --getro /dev/sda

    This commit reads the disk's old state and combines it with the device
    disk-reported state rather than unconditionally marking it as RW.

    Reported-by: Li Ning <email address hidden>
    Signed-off-by: Jeremy Cline <email address hidden>
    Signed-off-by: Martin K. Petersen <email address hidden>

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.