Re: Re: Re: SUG: Automatic RPM database verification and repair

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/29/06, seth vidal <skvidal@xxxxxxxxxxxxxx> wrote:
On Wed, 2006-11-29 at 15:58 -0500, Michael Jennings wrote:
> On Wednesday, 29 November 2006, at 15:48:17 (-0500),
> Tony Nelson wrote:
>
> > It disapoints me that you think it is not RPM's responsibility to
> > protect its database.
>
> It is RPM's responsibility to provide database backups as much as it
> is the kernel's responsibility to back up your ext2 filesystems.
>

However, if it were possible to corrupt the ext2 filesystem by
performing frequent reads and writes we would consider that a bug in
ext2, not in the program making the writes.


OK, lets carry your ext2 example to its end-point.

Let's say you identify the physical block in a file, verfify that indeed the
block has exactly the content yopu expect by reading the physical device,
and you save that pyhsical block number somewhere for later use.

<time passes, file is changed/copied>

Now you take your physical block no and go read the data (again)
from the physical device.

Why are you surprised that the contents at the phsical blkno location
have changed? The change is certainly not due to ext2 corruption.

That is essentially what yum is doing, taking a join key (aka header instance)
out of an iterator locking context by opening and closing a Berkeley DB
environment repeatedly, i.e. releasing locks. With concurrent access (and no
persistent locking), other rpmdb accesses can/will open the rpmdb, thereby
changing the contents.

I will attempt a reproducer for the yum problem shortly. Should not be
very hard.

FWIW, there's another kernel problem I saw last night with mmap randomization
(which is used by Berkeley DB) in the FC6 kernel that I should be able
to identify a reproducer for shortly.

73 de Jeff

_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/rpm-list

[Index of Archives]     [RPM Ecosystem]     [Linux Kernel]     [Red Hat Install]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Red Hat]     [Gimp]     [Yosemite News]     [IETF Discussion]

  Powered by Linux