From 2f529f9b558ca1c1bd74be7437a84e4711743404 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Fri, 01 Nov 2024 02:11:33 +0000
Subject: [PATCH] add xenomai
---
kernel/fs/file.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/kernel/fs/file.c b/kernel/fs/file.c
index 97a0cd3..6d84335 100644
--- a/kernel/fs/file.c
+++ b/kernel/fs/file.c
@@ -429,6 +429,7 @@
if (set & 1) {
struct file * file = xchg(&fdt->fd[i], NULL);
if (file) {
+ uninstall_inband_fd(i, file, files);
filp_close(file, files);
cond_resched();
}
@@ -646,6 +647,7 @@
fdt = files_fdtable(files);
BUG_ON(fdt->fd[fd] != NULL);
rcu_assign_pointer(fdt->fd[fd], file);
+ install_inband_fd(fd, file, files);
spin_unlock(&files->file_lock);
return;
}
@@ -654,6 +656,7 @@
fdt = rcu_dereference_sched(files->fdt);
BUG_ON(fdt->fd[fd] != NULL);
rcu_assign_pointer(fdt->fd[fd], file);
+ install_inband_fd(fd, file, files);
rcu_read_unlock_sched();
}
@@ -682,6 +685,7 @@
goto out_unlock;
rcu_assign_pointer(fdt->fd[fd], NULL);
__put_unused_fd(files, fd);
+ uninstall_inband_fd(fd, file, files);
out_unlock:
spin_unlock(&files->file_lock);
@@ -799,6 +803,8 @@
goto out_err;
rcu_assign_pointer(fdt->fd[fd], NULL);
__put_unused_fd(files, fd);
+ uninstall_inband_fd(fd, file, files);
+ spin_unlock(&files->file_lock);
get_file(file);
*res = file;
return 0;
@@ -850,6 +856,7 @@
continue;
rcu_assign_pointer(fdt->fd[fd], NULL);
__put_unused_fd(files, fd);
+ uninstall_inband_fd(fd, file, files);
spin_unlock(&files->file_lock);
filp_close(file, files);
cond_resched();
@@ -1088,6 +1095,7 @@
__set_close_on_exec(fd, fdt);
else
__clear_close_on_exec(fd, fdt);
+ replace_inband_fd(fd, file, files);
spin_unlock(&files->file_lock);
if (tofree)
--
Gitblit v1.6.2