All of lore.kernel.org
 help / color / mirror / Atom feed
* btrfs check segfaults after flipping 2 Bytes
@ 2014-10-01 20:29 Niklas Fischer
  2014-10-01 20:34 ` Niklas Fischer
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Niklas Fischer @ 2014-10-01 20:29 UTC (permalink / raw)
  To: linux-btrfs

Hello,

I was trying to determine how btrfs reacts to disk errors, when I
discovered, that flipping two Bytes, supposedly inside of a file can
render the filesystem unusable. Here is what I did:

1. dd if=/dev/zero of=/dev/sdg2 bs=1M
2. mkfs.btrfs /dev/sdg2
3. mount /dev/sdg2 /tmp/btrfs
4. echo "hello world this is some text" > /tmp/btrfs/hello
5. umount /dev/sdg2

this should result in this image [1]

in the following steps /dev/sdg2 is altered. Basically, we want to apply
s/world/wirld/g

6. dd if=/dev/sdg2 of=/tmp/sdg2 bs=1M
7. edit /tmp/sdg2 in ghex, find & replace all occurences of "world" with
"wirld" (two occurences found), save as /tmp/sdg2_new
8. dd if=/tmp/sdg2_new of=/dev/sdg2 bs=1M

/dev/sdg2 now looks like this [2]

now, when I try mounting /dev/sdg2:

"""22:21 root@localhost ~#
LANG=EN mount /dev/sdg2 /tmp/btrfs/
mount: mount /dev/sdg2 on /tmp/btrfs failed: Cannot allocate memory"""

ok, so let us try btrfs check

"""22:21 root@localhost ~#
LANG=EN btrfs check /dev/sdg2
checksum verify failed on 4222976 found F22E71BD wanted CE334502
checksum verify failed on 4222976 found F22E71BD wanted CE334502
Csum didn't match
Checking filesystem on /dev/sdg2
UUID: ea2843f1-e8aa-420f-acf8-6ef13f6c6753
checking extents
Speicherzugriffsfehler (Speicherabzug geschrieben)"""

that last line reads "Segfault, memory dumped". Is this behaviour expected?

Kind regards,
Niklas

[1] tgz: https://gigamove.rz.rwth-aachen.de/d/id/R5CKikxbYTBdqs
    raw: https://gigamove.rz.rwth-aachen.de/d/id/VgMXAicS7CGEjt
[2] tgz: https://gigamove.rz.rwth-aachen.de/d/id/cEebNYne9ppFy4
    raw: https://gigamove.rz.rwth-aachen.de/d/id/ATJa7wpfEWdfL2

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-10-06  4:13 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-01 20:29 btrfs check segfaults after flipping 2 Bytes Niklas Fischer
2014-10-01 20:34 ` Niklas Fischer
2014-10-01 23:31 ` Duncan
2014-10-02  5:51   ` Brendan Hide
2014-10-02 10:58     ` Duncan
2014-10-02 18:38     ` Brendan Hide
2014-10-06  2:29 ` Qu Wenruo
2014-10-06  4:10   ` Duncan
2014-10-06  4:13     ` Qu Wenruo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.