From owner-freebsd-bugs@FreeBSD.ORG Thu Jan 28 18:22:27 2010 Return-Path: Delivered-To: freebsd-bugs@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1B6B81065672 for ; Thu, 28 Jan 2010 18:22:27 +0000 (UTC) (envelope-from giffunip@tutopia.com) Received: from web113508.mail.gq1.yahoo.com (web113508.mail.gq1.yahoo.com [98.136.167.48]) by mx1.freebsd.org (Postfix) with SMTP id EBDA58FC0C for ; Thu, 28 Jan 2010 18:22:26 +0000 (UTC) Received: (qmail 12401 invoked by uid 60001); 28 Jan 2010 18:22:25 -0000 Message-ID: <920788.12268.qm@web113508.mail.gq1.yahoo.com> X-YMail-OSG: J_1y5aMVM1ly9UmEN.ck7eTpNuKSNHWo0HblxbKQY6Rd3ERnBRe__3zefNCqxw0jzFm8c7Gt_.RXfQn85X93Re8gwJf6dDa9tyBujh0QWYnoHMF.ST8ygViKsw9UHHL.6eUgYs9WYpc.dWi.fEuNWzsDa1zeZ9mYhRjgksw_ScFOLsQ5TpyDZaPEbVhzk3Ms6yFSXEfbwTaqCPUckoDeV8ApZXQAT1FdYXw1XYoVvGfbXfO8G1wupvFJEA3F5CBY1YMLWPODNNY2UVWvEjL_YLx_p0UtOU8KQqAtquve9ftQHPIHjPBKngjd.p7DxyOkU6wRuzytKXkhvXgPajghFA-- Received: from [190.157.123.47] by web113508.mail.gq1.yahoo.com via HTTP; Thu, 28 Jan 2010 10:22:25 PST X-RocketYMMF: giffunip X-Mailer: YahooMailClassic/9.1.10 YahooMailWebService/0.8.100.260964 Date: Thu, 28 Jan 2010 10:22:25 -0800 (PST) From: "Pedro F. Giffuni" To: FreeBSD-gnats-submit@FreeBSD.org, freebsd-bugs@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="0-1299979072-1264702945=:12268" Cc: Subject: Re: kern/142924: Small cleanup for the inode struct in ext2fs (based on UFS) X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: giffunip@tutopia.com List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 Jan 2010 18:22:27 -0000 --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--