Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Jan 2010 10:22:25 -0800 (PST)
From:      "Pedro F. Giffuni" <giffunip@tutopia.com>
To:        FreeBSD-gnats-submit@FreeBSD.org, freebsd-bugs@FreeBSD.org
Subject:   Re: kern/142924: Small cleanup for the inode struct in ext2fs (based on UFS)
Message-ID:  <920788.12268.qm@web113508.mail.gq1.yahoo.com>

next in thread | raw e-mail | index | archive | help
--0-1299979072-1264702945=:12268
Content-Type: text/plain; charset=us-ascii

Include two more simple patches from ufs_lookup.c:

CVS 1.54:
When compacting directories, ufs_direnter() always trusted DIRSIZ()
to supply the number of bytes to be bcopy()'d to move an entry. If
d_ino == 0 however, DIRSIZ() is not guaranteed to return a sensible
length, so ufs_direnter could end up corrupting a directory during
compaction.

CVS 1.45:
Extend the sanity checks in ufs_lookup to ensure that each directory
entry fits within its DIRBLKSIZ block.
_______

These were meant to fix issues found with dirhash on UFS but ext2fs
still works here with those changes so I think it's good to have
them, JIC we end up bringing over dirhash to ext2fs.


      
--0-1299979072-1264702945=:12268
Content-Type: application/octet-stream; name=patch-ext2fs
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=patch-ext2fs

