Subject: RE: bug#51407: parted didn’t check the returned sense data

From: <[email-masked]>
Date: Thu, 28 Oct 2021 02:32:43 +0000

Hi Brian,
Thanks for the reply. 
Seems Kernel called parted to send Read(16) command to the drive, it is more likely kernel didn't check the returned sense data and change the drive capacity to 0.
I suppose this bug#51407 can be closed. Thanks again.

Regards,
Johnson

-----Original Message-----
From: Brian C. Lane <[email-masked]> 
Sent: Thursday, October 28, 2021 12:03 AM
To: Johnson Yan - A30689 <[email-masked]>
Cc: [email-masked]
Subject: Re: bug#51407: parted didn’t check the returned sense data

[You don't often get email from [email-masked]. Learn why this is important at http://aka.ms/LearnAboutSenderIdentification.]

EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe

On Wed, Oct 27, 2021 at 09:20:59AM +0000, Johnson.Yan--- via Bug reports for the GNU Parted disk partition editor wrote:
> Hi,
> Some further information.
>
>
>   1.  We already tried the latest parted-3.4.tar.xz, issue still exists.
>   2.  For below sense data, the corresponding KCQ=2:04:0E, i.e. SENSE KEY: 2, ADDITIONAL SENSE CODE: 04, ADDITIONAL SENSE CODE QUALIFIER: 0E.
>
> Oct 13 01:30:02 localhost kernel: sd 13:0:3:0: [sde] Sense Key : Not 
> Ready [current] [descriptor]
>
> Oct 13 01:30:02 localhost kernel: sd 13:0:3:0: [sde] Add. Sense: 
> Logical unit not ready, security session in progress
>
> You can find ASC and ASCQ assignments from SPC spec as below.

Sorry, for some reason I didn't get the first email in this thread.
(https://debbugs.gnu.org/cgi/bugreport.cgi?bug=51407)

The logs you included are from the kernel, not from parted, and parted doesn't deal with sense data or changing the drive capacity, that's all in the kernel driver for the drive.

If parted it having problems handling this, that might be something we can improve. It's possible that whatever errors are returned by the kernel aren't being checked, but I don't have any way to tell without either a parted traceback, or doing this myself. I don't think I have any drives capable of secure erase, so someone with access to one will need to dig into this more deeply. eg. running parted via strace to capture any unexpected error codes from the kernel.

Brian

--
Brian C. Lane (PST8PDT) - weldr.io - lorax - parted - pykickstart