Page MenuHomeFreeBSD

D32438.diff
No OneTemporary

D32438.diff

diff --git a/lib/libc/sys/extattr_get_file.2 b/lib/libc/sys/extattr_get_file.2
--- a/lib/libc/sys/extattr_get_file.2
+++ b/lib/libc/sys/extattr_get_file.2
@@ -26,7 +26,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd December 7, 2020
+.Dd October 11, 2021
.Dt EXTATTR 2
.Os
.Sh NAME
@@ -149,6 +149,11 @@
functions take a path.
Both arguments describe a file associated with the extended attribute
that should be manipulated.
+The
+.Qq Li _fd
+functions can be used with file descriptors opened with the
+.Dv O_PATH
+flag.
.Pp
The following arguments are common to all the system calls described here:
.Bl -tag -width attrnamespace
diff --git a/sys/kern/vfs_extattr.c b/sys/kern/vfs_extattr.c
--- a/sys/kern/vfs_extattr.c
+++ b/sys/kern/vfs_extattr.c
@@ -242,7 +242,7 @@
return (error);
AUDIT_ARG_TEXT(attrname);
- error = getvnode(td, uap->fd,
+ error = getvnode_path(td, uap->fd,
cap_rights_init_one(&rights, CAP_EXTATTR_SET), &fp);
if (error)
return (error);
@@ -409,7 +409,7 @@
return (error);
AUDIT_ARG_TEXT(attrname);
- error = getvnode(td, uap->fd,
+ error = getvnode_path(td, uap->fd,
cap_rights_init_one(&rights, CAP_EXTATTR_GET), &fp);
if (error)
return (error);
@@ -544,7 +544,7 @@
return (error);
AUDIT_ARG_TEXT(attrname);
- error = getvnode(td, uap->fd,
+ error = getvnode_path(td, uap->fd,
cap_rights_init_one(&rights, CAP_EXTATTR_DELETE), &fp);
if (error)
return (error);
@@ -690,7 +690,7 @@
AUDIT_ARG_FD(uap->fd);
AUDIT_ARG_VALUE(uap->attrnamespace);
- error = getvnode(td, uap->fd,
+ error = getvnode_path(td, uap->fd,
cap_rights_init_one(&rights, CAP_EXTATTR_LIST), &fp);
if (error)
return (error);

File Metadata

Mime Type
text/plain
Expires
Mon, Jan 27, 8:19 PM (7 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16210599
Default Alt Text
D32438.diff (1 KB)

Event Timeline