ZGlmZiAtcnUgZXh0MmZzLmJzZC9leHQyX2xvb2t1cC5jIGV4dDJmcy9leHQy
X2xvb2t1cC5jCi0tLSBleHQyZnMuYnNkL2V4dDJfbG9va3VwLmMJMjAxMC0w
MS0xNyAxOTowMjozMC4wMDAwMDAwMDAgKzAwMDAKKysrIGV4dDJmcy9leHQy
X2xvb2t1cC5jCTIwMTAtMDEtMjQgMTk6Mjc6NTIuMDAwMDAwMDAwICswMDAw
CkBAIC0zNDcsNiArMzQ3LDcgQEAKIAkJc2xvdG5lZWRlZCA9IChzaXplb2Yo
c3RydWN0IGRpcmVjdCkgLSBNQVhOQU1MRU4gKwogCQkJY25wLT5jbl9uYW1l
bGVuICsgMykgJn4gMzsgKi8KIAl9CisJYm1hc2sgPSBWRlNUT0VYVDIodmRw
LT52X21vdW50KS0+dW1fbW91bnRwLT5tbnRfc3RhdC5mX2lvc2l6ZSAtIDE7
CiAKIAkvKgogCSAqIElmIHRoZXJlIGlzIGNhY2hlZCBpbmZvcm1hdGlvbiBv
biBhIHByZXZpb3VzIHNlYXJjaCBvZgpAQCAtMzU5LDkgKzM2MCw4IEBACiAJ
ICogcHJvZmlsaW5nIHRpbWUgYW5kIGhlbmNlIGhhcyBiZWVuIHJlbW92ZWQg
aW4gdGhlIGludGVyZXN0CiAJICogb2Ygc2ltcGxpY2l0eS4KIAkgKi8KLQli
bWFzayA9IFZGU1RPRVhUMih2ZHAtPnZfbW91bnQpLT51bV9tb3VudHAtPm1u
dF9zdGF0LmZfaW9zaXplIC0gMTsKIAlpZiAobmFtZWlvcCAhPSBMT09LVVAg
fHwgaV9kaXJvZmYgPT0gMCB8fAotCSAgICBpX2Rpcm9mZiA+IGRwLT5pX3Np
emUpIHsKKwkgICAgaV9kaXJvZmYgPj0gZHAtPmlfc2l6ZSkgewogCQllbnRy
eW9mZnNldGluYmxvY2sgPSAwOwogCQlpX29mZnNldCA9IDA7CiAJCW51bWRp
cnBhc3NlcyA9IDE7CkBAIC00MDgsOSArNDA4LDkgQEAKIAkJICogZGlyZWN0
b3J5LiBDb21wbGV0ZSBjaGVja3MgY2FuIGJlIHJ1biBieSBzZXR0aW5nCiAJ
CSAqICJ2ZnMuZTJmcy5kaXJjaGsiIHRvIGJlIHRydWUuCiAJCSAqLwotCQll
cCA9IChzdHJ1Y3QgZXh0MmZzX2RpcmVjdF8yICopCi0JCQkoKGNoYXIgKili
cC0+Yl9kYXRhICsgZW50cnlvZmZzZXRpbmJsb2NrKTsKLQkJaWYgKGVwLT5l
MmRfcmVjbGVuID09IDAgfHwKKwkJZXAgPSAoc3RydWN0IGV4dDJmc19kaXJl
Y3RfMiAqKSgoY2hhciAqKWJwLT5iX2RhdGEgKyBlbnRyeW9mZnNldGluYmxv
Y2spOworCQlpZiAoZXAtPmUyZF9yZWNsZW4gPT0gMCB8fCBlcC0+ZTJkX3Jl
Y2xlbiA+CisJCSAgICBESVJCTEtTSVogLSAoZW50cnlvZmZzZXRpbmJsb2Nr
ICYgKERJUkJMS1NJWiAtIDEpKSB8fAogCQkgICAgKGRpcmNoayAmJiBleHQy
X2RpcmJhZGVudHJ5KHZkcCwgZXAsIGVudHJ5b2Zmc2V0aW5ibG9jaykpKSB7
CiAJCQlpbnQgaTsKIAkJCWV4dDJfZGlyYmFkKGRwLCBpX29mZnNldCwgIm1h
bmdsZWQgZW50cnkiKTsKQEAgLTU1MCwxMCArNTUwLDEwIEBACiAJICogQ2hl
Y2sgdGhhdCBkaXJlY3RvcnkgbGVuZ3RoIHByb3Blcmx5IHJlZmxlY3RzIHBy
ZXNlbmNlCiAJICogb2YgdGhpcyBlbnRyeS4KIAkgKi8KLQlpZiAoZW50cnlv
ZmZzZXRpbmJsb2NrICsgRVhUMl9ESVJfUkVDX0xFTihlcC0+ZTJkX25hbWxl
bikKKwlpZiAoZHAtPmlfb2Zmc2V0ICsgRVhUMl9ESVJfUkVDX0xFTihlcC0+
ZTJkX25hbWxlbikKIAkJPiBkcC0+aV9zaXplKSB7CiAJCWV4dDJfZGlyYmFk
KGRwLCBpX29mZnNldCwgImlfc2l6ZSB0b28gc21hbGwiKTsKLQkJZHAtPmlf
c2l6ZSA9IGVudHJ5b2Zmc2V0aW5ibG9jaytFWFQyX0RJUl9SRUNfTEVOKGVw
LT5lMmRfbmFtbGVuKTsKKwkJZHAtPmlfc2l6ZSA9IGRwLT5pX29mZnNldCtF
WFQyX0RJUl9SRUNfTEVOKGVwLT5lMmRfbmFtbGVuKTsKIAkJZHAtPmlfZmxh
ZyB8PSBJTl9DSEFOR0UgfCBJTl9VUERBVEU7CiAJfQogCWJyZWxzZShicCk7
CkBAIC04NTUsMTcgKzg1NSwzMCBAQAogCSAqIHNwYWNlLgogCSAqLwogCWVw
ID0gKHN0cnVjdCBleHQyZnNfZGlyZWN0XzIgKilkaXJidWY7Ci0JZHNpemUg
PSBFWFQyX0RJUl9SRUNfTEVOKGVwLT5lMmRfbmFtbGVuKTsKKwlkc2l6ZSA9
IGVwLT5lMmRfaW5vID8gRVhUMl9ESVJfUkVDX0xFTihlcC0+ZTJkX25hbWxl
bikgOiAwOwogCXNwYWNlZnJlZSA9IGVwLT5lMmRfcmVjbGVuIC0gZHNpemU7
CiAJZm9yIChsb2MgPSBlcC0+ZTJkX3JlY2xlbjsgbG9jIDwgZHAtPmlfY291
bnQ7ICkgewogCQluZXAgPSAoc3RydWN0IGV4dDJmc19kaXJlY3RfMiAqKShk
aXJidWYgKyBsb2MpOwotCQlpZiAoZXAtPmUyZF9pbm8pIHsKLQkJCS8qIHRy
aW0gdGhlIGV4aXN0aW5nIHNsb3QgKi8KLQkJCWVwLT5lMmRfcmVjbGVuID0g
ZHNpemU7Ci0JCQllcCA9IChzdHJ1Y3QgZXh0MmZzX2RpcmVjdF8yICopKChj
aGFyICopZXAgKyBkc2l6ZSk7Ci0JCX0gZWxzZSB7Ci0JCQkvKiBvdmVyd3Jp
dGU7IG5vdGhpbmcgdGhlcmU7IGhlYWRlciBpcyBvdXJzICovCi0JCQlzcGFj
ZWZyZWUgKz0gZHNpemU7CisKKwkJLyogdHJpbSB0aGUgZXhpc3Rpbmcgc2xv
dCAoTkI6IGRzaXplIG1heSBiZSB6ZXJvKS4gKi8KKwkJZXAtPmUyZF9yZWNs
ZW4gPSBkc2l6ZTsKKwkJZXAgPSAoc3RydWN0IGV4dDJmc19kaXJlY3RfMiAq
KSgoY2hhciAqKWVwICsgZHNpemUpOworCisJCS8qIFJlYWQgbmVwLT5lMmRf
cmVjbGVuIG5vdyBhcyB0aGUgYmNvcHkoKSBtYXkgY2xvYmJlciBpdC4gKi8K
KwkJbG9jICs9IG5lcC0+ZTJkX3JlY2xlbjsKKwkJaWYgKG5lcC0+ZTJkX2lu
byA9PSAwKSB7CisJCQkvKgorCQkJICogQSBtaWQtYmxvY2sgdW51c2VkIGVu
dHJ5LiBTdWNoIGVudHJpZXMgYXJlCisJCQkgKiBuZXZlciBjcmVhdGVkIGJ5
IHRoZSBrZXJuZWwsIGJ1dCBmc2NrCisJCQkgKiBjYW4gY3JlYXRlIHRoZW0g
KGFuZCBub3QgZml4IHRoZW0pLgorCQkJICoKKwkJCSAqIEFkZCB1cCB0aGUg
ZnJlZSBzcGFjZSwgYW5kIGluaXRpYWxpc2UgdGhlCisJCQkgKiByZWxvY2F0
ZWQgZW50cnkgc2luY2Ugd2UgZG9uJ3QgYmNvcHkgaXQuCisJCQkgKi8KKwkJ
CXNwYWNlZnJlZSArPSBuZXAtPmUyZF9yZWNsZW47CisJCQllcC0+ZTJkX2lu
byA9IDA7CisJCQlkc2l6ZSA9IDA7CisJCQljb250aW51ZTsKIAkJfQogCQlk
c2l6ZSA9IEVYVDJfRElSX1JFQ19MRU4obmVwLT5lMmRfbmFtbGVuKTsKIAkJ
c3BhY2VmcmVlICs9IG5lcC0+ZTJkX3JlY2xlbiAtIGRzaXplOwpkaWZmIC1y
dSBleHQyZnMuYnNkL2V4dDJfdmZzb3BzLmMgZXh0MmZzL2V4dDJfdmZzb3Bz
LmMKLS0tIGV4dDJmcy5ic2QvZXh0Ml92ZnNvcHMuYwkyMDEwLTAxLTE3IDE5
OjAyOjU2LjAwMDAwMDAwMCArMDAwMAorKysgZXh0MmZzL2V4dDJfdmZzb3Bz
LmMJMjAxMC0wMS0xOCAxNTo0MzoyMC4wMDAwMDAwMDAgKzAwMDAKQEAgLTk0
NSw5ICs5NDUsOCBAQAogCX0KIAogCS8qCi0JICogRmluaXNoIGlub2RlIGlu
aXRpYWxpemF0aW9uIG5vdyB0aGF0IGFsaWFzaW5nIGhhcyBiZWVuIHJlc29s
dmVkLgorCSAqIEZpbmlzaCBpbm9kZSBpbml0aWFsaXphdGlvbi4KIAkgKi8K
LQlpcC0+aV9kZXZ2cCA9IHVtcC0+dW1fZGV2dnA7CiAKIAkvKgogCSAqIFNl
dCB1cCBhIGdlbmVyYXRpb24gbnVtYmVyIGZvciB0aGlzIGlub2RlIGlmIGl0
IGRvZXMgbm90CmRpZmYgLXJ1IGV4dDJmcy5ic2QvaW5vZGUuaCBleHQyZnMv
aW5vZGUuaAotLS0gZXh0MmZzLmJzZC9pbm9kZS5oCTIwMTAtMDEtMTcgMTk6
MDM6MjEuMDAwMDAwMDAwICswMDAwCisrKyBleHQyZnMvaW5vZGUuaAkyMDEw
LTAxLTE4IDE1OjQzOjIwLjAwMDAwMDAwMCArMDAwMApAQCAtNjIsNyArNjIs
NiBAQAogICovCiBzdHJ1Y3QgaW5vZGUgewogCXN0cnVjdAl2bm9kZSAgKmlf
dm5vZGU7LyogVm5vZGUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgaW5vZGUuICov
Ci0Jc3RydWN0CXZub2RlICAqaV9kZXZ2cDsvKiBWbm9kZSBmb3IgYmxvY2sg
SS9PLiAqLwogCXN0cnVjdAlleHQybW91bnQgKmlfdW1wOwogCXVfaW50MzJf
dCBpX2ZsYWc7CS8qIGZsYWdzLCBzZWUgYmVsb3cgKi8KIAlpbm9fdAkgIGlf
bnVtYmVyOwkvKiBUaGUgaWRlbnRpdHkgb2YgdGhlIGlub2RlLiAqLwpAQCAt
MTQzLDYgKzE0Miw5IEBACiAjZGVmaW5lCUlOX1NQQUNFQ09VTlRFRAkweDAw
ODAJCS8qIEJsb2NrcyB0byBiZSBmcmVlZCBpbiBmcmVlIGNvdW50LiAqLwog
I2RlZmluZSBJTl9MQVpZQUNDRVNTICAgMHgwMTAwCQkvKiBQcm9jZXNzIElO
X0FDQ0VTUyBhZnRlciB0aGUKIAkJCQkJICAgIHN1c3BlbnNpb24gZmluaXNo
ZWQgKi8KKworI2RlZmluZSBpX2RldnZwIGlfdW1wLT51bV9kZXZ2cAorCiAj
aWZkZWYgX0tFUk5FTAogLyoKICAqIFN0cnVjdHVyZSB1c2VkIHRvIHBhc3Mg
YXJvdW5kIGxvZ2ljYWwgYmxvY2sgcGF0aHMgZ2VuZXJhdGVkIGJ5Cg==

--0-1299979072-1264702945=:12268--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?920788.12268.qm>