kern/145452: [geom] [panic] panic in geom_part_mbr when undoing destroy command

Andrey V. Elsukov bu7cher at yandex.ru
Fri Apr 9 16:50:03 UTC 2010


The following reply was made to PR kern/145452; it has been noted by GNATS.

From: Andrey V. Elsukov <bu7cher at yandex.ru>
To: bug-followup at freebsd.org
Cc: Marcel Moolenaar <xcllnt at mac.com>
Subject: Re: kern/145452: [geom] [panic] panic in geom_part_mbr when undoing destroy command
Date: Fri, 09 Apr 2010 20:31:19 +0400

 ------==--bound.20366.web44.yandex.ru
 Content-Transfer-Encoding: 7bit
 Content-Type: text/plain
 
 Hi,
 
 I wrote the patch that fix the problem.
 Also I added fix to schemes which use some info about geometry.
 
 -- 
 WBR, Andrey V. Elsukov
 ------==--bound.20366.web44.yandex.ru
 Content-Disposition: attachment;
 	filename="geom_part.patch.txt"
 Content-Transfer-Encoding: base64
 Content-Type: text/plain;
 	name="geom_part.patch.txt"
 
 SW5kZXg6IGdfcGFydF9wYzk4LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ19wYXJ0X3BjOTguYwkocmV2aXNp
 b24gMjA2NDIzKQorKysgZ19wYXJ0X3BjOTguYwkod29ya2luZyBjb3B5KQpAQCAtMzk1LDYgKzQy
 Myw5IEBAIGdfcGFydF9wYzk4X3JlYWQoc3RydWN0IGdfcGFydF90YWJsZSAqYmFzZXRhYmxlLCBz
 CiAJaWYgKGJ1ZiA9PSBOVUxMKQogCQlyZXR1cm4gKGVycm9yKTsKIAorCWlmIChiYXNldGFibGUt
 PmdwdF9zZWN0b3JzID09IDAgfHwgYmFzZXRhYmxlLT5ncHRfaGVhZHMgPT0gMCkKKwkJZ19wYXJ0
 X2luaXRfZ2VvbWV0cnkobXNpemUsICZiYXNldGFibGUtPmdwdF9zZWN0b3JzLAorCQkgICAgJmJh
 c2V0YWJsZS0+Z3B0X2hlYWRzKTsKIAljeWwgPSBiYXNldGFibGUtPmdwdF9oZWFkcyAqIGJhc2V0
 YWJsZS0+Z3B0X3NlY3RvcnM7CiAKIAliY29weShidWYsIHRhYmxlLT5ib290LCBzaXplb2YodGFi
 bGUtPmJvb3QpKTsKSW5kZXg6IGdfcGFydF92dG9jOC5jCj09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGdfcGFydF92
 dG9jOC5jCShyZXZpc2lvbiAyMDY0MjMpCisrKyBnX3BhcnRfdnRvYzguYwkod29ya2luZyBjb3B5
 KQpAQCAtMzY2LDYgKzM4OSw5IEBAIGdfcGFydF92dG9jOF9yZWFkKHN0cnVjdCBnX3BhcnRfdGFi
 bGUgKmJhc2V0YWJsZSwKIAlnX2ZyZWUoYnVmKTsKIAogCW1zaXplID0gcHAtPm1lZGlhc2l6ZSAv
 IHBwLT5zZWN0b3JzaXplOworCWlmIChiYXNldGFibGUtPmdwdF9zZWN0b3JzID09IDAgfHwgYmFz
 ZXRhYmxlLT5ncHRfaGVhZHMgPT0gMCkKKwkJZ19wYXJ0X2luaXRfZ2VvbWV0cnkobXNpemUsICZi
 YXNldGFibGUtPmdwdF9zZWN0b3JzLAorCQkgICAgJmJhc2V0YWJsZS0+Z3B0X2hlYWRzKTsKIAog
 CXNlY3RvcnMgPSBiZTE2ZGVjKCZ0YWJsZS0+dnRvYy5uc2Vjcyk7CiAJaWYgKHNlY3RvcnMgPCAx
 KQpJbmRleDogZ19wYXJ0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ19wYXJ0LmgJKHJldmlzaW9uIDIwNjQy
 MykKKysrIGdfcGFydC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xODgsNiArMTg4LDcgQEAgc3RydWN0
 IGdfcGFydF9wYXJtcyB7CiB9OwogCiB2b2lkIGdfcGFydF9nZW9tZXRyeV9oZWFkcyhvZmZfdCwg
 dV9pbnQsIG9mZl90ICosIHVfaW50ICopOwordm9pZCBnX3BhcnRfaW5pdF9nZW9tZXRyeShvZmZf
 dCAsIHVfaW50ICosIHVfaW50ICopOwogCiBpbnQgZ19wYXJ0X21vZGV2ZW50KG1vZHVsZV90LCBp
 bnQsIHN0cnVjdCBnX3BhcnRfc2NoZW1lICopOwogCkluZGV4OiBnX3BhcnRfYnNkLmMKPT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PQotLS0gZ19wYXJ0X2JzZC5jCShyZXZpc2lvbiAyMDY0MjMpCisrKyBnX3BhcnRfYnNkLmMJ
 KHdvcmtpbmcgY29weSkKQEAgLTM0MSw2ICszNTcsOSBAQCBnX3BhcnRfYnNkX3JlYWQoc3RydWN0
 IGdfcGFydF90YWJsZSAqYmFzZXRhYmxlLCBzdAogCXBwID0gY3AtPnByb3ZpZGVyOwogCXRhYmxl
 ID0gKHN0cnVjdCBnX3BhcnRfYnNkX3RhYmxlICopYmFzZXRhYmxlOwogCW1zaXplID0gcHAtPm1l
 ZGlhc2l6ZSAvIHBwLT5zZWN0b3JzaXplOworCWlmIChiYXNldGFibGUtPmdwdF9zZWN0b3JzID09
 IDAgfHwgYmFzZXRhYmxlLT5ncHRfaGVhZHMgPT0gMCkKKwkJZ19wYXJ0X2luaXRfZ2VvbWV0cnko
 bXNpemUsICZiYXNldGFibGUtPmdwdF9zZWN0b3JzLAorCQkgICAgJmJhc2V0YWJsZS0+Z3B0X2hl
 YWRzKTsKIAogCXRhYmxlLT5iYmFyZWEgPSBnX3JlYWRfZGF0YShjcCwgMCwgQkJTSVpFLCAmZXJy
 b3IpOwogCWlmICh0YWJsZS0+YmJhcmVhID09IE5VTEwpCkluZGV4OiBnX3BhcnRfZWJyLmMKPT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PQotLS0gZ19wYXJ0X2Vici5jCShyZXZpc2lvbiAyMDY0MjMpCisrKyBnX3BhcnRfZWJy
 LmMJKHdvcmtpbmcgY29weSkKQEAgLTQ1NSw2ICs0NTUsOSBAQCBnX3BhcnRfZWJyX3JlYWQoc3Ry
 dWN0IGdfcGFydF90YWJsZSAqYmFzZXRhYmxlLCBzdAogCXBwID0gY3AtPnByb3ZpZGVyOwogCXRh
 YmxlID0gKHN0cnVjdCBnX3BhcnRfZWJyX3RhYmxlICopYmFzZXRhYmxlOwogCW1zaXplID0gcHAt
 Pm1lZGlhc2l6ZSAvIHBwLT5zZWN0b3JzaXplOworCWlmIChiYXNldGFibGUtPmdwdF9zZWN0b3Jz
 ID09IDAgfHwgYmFzZXRhYmxlLT5ncHRfaGVhZHMgPT0gMCkKKwkJZ19wYXJ0X2luaXRfZ2VvbWV0
 cnkobXNpemUsICZiYXNldGFibGUtPmdwdF9zZWN0b3JzLAorCQkgICAgJmJhc2V0YWJsZS0+Z3B0
 X2hlYWRzKTsKIAogCWxiYSA9IDA7CiAJd2hpbGUgKDEpIHsKSW5kZXg6IGdfcGFydC5jCj09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT0KLS0tIGdfcGFydC5jCShyZXZpc2lvbiAyMDY0MjMpCisrKyBnX3BhcnQuYwkod29ya2lu
 ZyBjb3B5KQpAQCAtMTgwLDQ2ICsxODAsNTMgQEAgZ19wYXJ0X2dlb21ldHJ5X2hlYWRzKG9mZl90
 IGJsb2NrcywgdV9pbnQgc2VjdG9ycywKIAl9CiB9CiAKK3ZvaWQKK2dfcGFydF9pbml0X2dlb21l
 dHJ5KG9mZl90IGJsb2NrcywgdV9pbnQgKnNlY3RvcnMsIHVfaW50ICpoZWFkcykKK3sKKwlzdGF0
 aWMgdV9pbnQgY2FuZGlkYXRlX3NlY3RvcnNbXSA9IHsgMSwgOSwgMTcsIDMzLCA2MywgMCB9Owor
 CW9mZl90IGNocywgYmVzdGNocyA9IDA7CisJdV9pbnQgaCwgczsKKwlpbnQgaWR4OworCisJKmhl
 YWRzID0gKnNlY3RvcnMgPSAwOworCWZvciAoaWR4ID0gMDsgY2FuZGlkYXRlX3NlY3RvcnNbaWR4
 XSAhPSAwOyBpZHgrKykgeworCQlzID0gY2FuZGlkYXRlX3NlY3RvcnNbaWR4XTsKKwkJZ19wYXJ0
 X2dlb21ldHJ5X2hlYWRzKGJsb2NrcywgcywgJmNocywgJmgpOworCQlpZiAoY2hzID09IDApCisJ
 CQljb250aW51ZTsKKwkJLyoKKwkJICogUHJlZmVyIGEgZ2VvbWV0cnkgd2l0aCBzZWN0b3JzID4g
 MSwgYnV0IG9ubHkgaWYKKwkJICogaXQgZG9lc24ndCBidW1wIGRvd24gdGhlIG51bWJ2ZXIgb2Yg
 aGVhZHMgdG8gMS4KKwkJICovCisJCWlmIChjaHMgPiBiZXN0Y2hzIHx8IChjaHMgPT0gYmVzdGNo
 cyAmJiBoID4gMSAmJgorCQkgICAgKnNlY3RvcnMgPT0gMSkpIHsKKwkJCWJlc3RjaHMgPSBjaHM7
 CisJCQkqaGVhZHMgPSBoOworCQkJKnNlY3RvcnMgPSBzOworCQl9CisJfQorCS8qCisJICogSWYg
 d2UgZGlkbid0IGZpbmQgYSBnZW9tZXRyeSBhdCBhbGwsIHRoZW4gdGhlIGRpc2sgaXMKKwkgKiB0
 b28gYmlnLiBUaGlzIG1lYW5zIHdlIGNhbiB1c2UgdGhlIG1heGltdW0gbnVtYmVyIG9mCisJICog
 aGVhZHMgYW5kIHNlY3RvcnMuCisJICovCisJaWYgKGJlc3RjaHMgPT0gMCkgeworCQkqaGVhZHMg
 PSAyNTU7CisJCSpzZWN0b3JzID0gNjM7CisJfQorfQorCiBzdGF0aWMgdm9pZAogZ19wYXJ0X2dl
 b21ldHJ5KHN0cnVjdCBnX3BhcnRfdGFibGUgKnRhYmxlLCBzdHJ1Y3QgZ19jb25zdW1lciAqY3As
 CiAgICAgb2ZmX3QgYmxvY2tzKQogewotCXN0YXRpYyB1X2ludCBjYW5kaWRhdGVfc2VjdG9yc1td
 ID0geyAxLCA5LCAxNywgMzMsIDYzLCAwIH07Ci0Jb2ZmX3QgY2hzLCBiZXN0Y2hzOwogCXVfaW50
 IGhlYWRzLCBzZWN0b3JzOwotCWludCBpZHg7CiAKIAlpZiAoZ19nZXRhdHRyKCJHRU9NOjpmd3Nl
 Y3RvcnMiLCBjcCwgJnNlY3RvcnMpICE9IDAgfHwgc2VjdG9ycyA9PSAwIHx8CiAJICAgIGdfZ2V0
 YXR0cigiR0VPTTo6ZndoZWFkcyIsIGNwLCAmaGVhZHMpICE9IDAgfHwgaGVhZHMgPT0gMCkgewog
 CQl0YWJsZS0+Z3B0X2ZpeGdlb20gPSAwOwotCQl0YWJsZS0+Z3B0X2hlYWRzID0gMDsKLQkJdGFi
 bGUtPmdwdF9zZWN0b3JzID0gMDsKLQkJYmVzdGNocyA9IDA7Ci0JCWZvciAoaWR4ID0gMDsgY2Fu
 ZGlkYXRlX3NlY3RvcnNbaWR4XSAhPSAwOyBpZHgrKykgewotCQkJc2VjdG9ycyA9IGNhbmRpZGF0
 ZV9zZWN0b3JzW2lkeF07Ci0JCQlnX3BhcnRfZ2VvbWV0cnlfaGVhZHMoYmxvY2tzLCBzZWN0b3Jz
 LCAmY2hzLCAmaGVhZHMpOwotCQkJaWYgKGNocyA9PSAwKQotCQkJCWNvbnRpbnVlOwotCQkJLyoK
 LQkJCSAqIFByZWZlciBhIGdlb21ldHJ5IHdpdGggc2VjdG9ycyA+IDEsIGJ1dCBvbmx5IGlmCi0J
 CQkgKiBpdCBkb2Vzbid0IGJ1bXAgZG93biB0aGUgbnVtYnZlciBvZiBoZWFkcyB0byAxLgotCQkJ
 ICovCi0JCQlpZiAoY2hzID4gYmVzdGNocyB8fCAoY2hzID09IGJlc3RjaHMgJiYgaGVhZHMgPiAx
 ICYmCi0JCQkgICAgdGFibGUtPmdwdF9zZWN0b3JzID09IDEpKSB7Ci0JCQkJYmVzdGNocyA9IGNo
 czsKLQkJCQl0YWJsZS0+Z3B0X2hlYWRzID0gaGVhZHM7Ci0JCQkJdGFibGUtPmdwdF9zZWN0b3Jz
 ID0gc2VjdG9yczsKLQkJCX0KLQkJfQotCQkvKgotCQkgKiBJZiB3ZSBkaWRuJ3QgZmluZCBhIGdl
 b21ldHJ5IGF0IGFsbCwgdGhlbiB0aGUgZGlzayBpcwotCQkgKiB0b28gYmlnLiBUaGlzIG1lYW5z
 IHdlIGNhbiB1c2UgdGhlIG1heGltdW0gbnVtYmVyIG9mCi0JCSAqIGhlYWRzIGFuZCBzZWN0b3Jz
 LgotCQkgKi8KLQkJaWYgKGJlc3RjaHMgPT0gMCkgewotCQkJdGFibGUtPmdwdF9oZWFkcyA9IDI1
 NTsKLQkJCXRhYmxlLT5ncHRfc2VjdG9ycyA9IDYzOwotCQl9CisJCWdfcGFydF9pbml0X2dlb21l
 dHJ5KGJsb2NrcywgJnRhYmxlLT5ncHRfc2VjdG9ycywKKwkJICAgICZ0YWJsZS0+Z3B0X2hlYWRz
 KTsKIAl9IGVsc2UgewogCQl0YWJsZS0+Z3B0X2ZpeGdlb20gPSAxOwogCQl0YWJsZS0+Z3B0X2hl
 YWRzID0gaGVhZHM7CkluZGV4OiBnX3BhcnRfbWJyLmMKPT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ19wYXJ0X21i
 ci5jCShyZXZpc2lvbiAyMDY0MjMpCisrKyBnX3BhcnRfbWJyLmMJKHdvcmtpbmcgY29weSkKQEAg
 LTM4Niw2ICs0MTQsMTAgQEAgZ19wYXJ0X21icl9yZWFkKHN0cnVjdCBnX3BhcnRfdGFibGUgKmJh
 c2V0YWJsZSwgc3QKIAl0YWJsZSA9IChzdHJ1Y3QgZ19wYXJ0X21icl90YWJsZSAqKWJhc2V0YWJs
 ZTsKIAltc2l6ZSA9IHBwLT5tZWRpYXNpemUgLyBwcC0+c2VjdG9yc2l6ZTsKIAorCWlmIChiYXNl
 dGFibGUtPmdwdF9zZWN0b3JzID09IDAgfHwgYmFzZXRhYmxlLT5ncHRfaGVhZHMgPT0gMCkKKwkJ
 Z19wYXJ0X2luaXRfZ2VvbWV0cnkobXNpemUsICZiYXNldGFibGUtPmdwdF9zZWN0b3JzLAorCQkg
 ICAgJmJhc2V0YWJsZS0+Z3B0X2hlYWRzKTsKKwogCWJ1ZiA9IGdfcmVhZF9kYXRhKGNwLCAwTCwg
 cHAtPnNlY3RvcnNpemUsICZlcnJvcik7CiAJaWYgKGJ1ZiA9PSBOVUxMKQogCQlyZXR1cm4gKGVy
 cm9yKTsK
 ------==--bound.20366.web44.yandex.ru--


More information about the freebsd-geom mailing list