MCPcopy Create free account
hub / github.com/F-Stack/f-stack / kern_extattr_get_path

Function kern_extattr_get_path

freebsd/kern/vfs_extattr.c:456–481  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

454}
455
456static int
457kern_extattr_get_path(struct thread *td, const char *path, int attrnamespace,
458 const char *uattrname, void *data, size_t nbytes, int follow)
459{
460 struct nameidata nd;
461 char attrname[EXTATTR_MAXNAMELEN + 1];
462 int error;
463
464 AUDIT_ARG_VALUE(attrnamespace);
465 error = copyinstr(uattrname, attrname, sizeof(attrname), NULL);
466 if (error)
467 return (error);
468 AUDIT_ARG_TEXT(attrname);
469
470 NDINIT(&nd, LOOKUP, follow | AUDITVNODE1, UIO_USERSPACE, path, td);
471 error = namei(&nd);
472 if (error)
473 return (error);
474 NDFREE(&nd, NDF_ONLY_PNBUF);
475
476 error = extattr_get_vp(nd.ni_vp, attrnamespace, attrname, data,
477 nbytes, td);
478
479 vrele(nd.ni_vp);
480 return (error);
481}
482
483/*
484 * extattr_delete_vp(): Delete a named extended attribute on a file or

Callers 2

sys_extattr_get_fileFunction · 0.85
sys_extattr_get_linkFunction · 0.85

Calls 5

nameiFunction · 0.85
NDFREEFunction · 0.85
extattr_get_vpFunction · 0.85
vreleFunction · 0.70
copyinstrFunction · 0.50

Tested by

no test coverage detected