aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMariusz Zaborski <oshogbo@FreeBSD.org>2019-04-06 09:37:10 +0000
committerMariusz Zaborski <oshogbo@FreeBSD.org>2019-04-06 09:37:10 +0000
commita4890265660a055fe29ac04633880b4baaeeba0c (patch)
tree51c2d4c6eedb6cb57c98cc88849b996a2276679c /sys
parenta1304030b815cf1c7dbc934cbd994d8f333eb9cd (diff)
downloadsrc-a4890265660a055fe29ac04633880b4baaeeba0c.tar.gz
src-a4890265660a055fe29ac04633880b4baaeeba0c.zip
Regen after r345982.
Notes
Notes: svn path=/head/; revision=345983
Diffstat (limited to 'sys')
-rw-r--r--sys/compat/freebsd32/freebsd32_syscall.h3
-rw-r--r--sys/compat/freebsd32/freebsd32_syscalls.c1
-rw-r--r--sys/compat/freebsd32/freebsd32_sysent.c1
-rw-r--r--sys/compat/freebsd32/freebsd32_systrace_args.c34
-rw-r--r--sys/kern/init_sysent.c1
-rw-r--r--sys/kern/syscalls.c1
-rw-r--r--sys/kern/systrace_args.c34
-rw-r--r--sys/sys/syscall.h3
-rw-r--r--sys/sys/syscall.mk3
-rw-r--r--sys/sys/sysproto.h8
10 files changed, 86 insertions, 3 deletions
diff --git a/sys/compat/freebsd32/freebsd32_syscall.h b/sys/compat/freebsd32/freebsd32_syscall.h
index fe159abb7ca6..3650bc3a1203 100644
--- a/sys/compat/freebsd32/freebsd32_syscall.h
+++ b/sys/compat/freebsd32/freebsd32_syscall.h
@@ -494,4 +494,5 @@
#define FREEBSD32_SYS_fhlink 565
#define FREEBSD32_SYS_fhlinkat 566
#define FREEBSD32_SYS_fhreadlink 567
-#define FREEBSD32_SYS_MAXSYSCALL 568
+#define FREEBSD32_SYS_funlinkat 568
+#define FREEBSD32_SYS_MAXSYSCALL 569
diff --git a/sys/compat/freebsd32/freebsd32_syscalls.c b/sys/compat/freebsd32/freebsd32_syscalls.c
index 4992056ae28b..feebf281470c 100644
--- a/sys/compat/freebsd32/freebsd32_syscalls.c
+++ b/sys/compat/freebsd32/freebsd32_syscalls.c
@@ -604,4 +604,5 @@ const char *freebsd32_syscallnames[] = {
"fhlink", /* 565 = fhlink */
"fhlinkat", /* 566 = fhlinkat */
"fhreadlink", /* 567 = fhreadlink */
+ "funlinkat", /* 568 = funlinkat */
};
diff --git a/sys/compat/freebsd32/freebsd32_sysent.c b/sys/compat/freebsd32/freebsd32_sysent.c
index 6a41d577ffec..8ddf6b2cb77a 100644
--- a/sys/compat/freebsd32/freebsd32_sysent.c
+++ b/sys/compat/freebsd32/freebsd32_sysent.c
@@ -651,4 +651,5 @@ struct sysent freebsd32_sysent[] = {
{ AS(fhlink_args), (sy_call_t *)sys_fhlink, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 565 = fhlink */
{ AS(fhlinkat_args), (sy_call_t *)sys_fhlinkat, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 566 = fhlinkat */
{ AS(fhreadlink_args), (sy_call_t *)sys_fhreadlink, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 567 = fhreadlink */
+ { AS(funlinkat_args), (sy_call_t *)sys_funlinkat, AUE_UNLINKAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 568 = funlinkat */
};
diff --git a/sys/compat/freebsd32/freebsd32_systrace_args.c b/sys/compat/freebsd32/freebsd32_systrace_args.c
index 05e2e8a96382..d59eb7c96c2c 100644
--- a/sys/compat/freebsd32/freebsd32_systrace_args.c
+++ b/sys/compat/freebsd32/freebsd32_systrace_args.c
@@ -3310,6 +3310,16 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
*n_args = 3;
break;
}
+ /* funlinkat */
+ case 568: {
+ struct funlinkat_args *p = params;
+ iarg[0] = p->dfd; /* int */
+ uarg[1] = (intptr_t) p->path; /* const char * */
+ iarg[2] = p->fd; /* int */
+ iarg[3] = p->flag; /* int */
+ *n_args = 4;
+ break;
+ }
default:
*n_args = 0;
break;
@@ -8905,6 +8915,25 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
+ /* funlinkat */
+ case 568:
+ switch(ndx) {
+ case 0:
+ p = "int";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "int";
+ break;
+ case 3:
+ p = "int";
+ break;
+ default:
+ break;
+ };
+ break;
default:
break;
};
@@ -10774,6 +10803,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
if (ndx == 0 || ndx == 1)
p = "int";
break;
+ /* funlinkat */
+ case 568:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
default:
break;
};
diff --git a/sys/kern/init_sysent.c b/sys/kern/init_sysent.c
index 63de745465cf..619d34933f3b 100644
--- a/sys/kern/init_sysent.c
+++ b/sys/kern/init_sysent.c
@@ -617,4 +617,5 @@ struct sysent sysent[] = {
{ AS(fhlink_args), (sy_call_t *)sys_fhlink, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 565 = fhlink */
{ AS(fhlinkat_args), (sy_call_t *)sys_fhlinkat, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 566 = fhlinkat */
{ AS(fhreadlink_args), (sy_call_t *)sys_fhreadlink, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 567 = fhreadlink */
+ { AS(funlinkat_args), (sy_call_t *)sys_funlinkat, AUE_UNLINKAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 568 = funlinkat */
};
diff --git a/sys/kern/syscalls.c b/sys/kern/syscalls.c
index 577859abe111..7e02ce405041 100644
--- a/sys/kern/syscalls.c
+++ b/sys/kern/syscalls.c
@@ -574,4 +574,5 @@ const char *syscallnames[] = {
"fhlink", /* 565 = fhlink */
"fhlinkat", /* 566 = fhlinkat */
"fhreadlink", /* 567 = fhreadlink */
+ "funlinkat", /* 568 = funlinkat */
};
diff --git a/sys/kern/systrace_args.c b/sys/kern/systrace_args.c
index 196d13491a98..3cf76dfc6d46 100644
--- a/sys/kern/systrace_args.c
+++ b/sys/kern/systrace_args.c
@@ -3302,6 +3302,16 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
*n_args = 3;
break;
}
+ /* funlinkat */
+ case 568: {
+ struct funlinkat_args *p = params;
+ iarg[0] = p->dfd; /* int */
+ uarg[1] = (intptr_t) p->path; /* const char * */
+ iarg[2] = p->fd; /* int */
+ iarg[3] = p->flag; /* int */
+ *n_args = 4;
+ break;
+ }
default:
*n_args = 0;
break;
@@ -8810,6 +8820,25 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
+ /* funlinkat */
+ case 568:
+ switch(ndx) {
+ case 0:
+ p = "int";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "int";
+ break;
+ case 3:
+ p = "int";
+ break;
+ default:
+ break;
+ };
+ break;
default:
break;
};
@@ -10706,6 +10735,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
if (ndx == 0 || ndx == 1)
p = "int";
break;
+ /* funlinkat */
+ case 568:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
default:
break;
};
diff --git a/sys/sys/syscall.h b/sys/sys/syscall.h
index 3d749182add7..d3ba7b3ce233 100644
--- a/sys/sys/syscall.h
+++ b/sys/sys/syscall.h
@@ -503,4 +503,5 @@
#define SYS_fhlink 565
#define SYS_fhlinkat 566
#define SYS_fhreadlink 567
-#define SYS_MAXSYSCALL 568
+#define SYS_funlinkat 568
+#define SYS_MAXSYSCALL 569
diff --git a/sys/sys/syscall.mk b/sys/sys/syscall.mk
index 44a7a2ab9e3a..bf560ad5609a 100644
--- a/sys/sys/syscall.mk
+++ b/sys/sys/syscall.mk
@@ -408,4 +408,5 @@ MIASM = \
getfhat.o \
fhlink.o \
fhlinkat.o \
- fhreadlink.o
+ fhreadlink.o \
+ funlinkat.o
diff --git a/sys/sys/sysproto.h b/sys/sys/sysproto.h
index d16a92a3b68c..2150acbddb9a 100644
--- a/sys/sys/sysproto.h
+++ b/sys/sys/sysproto.h
@@ -1790,6 +1790,12 @@ struct fhreadlink_args {
char buf_l_[PADL_(char *)]; char * buf; char buf_r_[PADR_(char *)];
char bufsize_l_[PADL_(size_t)]; size_t bufsize; char bufsize_r_[PADR_(size_t)];
};
+struct funlinkat_args {
+ char dfd_l_[PADL_(int)]; int dfd; char dfd_r_[PADR_(int)];
+ char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)];
+ char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
+ char flag_l_[PADL_(int)]; int flag; char flag_r_[PADR_(int)];
+};
int nosys(struct thread *, struct nosys_args *);
void sys_sys_exit(struct thread *, struct sys_exit_args *);
int sys_fork(struct thread *, struct fork_args *);
@@ -2174,6 +2180,7 @@ int sys_getfhat(struct thread *, struct getfhat_args *);
int sys_fhlink(struct thread *, struct fhlink_args *);
int sys_fhlinkat(struct thread *, struct fhlinkat_args *);
int sys_fhreadlink(struct thread *, struct fhreadlink_args *);
+int sys_funlinkat(struct thread *, struct funlinkat_args *);
#ifdef COMPAT_43
@@ -3080,6 +3087,7 @@ int freebsd11_mknodat(struct thread *, struct freebsd11_mknodat_args *);
#define SYS_AUE_fhlink AUE_NULL
#define SYS_AUE_fhlinkat AUE_NULL
#define SYS_AUE_fhreadlink AUE_NULL
+#define SYS_AUE_funlinkat AUE_UNLINKAT
#undef PAD_
#undef PADL_