#include <security/mac_framework.h>
#endif
-#if !CONFIG_APPLEDOUBLE
-#define PANIC_ON_NOAPPLEDOUBLE 1
-#endif
#if NAMEDSTREAMS
error = default_setxattr(vp, name, uio, options, context);
}
#if CONFIG_MACF
- if ((error == 0) && !(options & XATTR_NOSECURITY) &&
- (vfs_flags(vnode_mount(vp)) & MNT_MULTILABEL))
- mac_vnode_label_update_extattr(vnode_mount(vp), vp, name);
+ if ((error == 0) && !(options & XATTR_NOSECURITY)) {
+ mac_vnode_notify_setextattr(context, vp, name, uio);
+ if (vfs_flags(vnode_mount(vp)) & MNT_MULTILABEL)
+ mac_vnode_label_update_extattr(vnode_mount(vp), vp, name);
+ }
#endif
out:
return (error);
#endif /* DUAL_EAS */
}
#if CONFIG_MACF
- if ((error == 0) && !(options & XATTR_NOSECURITY) &&
- (vfs_flags(vnode_mount(vp)) & MNT_MULTILABEL))
- mac_vnode_label_update_extattr(vnode_mount(vp), vp, name);
+ if ((error == 0) && !(options & XATTR_NOSECURITY)) {
+ mac_vnode_notify_deleteextattr(context, vp, name);
+ if (vfs_flags(vnode_mount(vp)) & MNT_MULTILABEL)
+ mac_vnode_label_update_extattr(vnode_mount(vp), vp, name);
+ }
#endif
out:
return (error);
}
iosize = bufsize = MIN(datasize, NS_IOBUFSIZE);
- if (kmem_alloc(kernel_map, (vm_offset_t *)&bufptr, bufsize)) {
+ if (kmem_alloc(kernel_map, (vm_offset_t *)&bufptr, bufsize, VM_KERN_MEMORY_FILE)) {
return (ENOMEM);
}
auio = uio_create(1, 0, UIO_SYSSPACE, UIO_READ);
size_t iosize;
iosize = bufsize = MIN(datasize, NS_IOBUFSIZE);
- if (kmem_alloc(kernel_map, (vm_offset_t *)&bufptr, bufsize)) {
+ if (kmem_alloc(kernel_map, (vm_offset_t *)&bufptr, bufsize, VM_KERN_MEMORY_FILE)) {
error = ENOMEM;
goto out;
}
}
orig_chunk = chunk;
- if (kmem_alloc(kernel_map, (vm_offset_t *)&buff, chunk)) {
+ if (kmem_alloc(kernel_map, (vm_offset_t *)&buff, chunk, VM_KERN_MEMORY_FILE)) {
return ENOMEM;
}
orig_chunk = chunk;
end = start + len;
- if (kmem_alloc(kernel_map, (vm_offset_t *)&buff, chunk)) {
+ if (kmem_alloc(kernel_map, (vm_offset_t *)&buff, chunk, VM_KERN_MEMORY_FILE)) {
return ENOMEM;
}
#else /* CONFIG_APPLEDOUBLE */
-#undef panic
-#define panic printf
static int
-default_getxattr(vnode_t vp, const char *name,
+default_getxattr(__unused vnode_t vp, __unused const char *name,
__unused uio_t uio, __unused size_t *size, __unused int options,
__unused vfs_context_t context)
{
-#if PANIC_ON_NOAPPLEDOUBLE
- panic("%s: no AppleDouble support, vp %p name %s", __func__, vp, name);
-#endif
return (ENOTSUP);
}
static int
-default_setxattr(vnode_t vp, const char *name,
+default_setxattr(__unused vnode_t vp, __unused const char *name,
__unused uio_t uio, __unused int options, __unused vfs_context_t context)
{
-#if PANIC_ON_NOAPPLEDOUBLE
- panic("%s: no AppleDouble support, vp %p name %s", __func__, vp, name);
-#endif
return (ENOTSUP);
}
static int
-default_listxattr(vnode_t vp,
+default_listxattr(__unused vnode_t vp,
__unused uio_t uio, __unused size_t *size, __unused int options,
__unused vfs_context_t context)
{
-#if PANIC_ON_NOAPPLEDOUBLE
- panic("%s: no AppleDouble support, vp %p name %s", __func__, vp, ".");
-#endif
return (ENOTSUP);
}
static int
-default_removexattr(vnode_t vp, const char *name,
+default_removexattr(__unused vnode_t vp, __unused const char *name,
__unused int options, __unused vfs_context_t context)
{
-#if PANIC_ON_NOAPPLEDOUBLE
- panic("%s: no AppleDouble support, vp %p name %s", __func__, vp, name);
-#endif
return (ENOTSUP);
}