Subject: bug#32119: Parted molests system firmware partitions.

From: "Laurence Perkins (OE)" <[email-masked]>
Date: Fri, 20 Jul 2018 00:56:43 +0000

On Thu, 2018-07-19 at 15:24 -0700, Brian C. Lane wrote:
> On Tue, Jul 10, 2018 at 06:27:30PM +0000, Laurence Perkins (OE)
> wrote:
> > Calling parted -l however attempts to open these devices read-
> > write. 
> > Which fails and generates a dmesg entry that, prior to the 4.14
> > kernel,
> > was difficult to distinguish from the messages generated by a
> > failing
> > eMMC device.
> 
> Which version of parted are you using and does it include this patch:
> 
> https://github.com/bcl/parted/commit/44d5ae0115c4ecfe3158748309e9912c
> 5aede92d
> 
> That should prevent partprobe and parted -l from opening it R/W when
> it
> doesn't need to.
> 

The latest version available for Gentoo (or Debian as far as I can see)
does not contain that commit.

I pulled the repo you linked and tested it.  It also still generates
the error messages in the kernel log.  I had assumed that the problem
was opening the device read/write due to the wording of the dmesg error
from kernel 4.14.  This may have been a premature assumption on my
part.  (Or maybe not, see below.)

Running parted -l or partprobe with the version from the above repo
results in:

Warning: Error fsyncing/closing /dev/mmcblk1rpmb: Input/output error

Interestingly the 3.2 release version prints the user error twice and
the dmesg error three times while the version from the above repo only
prints the user error once and the dmesg error twice.  So it's also
possible that this commit had some effect but the program goes on to
open the device read/write a couple of times anyway.

If you need access to a device with an rpmb for testing anything, let
me know.  I can probably arrange it.

LMP