kern/142924: Small cleanup for the inode struct in ext2fs (based on UFS)

Pedro F. Giffuni giffunip at tutopia.com
Sun Jan 24 23:30:06 UTC 2010


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

From: "Pedro F. Giffuni" <giffunip at tutopia.com>
To: FreeBSD-gnats-submit at FreeBSD.org, freebsd-bugs at FreeBSD.org
Cc:  
Subject: Re: kern/142924: Small cleanup for the inode struct in ext2fs (based on UFS)
Date: Sun, 24 Jan 2010 15:20:12 -0800 (PST)

 --0-1285154270-1264375212=:24175
 Content-Type: text/plain; charset=us-ascii
 
 I added the equivalent to ufs_lookup.c 1.34:
 Bug fixes for currently harmless bugs that could rise to bite
 the unwary if the code were called in slightly different ways.
 
 - In ufs_lookup() there is an off-by-one error in the test that checks
 if dp->i_diroff is outside the range of the the current directory size.
 This is completely harmless, since the following while-loop condition
 'dp->i_offset < endsearch' is never met, so the code immediately
 does a second pass starting at dp->i_offset = 0.
 
 - Again in ufs_lookup(), the condition in a sanity check is wrong
 for directories that are longer than one block. This bug means that
 
 
 
       
 --0-1285154270-1264375212=:24175
 Content-Type: application/octet-stream; name=patch-ext2fs
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment; filename=patch-ext2fs
 
 ZGlmZiAtcnUgZXh0MmZzLmJzZC9leHQyX2xvb2t1cC5jIGV4dDJmcy9leHQy
 X2xvb2t1cC5jCi0tLSBleHQyZnMuYnNkL2V4dDJfbG9va3VwLmMJMjAxMC0w
 MS0xNyAxOTowMjozMC4wMDAwMDAwMDAgKzAwMDAKKysrIGV4dDJmcy9leHQy
 X2xvb2t1cC5jCTIwMTAtMDEtMjQgMTg6MTA6MTIuMDAwMDAwMDAwICswMDAw
 CkBAIC0zNDcsNiArMzQ3LDcgQEAKIAkJc2xvdG5lZWRlZCA9IChzaXplb2Yo
 c3RydWN0IGRpcmVjdCkgLSBNQVhOQU1MRU4gKwogCQkJY25wLT5jbl9uYW1l
 bGVuICsgMykgJn4gMzsgKi8KIAl9CisJYm1hc2sgPSBWRlNUT0VYVDIodmRw
 LT52X21vdW50KS0+dW1fbW91bnRwLT5tbnRfc3RhdC5mX2lvc2l6ZSAtIDE7
 CiAKIAkvKgogCSAqIElmIHRoZXJlIGlzIGNhY2hlZCBpbmZvcm1hdGlvbiBv
 biBhIHByZXZpb3VzIHNlYXJjaCBvZgpAQCAtMzU5LDkgKzM2MCw4IEBACiAJ
 ICogcHJvZmlsaW5nIHRpbWUgYW5kIGhlbmNlIGhhcyBiZWVuIHJlbW92ZWQg
 aW4gdGhlIGludGVyZXN0CiAJICogb2Ygc2ltcGxpY2l0eS4KIAkgKi8KLQli
 bWFzayA9IFZGU1RPRVhUMih2ZHAtPnZfbW91bnQpLT51bV9tb3VudHAtPm1u
 dF9zdGF0LmZfaW9zaXplIC0gMTsKIAlpZiAobmFtZWlvcCAhPSBMT09LVVAg
 fHwgaV9kaXJvZmYgPT0gMCB8fAotCSAgICBpX2Rpcm9mZiA+IGRwLT5pX3Np
 emUpIHsKKwkgICAgaV9kaXJvZmYgPj0gZHAtPmlfc2l6ZSkgewogCQllbnRy
 eW9mZnNldGluYmxvY2sgPSAwOwogCQlpX29mZnNldCA9IDA7CiAJCW51bWRp
 cnBhc3NlcyA9IDE7CkBAIC01NTAsMTAgKzU1MCwxMCBAQAogCSAqIENoZWNr
 IHRoYXQgZGlyZWN0b3J5IGxlbmd0aCBwcm9wZXJseSByZWZsZWN0cyBwcmVz
 ZW5jZQogCSAqIG9mIHRoaXMgZW50cnkuCiAJICovCi0JaWYgKGVudHJ5b2Zm
 c2V0aW5ibG9jayArIEVYVDJfRElSX1JFQ19MRU4oZXAtPmUyZF9uYW1sZW4p
 CisJaWYgKGRwLT5pX29mZnNldCArIEVYVDJfRElSX1JFQ19MRU4oZXAtPmUy
 ZF9uYW1sZW4pCiAJCT4gZHAtPmlfc2l6ZSkgewogCQlleHQyX2RpcmJhZChk
 cCwgaV9vZmZzZXQsICJpX3NpemUgdG9vIHNtYWxsIik7Ci0JCWRwLT5pX3Np
 emUgPSBlbnRyeW9mZnNldGluYmxvY2srRVhUMl9ESVJfUkVDX0xFTihlcC0+
 ZTJkX25hbWxlbik7CisJCWRwLT5pX3NpemUgPSBkcC0+aV9vZmZzZXQrRVhU
 Ml9ESVJfUkVDX0xFTihlcC0+ZTJkX25hbWxlbik7CiAJCWRwLT5pX2ZsYWcg
 fD0gSU5fQ0hBTkdFIHwgSU5fVVBEQVRFOwogCX0KIAlicmVsc2UoYnApOwpk
 aWZmIC1ydSBleHQyZnMuYnNkL2V4dDJfdmZzb3BzLmMgZXh0MmZzL2V4dDJf
 dmZzb3BzLmMKLS0tIGV4dDJmcy5ic2QvZXh0Ml92ZnNvcHMuYwkyMDEwLTAx
 LTE3IDE5OjAyOjU2LjAwMDAwMDAwMCArMDAwMAorKysgZXh0MmZzL2V4dDJf
 dmZzb3BzLmMJMjAxMC0wMS0xOCAxNTo0MzoyMC4wMDAwMDAwMDAgKzAwMDAK
 QEAgLTk0NSw5ICs5NDUsOCBAQAogCX0KIAogCS8qCi0JICogRmluaXNoIGlu
 b2RlIGluaXRpYWxpemF0aW9uIG5vdyB0aGF0IGFsaWFzaW5nIGhhcyBiZWVu
 IHJlc29sdmVkLgorCSAqIEZpbmlzaCBpbm9kZSBpbml0aWFsaXphdGlvbi4K
 IAkgKi8KLQlpcC0+aV9kZXZ2cCA9IHVtcC0+dW1fZGV2dnA7CiAKIAkvKgog
 CSAqIFNldCB1cCBhIGdlbmVyYXRpb24gbnVtYmVyIGZvciB0aGlzIGlub2Rl
 IGlmIGl0IGRvZXMgbm90CmRpZmYgLXJ1IGV4dDJmcy5ic2QvaW5vZGUuaCBl
 eHQyZnMvaW5vZGUuaAotLS0gZXh0MmZzLmJzZC9pbm9kZS5oCTIwMTAtMDEt
 MTcgMTk6MDM6MjEuMDAwMDAwMDAwICswMDAwCisrKyBleHQyZnMvaW5vZGUu
 aAkyMDEwLTAxLTE4IDE1OjQzOjIwLjAwMDAwMDAwMCArMDAwMApAQCAtNjIs
 NyArNjIsNiBAQAogICovCiBzdHJ1Y3QgaW5vZGUgewogCXN0cnVjdAl2bm9k
 ZSAgKmlfdm5vZGU7LyogVm5vZGUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgaW5v
 ZGUuICovCi0Jc3RydWN0CXZub2RlICAqaV9kZXZ2cDsvKiBWbm9kZSBmb3Ig
 YmxvY2sgSS9PLiAqLwogCXN0cnVjdAlleHQybW91bnQgKmlfdW1wOwogCXVf
 aW50MzJfdCBpX2ZsYWc7CS8qIGZsYWdzLCBzZWUgYmVsb3cgKi8KIAlpbm9f
 dAkgIGlfbnVtYmVyOwkvKiBUaGUgaWRlbnRpdHkgb2YgdGhlIGlub2RlLiAq
 LwpAQCAtMTQzLDYgKzE0Miw5IEBACiAjZGVmaW5lCUlOX1NQQUNFQ09VTlRF
 RAkweDAwODAJCS8qIEJsb2NrcyB0byBiZSBmcmVlZCBpbiBmcmVlIGNvdW50
 LiAqLwogI2RlZmluZSBJTl9MQVpZQUNDRVNTICAgMHgwMTAwCQkvKiBQcm9j
 ZXNzIElOX0FDQ0VTUyBhZnRlciB0aGUKIAkJCQkJICAgIHN1c3BlbnNpb24g
 ZmluaXNoZWQgKi8KKworI2RlZmluZSBpX2RldnZwIGlfdW1wLT51bV9kZXZ2
 cAorCiAjaWZkZWYgX0tFUk5FTAogLyoKICAqIFN0cnVjdHVyZSB1c2VkIHRv
 IHBhc3MgYXJvdW5kIGxvZ2ljYWwgYmxvY2sgcGF0aHMgZ2VuZXJhdGVkIGJ5
 Cg==
 
 --0-1285154270-1264375212=:24175--


More information about the freebsd-fs mailing list