kern/59739: [libc] rmdir(2) and mkdir(2) both return EISDIR for argument "/"

Alexander Best alexbestms at math.uni-muenster.de
Sun Nov 8 03:10:03 UTC 2009


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

From: Alexander Best <alexbestms at math.uni-muenster.de>
To: <bug-followup at FreeBSD.org>,
 <asf at boinkor.net>
Cc:  
Subject: Re: kern/59739: [libc] rmdir(2) and mkdir(2) both return EISDIR for
 argument "/"
Date: Sun, 08 Nov 2009 04:05:11 +0100 (CET)

   This is a MIME encoded multipart message.
 
 --+permail-200911080305111e86ffa800003557-a_best01+
 Content-Type: text/plain; charset=us-ascii
 Content-Transfer-Encoding: 7bit
 
 after discussing this problem in the thread mentioned in the previous followup
 it was decide to move all changes to sys/kern/vfs_syscalls.c in order not to
 break any code which relies on namei() returning EISDIR.
 
 attached you'll find the final patch (which supersedes the previous one). this
 patch doesn't require any changes to the rename(2), mkdir(2) or rmdir(2)
 manuals.
 
 please set this pr into analysed state.
 
 alex
 
 --+permail-200911080305111e86ffa800003557-a_best01+
 Content-Type: text/plain
 Content-Transfer-Encoding: Base64
 Content-Disposition: attachment; filename="vfssyscalls.c.patch.txt"
 
 SW5kZXg6IHN5cy9rZXJuL3Zmc19zeXNjYWxscy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9rZXJuL3Zm
 c19zeXNjYWxscy5jCShyZXZpc2lvbiAxOTkwMTYpCisrKyBzeXMva2Vybi92ZnNfc3lzY2FsbHMu
 Ywkod29ya2luZyBjb3B5KQpAQCAtMzU4Nyw4ICszNTg3LDEyIEBACiAJICAgIEFVRElUVk5PREUx
 LCBwYXRoc2VnLCBvbGQsIG9sZGZkLCB0ZCk7CiAjZW5kaWYKIAotCWlmICgoZXJyb3IgPSBuYW1l
 aSgmZnJvbW5kKSkgIT0gMCkKKwlpZiAoKGVycm9yID0gbmFtZWkoJmZyb21uZCkpICE9IDApIHsK
 KwkJLyogVHJhbnNsYXRlIGVycm9yIGNvZGUgZm9yIHJlbmFtZSgiLyIsICJkaXIyIikuICovCisJ
 CWlmIChlcnJvciA9PSBFSVNESVIpCisJCQllcnJvciA9IEVJTlZBTDsKIAkJcmV0dXJuIChlcnJv
 cik7CisJfQogCWZ2ZnNsb2NrZWQgPSBOREhBU0dJQU5UKCZmcm9tbmQpOwogCXR2ZnNsb2NrZWQg
 PSAwOwogI2lmZGVmIE1BQwpAQCAtMzczNyw4ICszNzQxLDEyIEBACiAJTkRJTklUX0FUKCZuZCwg
 Q1JFQVRFLCBMT0NLUEFSRU5UIHwgU0FWRU5BTUUgfCBNUFNBRkUgfCBBVURJVFZOT0RFMSwKIAkg
 ICAgc2VnZmxnLCBwYXRoLCBmZCwgdGQpOwogCW5kLm5pX2NuZC5jbl9mbGFncyB8PSBXSUxMQkVE
 SVI7Ci0JaWYgKChlcnJvciA9IG5hbWVpKCZuZCkpICE9IDApCisJaWYgKChlcnJvciA9IG5hbWVp
 KCZuZCkpICE9IDApIHsKKwkJLyogVHJhbnNsYXRlIGVycm9yIGNvZGUgZm9yIG1rZGlyKCIvIiku
 ICovCisJCWlmIChlcnJvciA9PSBFSVNESVIpCisJCQllcnJvciA9IEVFWElTVDsKIAkJcmV0dXJu
 IChlcnJvcik7CisJfQogCXZmc2xvY2tlZCA9IE5ESEFTR0lBTlQoJm5kKTsKIAl2cCA9IG5kLm5p
 X3ZwOwogCWlmICh2cCAhPSBOVUxMKSB7CkBAIC0zODI1LDEwICszODMzLDE1IEBACiAJYndpbGx3
 cml0ZSgpOwogCU5ESU5JVF9BVCgmbmQsIERFTEVURSwgTE9DS1BBUkVOVCB8IExPQ0tMRUFGIHwg
 TVBTQUZFIHwgQVVESVRWTk9ERTEsCiAJICAgIHBhdGhzZWcsIHBhdGgsIGZkLCB0ZCk7Ci0JaWYg
 KChlcnJvciA9IG5hbWVpKCZuZCkpICE9IDApCisJaWYgKChlcnJvciA9IG5hbWVpKCZuZCkpICE9
 IDApIHsKKwkJLyogVHJhbnNsYXRlIGVycm9yIGNvZGUgZm9yIHJtZGlyKCIvIikuICovCisJCWlm
 IChlcnJvciA9PSBFSVNESVIpCisJCQllcnJvciA9IEVCVVNZOwogCQlyZXR1cm4gKGVycm9yKTsK
 Kwl9CiAJdmZzbG9ja2VkID0gTkRIQVNHSUFOVCgmbmQpOwogCXZwID0gbmQubmlfdnA7CisJLyog
 WFhYIG5hbWVpKCkgdGFrZXMgY2FyZSBvZiB0aGlzIGNhc2UuICovCiAJaWYgKHZwLT52X3R5cGUg
 IT0gVkRJUikgewogCQllcnJvciA9IEVOT1RESVI7CiAJCWdvdG8gb3V0OwpAQCAtMzg0MSw2ICsz
 ODU0LDcgQEAKIAkJZ290byBvdXQ7CiAJfQogCS8qCisJICogWFhYIG5hbWVpKCkgdGFrZXMgY2Fy
 ZSBvZiB0aGlzIGNhc2UuCiAJICogVGhlIHJvb3Qgb2YgYSBtb3VudGVkIGZpbGVzeXN0ZW0gY2Fu
 bm90IGJlIGRlbGV0ZWQuCiAJICovCiAJaWYgKHZwLT52X3ZmbGFnICYgVlZfUk9PVCkgewo=
 
 --+permail-200911080305111e86ffa800003557-a_best01+--


More information about the freebsd-bugs mailing list