linux/arch/microblaze/kernel
Andrey Albershteyn be7efb2d20
fs: introduce file_getattr and file_setattr syscalls
Introduce file_getattr() and file_setattr() syscalls to manipulate inode
extended attributes. The syscalls takes pair of file descriptor and
pathname. Then it operates on inode opened accroding to openat()
semantics. The struct file_attr is passed to obtain/change extended
attributes.

This is an alternative to FS_IOC_FSSETXATTR ioctl with a difference
that file don't need to be open as we can reference it with a path
instead of fd. By having this we can manipulated inode extended
attributes not only on regular files but also on special ones. This
is not possible with FS_IOC_FSSETXATTR ioctl as with special files
we can not call ioctl() directly on the filesystem inode using fd.

This patch adds two new syscalls which allows userspace to get/set
extended inode attributes on special files by using parent directory
and a path - *at() like syscall.

CC: linux-api@vger.kernel.org
CC: linux-fsdevel@vger.kernel.org
CC: linux-xfs@vger.kernel.org
Signed-off-by: Andrey Albershteyn <aalbersh@kernel.org>
Link: https://lore.kernel.org/20250630-xattrat-syscall-v6-6-c4e3bc35227b@kernel.org
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-07-02 17:05:17 +02:00
..
cpu microblaze: mb: Use str_yes_no() helper in show_cpuinfo() 2024-11-15 10:27:48 +01:00
syscalls fs: introduce file_getattr and file_setattr syscalls 2025-07-02 17:05:17 +02:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
asm-offsets.c microblaze: Add custom break vector handler for mb manager 2022-09-26 14:13:28 +02:00
dma.c dma-mapping: merge <linux/dma-noncoherent.h> into <linux/dma-map-ops.h> 2020-10-06 07:07:06 +02:00
entry.S microblaze: Add support for error injection 2022-09-26 14:13:29 +02:00
exceptions.c exit: Add and use make_task_dead. 2021-12-13 12:04:45 -06:00
ftrace.c ftrace: Cleanup ftrace_dyn_arch_init() 2021-10-08 19:41:39 -04:00
head.S microblaze: Remove noMMU code 2020-11-26 16:39:35 +01:00
hw_exception_handler.S microblaze: Remove noMMU code 2020-11-26 16:39:35 +01:00
irq.c irqchip/xilinx: Switch to GENERIC_IRQ_MULTI_HANDLER 2022-03-04 14:32:57 +00:00
kgdb.c microblaze: fix typos in comments 2022-05-02 08:36:10 +02:00
Makefile arch: use always-$(KBUILD_BUILTIN) for vmlinux.lds 2025-06-07 14:38:07 +09:00
mcount.S microblaze: ftrace: Remove check of obsolete variable function_trace_stop 2014-07-18 13:57:08 -04:00
microblaze_ksyms.c microblaze: Export xmb_manager functions 2024-10-02 09:18:54 +02:00
misc.S microblaze: Add sync to tlb operations 2020-02-25 12:33:19 +01:00
module.c microblaze: Remove support for gcc < 4 2021-02-11 18:54:08 +01:00
process.c arch/idle: Change arch_cpu_idle() behavior: always exit with IRQs disabled 2023-01-13 11:48:15 +01:00
prom.c of/fdt: add dt_phys arg to early_init_dt_scan and early_init_dt_verify 2024-10-29 15:32:45 -05:00
ptrace.c ptrace: Create ptrace_report_syscall_{entry,exit} in ptrace.h 2022-03-10 13:35:08 -06:00
reset.c microblaze: Explicitly include correct DT includes 2023-07-17 08:22:42 +02:00
setup.c microblaze: Remove noMMU code 2020-11-26 16:39:35 +01:00
signal.c microblaze: allow pte_offset_map() to fail 2023-06-19 16:19:06 -07:00
stacktrace.c microblaze: add loglvl to microblaze_unwind() 2020-06-09 09:39:11 -07:00
sys_microblaze.c syscalls: mmap(): use unsigned offset type consistently 2024-06-25 15:57:38 +02:00
syscall_table.S microblaze: syscalls: switch to generic syscalltbl.sh 2021-03-02 13:21:22 +01:00
timer.c microblaze: Use of_property_present() for non-boolean properties 2025-02-03 11:29:42 +01:00
traps.c arch: include linux/cpu.h for trap_init() prototype 2023-11-23 11:32:31 +01:00
unwind.c microblaze: Remove noMMU code 2020-11-26 16:39:35 +01:00
vmlinux.lds.S objtool/idle: Validate __cpuidle code as noinstr 2023-01-13 11:48:15 +01:00