Date: Thu, 23 Jul 2009 12:29:23 +0200 (CEST) From: Alexander Best <alexbestms@math.uni-muenster.de> To: <freebsd-current@FreeBSD.org> Subject: possible bug in sbin/fsck_msdosfs/boot.c Message-ID: <permail-20090723102923f7e55a9d000042a4-a_best01@message-id.uni-muenster.de>
next in thread | raw e-mail | index | archive | help
This is a MIME encoded multipart message. --+permail-20090723102923f7e55a9d000042a4-a_best01+ Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit i just tried to do fsck_msdosfs on my mobile phone's memory card using a usb connection cable. this is what `file -s` has to say about /dev/da0: /dev/da0: x86 boot sector, code offset 0x0, OEM-ID " ", sectors/cluster 64, reserved sectors 6304, Media descriptor 0xf8, heads 128, hidden sectors 8192, sectors 7736320 (volumes > 32 MB) , FAT (32 bit), sectors/FAT 944, reserved3 0x800000, serial number 0x34613466, label: "mem " however after issuing the command `fsck_msdosfs /dev/da0` i got the following error: fsck_msdosfs /dev/da0 ** /dev/da0 backup doesn't compare to primary bootblock i did a bit of research and it seems this bug was supposed to be fixed by r128463. the problem was that the entire bootblock was compared to the backupblock. but since only the first 52 bytes of the bootblock are important many device use the rest of the bootblock for some other purpose. the following change was made to sbin/fsck_msdosfs/boot.c: -- if (memcmp(block, backup, DOSBOOTBLOCKSIZE)) { ++ if (memcmp(block + 11, backup + 11, 79)) { it seems however that the last memcmp argument is still too high. could somebody with good fat12/16/32 knowledge please look into this? i attached the original openbsd problem report which described the problem in detail in 2006 (actually the problem was first discovered in 2001 but nobody seemed to care about it back then). cheers. alex oh...and i'm running r195774 (8.0-BETA2). --+permail-20090723102923f7e55a9d000042a4-a_best01+ Content-Type: text/plain Content-Transfer-Encoding: Base64 Content-Disposition: attachment; filename="pr.txt" PlN1Ym1pdHRlci1JZDoga291c3UKPk9yaWdpbmF0b3I6IE5pY2sgR3VlbnRoZXIKPk9yZ2FuaXph dGlvbjoKPlN5bm9wc2lzOiBmc2NrX21zZG9zIGRldGVjdHMgYSBiYWQgcGFydGl0aW9uIHdoZW4g aXQncyBhY3R1YWxseSBva2F5Cj5TZXZlcml0eTogbm9uLWNyaXRpY2FsCj5Qcmlvcml0eTogbWVk aXVtCj5DYXRlcmdvcnk6IHN5c3RlbQo+Q2xhc3M6IHN3LWJ1Zwo+UmVsZWFzZTogMy44LVJlbGVh c2UKPkVudmlyb25tZW50OgoJU3lzdGVtCTogT3BlbkJTRCAzLjgKCUFyY2hpdGVjdHVyZQk6IE9w ZW5CU0QuaTM4NgoJTWFjaGluZToJOiBpMzg2Cj5EZXNjcmlwdGlvbjoKCVJ1bm5nIGZzY2tfbXNk b3Mgb24gRkFUMzIgcGFydGl0aW9ucyB0aGF0IGhhdmUgYmVlbiBjb3JydXB0ZWQgaW4gYQpjZXJ0 YWluIHdheSBjYXVzZXMgImJhY2t1cCBkb2Vzbid0IGNvbXBhcmUgdG8gcHJpbWFyeSBib290Ymxv Y2siIGV2ZW4Kd2hlbiB0aGUgY29ycmVzcG9uZGluZyBtaWNyb3NvZnQgdG9vbHMgc2F5IHRoZSBk aXNrIGlzIGNsZWFuLiBUaGlzIGlzCmJlY2F1c2UgaXQgY29tcGFyZXMgdG9vIG11Y2ggb2YgdGhl IHByaW1hcnkgYW5kIGJhY2t1cCBib290YmxvY2tzIG9uIGEKRkFUMzIgcGFydGl0aW9uLiBJdCBz aG91bGQgb25seSBjb21wYXJlIHRoZSBmaXJzdCA1MiBieXRlcyBidXQgaXQKY29tcGFyZXMgdGhl IGVudGlyZXR5IG9mIHRoZSBET1MgYm9vdCBibG9jay4KPkhvdy1Uby1SZXBlYXQ6CglGb3JtYXQg YSBuZXcgRkFUMzIgcGFydGl0aW9uIChpZGVhbGx5IHVzaW5nIG1pY3Jvc29mdCB0b29scykuIElm IHlvdQpydW4gZnNja19tc2RvcyBvbiB0aGlzIGl0IGlzIGZpbmUgYmVjYXVzZSB0aGUgcHJpbWFy eSBhbmQgYmFja3VwCmJvb3RibG9ja3Mgd2VyZSBib3RoIGluaXRpYWxpemVkIHRoZSBzYW1lIHdh eSAocHJlc3VtYWJsZSB0byBudWxscykuCkhvd2V2ZXIsIGlmIHlvdSBjb3JydXB0IG9uZSBvZiB0 aGVtIChwdWxsaW5nIHRoZSBwb3dlciB3aGlsZSBpdCdzCnJ1bm5pbmcgd2lsbCBkbyB0aGlzKSBh bmQgdGhlbiB0cnkgZnNja19tc2RvcyB5b3Ugc2VlICJiYWNrdXAgZG9lc24ndApjb21wYXJlIHRv IHByaW1hcnkgYm9vdGJsb2NrIjsgdGhpcyBvY2N1cnMgZXZlbiBpZiB5b3UgcnVuIHNjYW5kaXNr Cihmcm9tIHdpbmRvd3MpIG9uIHRoZSBwYXJ0aXRpb24gYmVmb3JlIHRyeWluZyBmc2NrX21zZG9z IGJlY2F1c2UKc2NhbmRpc2sgd2lsbCBvbmx5IGZpeCB0aGUgZmlyc3QgNTIgYnl0ZXMgYW5kIGln bm9yZXMgdGhlIHJlc3Qgb2YgdGhlCmJvb3QgYmxvY2suCj5GaXg6CglUaGUgZml4IGZvciB0aGlz IHdhcyBhY3R1YWxseSBwcm92aWRlZCB5ZWFycyBhZ28sIGJ1dCBhcHBlYXJhbnRseSB3YXMKZm9y Z290dGVuLCBzbyBJJ20gcmVtaW5kaW5nIHlvdS4gU2VlCmh0dHA6Ly93d3cubW9ua2V5Lm9yZy9v cGVuYnNkL2FyY2hpdmUvYnVncy8wMTA1L21zZzAwMDg1Lmh0bWwgZm9yIHRoZQpmaXguIEJhc2lj YWxseSwganVzdCBnbyBpbnRvIC91c3Ivc3JjL3NiaW4vZnNja19tc2Rvcy9ib290LmMgYW5kCmNo YW5nZQppZihtZW1jbXAoYmxvY2ssIGJhY2t1cCwgRE9TQk9PVEJMT0NLU0laRSApKQp0bwppZiht ZW1jbXAoYmxvY2ssIGJhY2t1cCwgNTIpKQpUaGVyZSdzIHNvbWV0aGluZyBlbHNlIGluIHRoYXQg bWVzc2FnZSB0b28gdGhhdCBJIGRvbid0IHVuZGVyc3RhbmQgYnV0CmlzIHByb2JhYmx5IHdvcnRo IGxvb2tpbmcgYXQuCgo= --+permail-20090723102923f7e55a9d000042a4-a_best01+--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?permail-20090723102923f7e55a9d000042a4-a_best01>