From: Daniel Kucera <linux-mmc@danman.eu>
To: ulf.hansson@linaro.org
Cc: Avri Altman <Avri.Altman@wdc.com>,
linux-mmc@vger.kernel.org, alcooperx@gmail.com
Subject: Re: [PATCH v4] mmc: core: allow detection of locked cards
Date: Mon, 01 Jul 2024 10:33:14 +0200 [thread overview]
Message-ID: <db8de534f6f2c39195f6a5f094c93312@danman.eu> (raw)
In-Reply-To: <DM6PR04MB6575D856FD5D5E61D40576FAFCC92@DM6PR04MB6575.namprd04.prod.outlook.com>
Hi Ulf,
could you please reconsider this?
Or give some tips how to make this acceptable for merging?
Thank you,
Daniel.
On 2024-06-21 09:16, Avri Altman wrote:
>> On 2024-06-20 16:32, Ulf Hansson wrote:
>> > On Thu, 20 Jun 2024 at 14:59, Daniel Kucera <linux-mmc@danman.eu>
>> > wrote:
>> >>
>> >> On 2024-06-20 14:38, Ulf Hansson wrote:
>> >> > On Thu, 6 Jun 2024 at 15:12, <linux-mmc@danman.eu> wrote:
>> >> >>
>> >> >> From: Daniel Kucera <linux-mmc@danman.eu>
>> >> >>
>> >> >> Locked SD card will not reply to SEND_SCR or SD_STATUS commands so
>> >> >> it was failing to initialize previously. When skipped, the card
>> >> >> will get initialized and CMD42 can be sent using ioctl to unlock
>> >> >> the card or remove password protection.
>> >> >> For eMMC, this is not necessary because all initialization
>> >> >> commands are allowed in locked state.
>> >> >> Until unlocked, all read/write calls will timeout.
>> >> >
>> >> > Skipping the commands above, only means the card gets partially
>> >> > initialized.
>> >>
>> >> Correct, but it's an improvement in comparison to current state.
>> >
>> > Not sure I agree with that, sorry.
>>
>> Are you saying that that being able to work with locked card is not an
>> improvement in comparison to not being able to? Or did I misunderstand
>> that?
>>
>> >
>> >>
>> >> > Leaving a card in that state seems fragile.
>> >>
>> >> Fragile in what sense? Nothing can happen to the card as it is locked.
>> >
>> > We may end up having a card half-way initialized that we can't really
>> > communicate with in a stable manner. From a system point of view, I
>> > would be worried.
> Actually, it's what the spec expects - the CARD_IS_LOCKED is carried
> in CMD7 response.
> Then the card responds to class 0, class 7, and ACMD41.
>
>>
>> It's not half-way initialized, it's initialized correctly, it's just
>> not using the full
>> potential of the card (higher speeds, etc.).
>>
>> The situation would be the same as it is currently with emmc. Locked
>> emmc
>> gets initialized correctly but reads/writes time-out. What is wrong in
>> having
>> the same result for both sd and emmc?
>>
>> >
>> > I would rather just power off the card if initialization fails and
>> > remove its corresponding device from the system.
>> >
>> >>
>> >> > What will
>> >> > happen to upper block layers and filesystems when trying to access it?
>> >>
>> >> Everything will simply time-out.
>> >
>> > Yes, but it's uncertain what that could lead to?
>> >
>> > What will happen with power consumption and power management
>> support,
>> > for example.
>>
>> Okay, this is a valid concern. Would it be acceptable if we just
>> enabled this
>> "feature" with a module parameter, something like
>> "sd_initialize_locked=1"
>> with default 0?
>>
>> >
>> >>
>> >> >
>> >> > Several years ago Al Cooper made an attempt [1] to manage the
>> >> > unlocking of the card during initialization, by finding the
>> >> > password through the "keys" subsystem. The series didn't really
>> >> > make it to the upstream kernel, but overall the approach seemed to make
>> sense to me.
>> >> > It should allow us to complete the initialization of the card
>> >> > inside the kernel and prevent unnecessary complexity for userspace to
>> manage.
>> >>
>> >> Yes, he did a great work but obviously no-one got too excited to
>> >> review/merge his work. His solution was complex.
>> >
>> > It's quite some amount of code. On the other hand, it seemed quite
>> > straight forward, not that complex to me.
>>
>> It doesn't solve the situation when you don't know the password and
>> you just
>> want to erase the card and continue using in. The (un)locking doesn't
>> belong
>> to kernel IMO, if it can be implemented in user-space, it should and
>> it is more
>> flexible that way.
> I also see little value in handling the unlocking process in the
> kernel.
> I find the proposed approach, e.g. co-exists with its sibling
> mmc-utils patch, straight forward and simpler.
>
> Thanks,
> Avri
>>
>> >
>> >>
>> >> Mine targets the smallest change possible to make it work at least.
>> >> I wanted to avoid a solution that would be hard to test, review and
>> >> maintain.
>> >> Especially when there is only a small interest in the feature.
>> >>
>> >> > Perhaps you can have a closer look at that series and see if it's
>> >> > possible to update it?
>> >>
>> >> I don't think I have the skills to revive his work.
>> >
>> > I see, maybe we should ping Al and other interested folkz to see if
>> > there still is some interest to move this forward?
>>
>> Okay, Al, are you interested?
>>
>> >
>> > [...]
>> >
>> > Kind regards
>> > Uffe
>>
>> BR
>> Daniel
>>
next prev parent reply other threads:[~2024-07-01 8:40 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-06 13:12 [PATCH v4] mmc: core: allow detection of locked cards linux-mmc
2024-06-20 12:38 ` Ulf Hansson
2024-06-20 12:59 ` Daniel Kucera
2024-06-20 14:32 ` Ulf Hansson
2024-06-20 15:31 ` Christian Loehle
2024-06-20 18:15 ` Daniel Kucera
2024-06-21 7:16 ` Avri Altman
2024-07-01 8:33 ` Daniel Kucera [this message]
2024-07-08 13:32 ` Ulf Hansson
2024-07-08 13:43 ` Ulf Hansson
2024-07-09 20:06 ` Avri Altman
2024-07-10 5:21 ` Daniel Kucera
2024-07-10 5:49 ` Avri Altman
2024-07-10 13:26 ` Ulf Hansson
2024-07-13 20:50 ` Daniel Kucera
2024-07-14 6:49 ` Avri Altman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=db8de534f6f2c39195f6a5f094c93312@danman.eu \
--to=linux-mmc@danman.eu \
--cc=Avri.Altman@wdc.com \
--cc=alcooperx@gmail.com \
--cc=linux-mmc@vger.kernel.org \
--cc=ulf.hansson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox