Bug in dazukofs_lookup()

Lino Sanfilippo <[email protected]> Fri, 10 Jul 2009 15:54:22 +0200
Newsgroups gmane.linux.dazuko.devel
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------020505090200080500030203
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


This patch fixes a bug in dazukofs_lookup():

If interpose fails we must not dput() the lower dentry, since at this
time the dentry operations have already been set up. This
includes the d_release() operation which already cares about dput().

This patch also removes some unnecessary lines of code:
- The check for "." and ".." dentries is not needed, since the vfs will 
never pass those
dentries down to our lookup function.
- we never have to unhash() a dentry, since after we hashed a dentry via 
d_add() (in lookup() or
interpose()), there are no errors possible.
- setting up dentry operations in interpose() is redundant (since 
already done in  lookup())

The flag passed to interpose() has been renamed, since it indicates if a 
dentry should be hashed,
not that it already has been hashed.

Please apply this patch after patch 1 that has been posted yesterday.

Geschäftsführender Gesellschafter: Tjark Auerbach
Sitz der Gesellschaft: Tettnang
Handelsregister: Amtsgericht Ulm, HRB 630992
ALLGEMEINE GESCHÄFTSBEDINGUNGEN
Es gelten unsere Allgemeinen Geschäftsbedingungen
(AGB). Sie finden sie in der jeweils gültigen Fassung
im Internet unter http://www.avira.de/agb
***************************************************
--------------020505090200080500030203
Content-Type: text/plain;
 name="dazukofs-3.1.0-rc2-Patch2"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="dazukofs-3.1.0-rc2-Patch2"

