tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
UFS extended attributes broken
Hi
On -current and netbsd-6, starting extended attributes is broken. I just
fixed a NULL pointer reference that caused a panic, but there is another
problem.
ufs_extattr_autostart() needs to lookup .attribute/user and
.attribute/system directories on the top of the filesystem. It is done
through ufs_extattr_lookup(),which does this:
memset(&cnp, 0, sizeof(cnp));
cnp.cn_nameiop = LOOKUP;
cnp.cn_flags = ISLASTCN | lockparent;
cnp.cn_cred = l->l_cred;
cnp.cn_nameptr = pnbuf;
error = copystr(dirname, pnbuf, MAXPATHLEN, &cnp.cn_namelen);
if (error) {
/* removed error handling for clarty sake */
}
cnp.cn_namelen--; /* trim nul termination */
vargs.a_desc = NULL;
vargs.a_dvp = start_dvp;
vargs.a_vpp = &target_vp;
vargs.a_cnp = &cnp;
error = ufs_lookup(&vargs);
ufs_lookup now returns ENOENT while the directory exists. It did not do
that on netbsd-5. Any idea of what when wrong?
--
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu%netbsd.org@localhost
Home |
Main Index |
Thread Index |
Old Index