ZGlmZiAtcnVwIGRhenVrb2ZzLTMuMS4wLXJjMi1QYXRjaGVkL2lub2RlLmMgZGF6dWtvZnMt
My4xLjAtcmMyLVBhdGNoZWQyL2lub2RlLmMKLS0tIGRhenVrb2ZzLTMuMS4wLXJjMi1QYXRj
aGVkL2lub2RlLmMJMjAwOS0wNy0wOSAxNzozNDoyNS4wMDAwMDAwMDAgKzAyMDAKKysrIGRh
enVrb2ZzLTMuMS4wLXJjMi1QYXRjaGVkMi9pbm9kZS5jCTIwMDktMDctMTAgMTU6NDc6NTUu
MDAwMDAwMDAwICswMjAwCkBAIC03NCw3ICs3NCw3IEBAIHN0YXRpYyBpbnQgZGF6dWtvZnNf
aW5vZGVfc2V0KHN0cnVjdCBpbm8KICAqIFJldHVybnMgMCBvbiBzdWNjZXNzLgogICovCiBp
bnQgZGF6dWtvZnNfaW50ZXJwb3NlKHN0cnVjdCBkZW50cnkgKmxvd2VyX2RlbnRyeSwgc3Ry
dWN0IGRlbnRyeSAqZGVudHJ5LAotCQkgICAgICAgc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwg
aW50IGFscmVhZHlfaGFzaGVkKQorCQkgICAgICAgc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwg
aW50IGhhc2gpCiB7CiAJc3RydWN0IGlub2RlICppbm9kZTsKIAlzdHJ1Y3QgaW5vZGUgKmxv
d2VyX2lub2RlID0gaWdyYWIobG93ZXJfZGVudHJ5LT5kX2lub2RlKTsKQEAgLTEyMiw5ICsx
MjIsNyBAQCBpbnQgZGF6dWtvZnNfaW50ZXJwb3NlKHN0cnVjdCBkZW50cnkgKmxvCiAJCQkJ
ICAgbG93ZXJfaW5vZGUtPmlfcmRldik7CiAJfQogCi0JZGVudHJ5LT5kX29wID0gJmRhenVr
b2ZzX2RvcHM7Ci0KLQlpZiAoYWxyZWFkeV9oYXNoZWQpCisJaWYgKGhhc2gpCiAJCWRfYWRk
KGRlbnRyeSwgaW5vZGUpOwogCWVsc2UKIAkJZF9pbnN0YW50aWF0ZShkZW50cnksIGlub2Rl
KTsKQEAgLTE1NiwxOSArMTU0LDYgQEAgc3RhdGljIHN0cnVjdCBkZW50cnkgKmRhenVrb2Zz
X2xvb2t1cChzdAogCXN0cnVjdCB2ZnNtb3VudCAqbG93ZXJfbW50OwogCWludCBlcnIgPSAw
OwogCi0JLyogY2hlY2sgZm9yICIuIiBvciAiLi4iICh0aGV5IGFyZSBub3QgcmVsZXZhbnQg
aGVyZSkgKi8KLQlpZiAoZGVudHJ5LT5kX25hbWUubGVuID09IDEpIHsKLQkJaWYgKGRlbnRy
eS0+ZF9uYW1lLm5hbWVbMF0gPT0gJy4nKSB7Ci0JCQlkX2Ryb3AoZGVudHJ5KTsKLQkJCWdv
dG8gb3V0OwotCQl9Ci0JfSBlbHNlIGlmIChkZW50cnktPmRfbmFtZS5sZW4gPT0gMikgewot
CQlpZiAoZGVudHJ5LT5kX25hbWUubmFtZVswXSA9PSAnLicgJiYKLQkJICAgIGRlbnRyeS0+
ZF9uYW1lLm5hbWVbMV0gPT0gJy4nKSB7Ci0JCQlkX2Ryb3AoZGVudHJ5KTsKLQkJCWdvdG8g
b3V0OwotCQl9Ci0JfQogCiAJZGVudHJ5LT5kX29wID0gJmRhenVrb2ZzX2RvcHM7CiAKQEAg
LTE4MCw3ICsxNjUsNiBAQCBzdGF0aWMgc3RydWN0IGRlbnRyeSAqZGF6dWtvZnNfbG9va3Vw
KHN0CiAJbXV0ZXhfdW5sb2NrKCZsb3dlcl9kZW50cnlfcGFyZW50LT5kX2lub2RlLT5pX211
dGV4KTsKIAlpZiAoSVNfRVJSKGxvd2VyX2RlbnRyeSkpIHsKIAkJZXJyID0gUFRSX0VSUihs
b3dlcl9kZW50cnkpOwotCQlkX2Ryb3AoZGVudHJ5KTsKIAkJZ290byBvdXQ7CiAJfQogCkBA
IC0xOTEsOSArMTc1LDExIEBAIHN0YXRpYyBzdHJ1Y3QgZGVudHJ5ICpkYXp1a29mc19sb29r
dXAoc3QKIAkJCQkJICAgICBHRlBfS0VSTkVMKSk7CiAJaWYgKCFnZXRfZGVudHJ5X3ByaXZh
dGUoZGVudHJ5KSkgewogCQllcnIgPSAtRU5PTUVNOwotCQlnb3RvIG91dF9kcHV0OworCQlk
cHV0KGxvd2VyX2RlbnRyeSk7CisJCWdvdG8gb3V0OwogCX0KLQorCS8qIGZyb20gbm93IGxv
d2VyIGRlbnRyeSBhbmQgbG93ZXIgbW91bnQgYXJlIHJlbGVhc2VkIGluIAorCSAqIGRfcmVs
ZWFzZSgpICovCiAJZnNzdGFja19jb3B5X2F0dHJfYXRpbWUoZGlyLCBsb3dlcl9kZW50cnlf
cGFyZW50LT5kX2lub2RlKTsKIAogCWxvd2VyX21udCA9IG1udGdldChnZXRfbG93ZXJfbW50
KGRlbnRyeS0+ZF9wYXJlbnQpKTsKQEAgLTIwNiwxNSArMTkyLDggQEAgc3RhdGljIHN0cnVj
dCBkZW50cnkgKmRhenVrb2ZzX2xvb2t1cChzdAogCQlkX2FkZChkZW50cnksIE5VTEwpOwog
CQlnb3RvIG91dDsKIAl9Ci0KIAllcnIgPSBkYXp1a29mc19pbnRlcnBvc2UobG93ZXJfZGVu
dHJ5LCBkZW50cnksIGRpci0+aV9zYiwgMSk7Ci0JaWYgKGVycikKLQkJZ290byBvdXRfZHB1
dDsKLQlnb3RvIG91dDsKIAotb3V0X2RwdXQ6Ci0JZHB1dChsb3dlcl9kZW50cnkpOwotCWRf
ZHJvcChkZW50cnkpOwogb3V0OgogCXJldHVybiBFUlJfUFRSKGVycik7CiB9Ck51ciBpbiBk
YXp1a29mcy0zLjEuMC1yYzItUGF0Y2hlZDogLmlub2RlLmMuc3dwLgo=
--------------020505090200080500030203
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Dazuko-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/dazuko-devel

--------------020505090200080500030203--