This commit is contained in:
Konstantin Belousov 2018-12-07 15:19:00 +00:00
parent d1fd400a80
commit fd52edaf70
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=341690
10 changed files with 299 additions and 3 deletions

View File

@ -490,4 +490,8 @@
#define FREEBSD32_SYS_freebsd32_cpuset_getdomain 561
#define FREEBSD32_SYS_freebsd32_cpuset_setdomain 562
#define FREEBSD32_SYS_getrandom 563
#define FREEBSD32_SYS_MAXSYSCALL 564
#define FREEBSD32_SYS_getfhat 564
#define FREEBSD32_SYS_fhlink 565
#define FREEBSD32_SYS_fhlinkat 566
#define FREEBSD32_SYS_fhreadlink 567
#define FREEBSD32_SYS_MAXSYSCALL 568

View File

@ -600,4 +600,8 @@ const char *freebsd32_syscallnames[] = {
"freebsd32_cpuset_getdomain", /* 561 = freebsd32_cpuset_getdomain */
"freebsd32_cpuset_setdomain", /* 562 = freebsd32_cpuset_setdomain */
"getrandom", /* 563 = getrandom */
"getfhat", /* 564 = getfhat */
"fhlink", /* 565 = fhlink */
"fhlinkat", /* 566 = fhlinkat */
"fhreadlink", /* 567 = fhreadlink */
};

View File

@ -647,4 +647,8 @@ struct sysent freebsd32_sysent[] = {
{ AS(freebsd32_cpuset_getdomain_args), (sy_call_t *)freebsd32_cpuset_getdomain, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 561 = freebsd32_cpuset_getdomain */
{ AS(freebsd32_cpuset_setdomain_args), (sy_call_t *)freebsd32_cpuset_setdomain, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 562 = freebsd32_cpuset_setdomain */
{ AS(getrandom_args), (sy_call_t *)sys_getrandom, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 563 = getrandom */
{ AS(getfhat_args), (sy_call_t *)sys_getfhat, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 564 = getfhat */
{ 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 */
};

View File

@ -3274,6 +3274,42 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
*n_args = 3;
break;
}
/* getfhat */
case 564: {
struct getfhat_args *p = params;
iarg[0] = p->fd; /* int */
uarg[1] = (intptr_t) p->path; /* char * */
uarg[2] = (intptr_t) p->fhp; /* struct fhandle * */
iarg[3] = p->flags; /* int */
*n_args = 4;
break;
}
/* fhlink */
case 565: {
struct fhlink_args *p = params;
uarg[0] = (intptr_t) p->fhp; /* struct fhandle * */
uarg[1] = (intptr_t) p->to; /* const char * */
*n_args = 2;
break;
}
/* fhlinkat */
case 566: {
struct fhlinkat_args *p = params;
uarg[0] = (intptr_t) p->fhp; /* struct fhandle * */
iarg[1] = p->tofd; /* int */
uarg[2] = (intptr_t) p->to; /* const char * */
*n_args = 3;
break;
}
/* fhreadlink */
case 567: {
struct fhreadlink_args *p = params;
uarg[0] = (intptr_t) p->fhp; /* struct fhandle * */
uarg[1] = (intptr_t) p->buf; /* char * */
uarg[2] = p->bufsize; /* size_t */
*n_args = 3;
break;
}
default:
*n_args = 0;
break;
@ -8805,6 +8841,70 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
/* getfhat */
case 564:
switch(ndx) {
case 0:
p = "int";
break;
case 1:
p = "userland char *";
break;
case 2:
p = "userland struct fhandle *";
break;
case 3:
p = "int";
break;
default:
break;
};
break;
/* fhlink */
case 565:
switch(ndx) {
case 0:
p = "userland struct fhandle *";
break;
case 1:
p = "userland const char *";
break;
default:
break;
};
break;
/* fhlinkat */
case 566:
switch(ndx) {
case 0:
p = "userland struct fhandle *";
break;
case 1:
p = "int";
break;
case 2:
p = "userland const char *";
break;
default:
break;
};
break;
/* fhreadlink */
case 567:
switch(ndx) {
case 0:
p = "userland struct fhandle *";
break;
case 1:
p = "userland char *";
break;
case 2:
p = "size_t";
break;
default:
break;
};
break;
default:
break;
};
@ -10654,6 +10754,26 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
if (ndx == 0 || ndx == 1)
p = "int";
break;
/* getfhat */
case 564:
if (ndx == 0 || ndx == 1)
p = "int";
break;
/* fhlink */
case 565:
if (ndx == 0 || ndx == 1)
p = "int";
break;
/* fhlinkat */
case 566:
if (ndx == 0 || ndx == 1)
p = "int";
break;
/* fhreadlink */
case 567:
if (ndx == 0 || ndx == 1)
p = "int";
break;
default:
break;
};

View File

@ -613,4 +613,8 @@ struct sysent sysent[] = {
{ AS(cpuset_getdomain_args), (sy_call_t *)sys_cpuset_getdomain, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 561 = cpuset_getdomain */
{ AS(cpuset_setdomain_args), (sy_call_t *)sys_cpuset_setdomain, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 562 = cpuset_setdomain */
{ AS(getrandom_args), (sy_call_t *)sys_getrandom, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 563 = getrandom */
{ AS(getfhat_args), (sy_call_t *)sys_getfhat, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 564 = getfhat */
{ 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 */
};

View File

@ -570,4 +570,8 @@ const char *syscallnames[] = {
"cpuset_getdomain", /* 561 = cpuset_getdomain */
"cpuset_setdomain", /* 562 = cpuset_setdomain */
"getrandom", /* 563 = getrandom */
"getfhat", /* 564 = getfhat */
"fhlink", /* 565 = fhlink */
"fhlinkat", /* 566 = fhlinkat */
"fhreadlink", /* 567 = fhreadlink */
};

View File

@ -3266,6 +3266,42 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
*n_args = 3;
break;
}
/* getfhat */
case 564: {
struct getfhat_args *p = params;
iarg[0] = p->fd; /* int */
uarg[1] = (intptr_t) p->path; /* char * */
uarg[2] = (intptr_t) p->fhp; /* struct fhandle * */
iarg[3] = p->flags; /* int */
*n_args = 4;
break;
}
/* fhlink */
case 565: {
struct fhlink_args *p = params;
uarg[0] = (intptr_t) p->fhp; /* struct fhandle * */
uarg[1] = (intptr_t) p->to; /* const char * */
*n_args = 2;
break;
}
/* fhlinkat */
case 566: {
struct fhlinkat_args *p = params;
uarg[0] = (intptr_t) p->fhp; /* struct fhandle * */
iarg[1] = p->tofd; /* int */
uarg[2] = (intptr_t) p->to; /* const char * */
*n_args = 3;
break;
}
/* fhreadlink */
case 567: {
struct fhreadlink_args *p = params;
uarg[0] = (intptr_t) p->fhp; /* struct fhandle * */
uarg[1] = (intptr_t) p->buf; /* char * */
uarg[2] = p->bufsize; /* size_t */
*n_args = 3;
break;
}
default:
*n_args = 0;
break;
@ -8710,6 +8746,70 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
/* getfhat */
case 564:
switch(ndx) {
case 0:
p = "int";
break;
case 1:
p = "userland char *";
break;
case 2:
p = "userland struct fhandle *";
break;
case 3:
p = "int";
break;
default:
break;
};
break;
/* fhlink */
case 565:
switch(ndx) {
case 0:
p = "userland struct fhandle *";
break;
case 1:
p = "userland const char *";
break;
default:
break;
};
break;
/* fhlinkat */
case 566:
switch(ndx) {
case 0:
p = "userland struct fhandle *";
break;
case 1:
p = "int";
break;
case 2:
p = "userland const char *";
break;
default:
break;
};
break;
/* fhreadlink */
case 567:
switch(ndx) {
case 0:
p = "userland struct fhandle *";
break;
case 1:
p = "userland char *";
break;
case 2:
p = "size_t";
break;
default:
break;
};
break;
default:
break;
};
@ -10586,6 +10686,26 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
if (ndx == 0 || ndx == 1)
p = "int";
break;
/* getfhat */
case 564:
if (ndx == 0 || ndx == 1)
p = "int";
break;
/* fhlink */
case 565:
if (ndx == 0 || ndx == 1)
p = "int";
break;
/* fhlinkat */
case 566:
if (ndx == 0 || ndx == 1)
p = "int";
break;
/* fhreadlink */
case 567:
if (ndx == 0 || ndx == 1)
p = "int";
break;
default:
break;
};

View File

@ -499,4 +499,8 @@
#define SYS_cpuset_getdomain 561
#define SYS_cpuset_setdomain 562
#define SYS_getrandom 563
#define SYS_MAXSYSCALL 564
#define SYS_getfhat 564
#define SYS_fhlink 565
#define SYS_fhlinkat 566
#define SYS_fhreadlink 567
#define SYS_MAXSYSCALL 568

View File

@ -404,4 +404,8 @@ MIASM = \
kevent.o \
cpuset_getdomain.o \
cpuset_setdomain.o \
getrandom.o
getrandom.o \
getfhat.o \
fhlink.o \
fhlinkat.o \
fhreadlink.o

View File

@ -1770,6 +1770,26 @@ struct getrandom_args {
char buflen_l_[PADL_(size_t)]; size_t buflen; char buflen_r_[PADR_(size_t)];
char flags_l_[PADL_(unsigned int)]; unsigned int flags; char flags_r_[PADR_(unsigned int)];
};
struct getfhat_args {
char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
char fhp_l_[PADL_(struct fhandle *)]; struct fhandle * fhp; char fhp_r_[PADR_(struct fhandle *)];
char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)];
};
struct fhlink_args {
char fhp_l_[PADL_(struct fhandle *)]; struct fhandle * fhp; char fhp_r_[PADR_(struct fhandle *)];
char to_l_[PADL_(const char *)]; const char * to; char to_r_[PADR_(const char *)];
};
struct fhlinkat_args {
char fhp_l_[PADL_(struct fhandle *)]; struct fhandle * fhp; char fhp_r_[PADR_(struct fhandle *)];
char tofd_l_[PADL_(int)]; int tofd; char tofd_r_[PADR_(int)];
char to_l_[PADL_(const char *)]; const char * to; char to_r_[PADR_(const char *)];
};
struct fhreadlink_args {
char fhp_l_[PADL_(struct fhandle *)]; struct fhandle * fhp; char fhp_r_[PADR_(struct fhandle *)];
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)];
};
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 *);
@ -2150,6 +2170,10 @@ int sys_kevent(struct thread *, struct kevent_args *);
int sys_cpuset_getdomain(struct thread *, struct cpuset_getdomain_args *);
int sys_cpuset_setdomain(struct thread *, struct cpuset_setdomain_args *);
int sys_getrandom(struct thread *, struct getrandom_args *);
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 *);
#ifdef COMPAT_43
@ -3052,6 +3076,10 @@ int freebsd11_mknodat(struct thread *, struct freebsd11_mknodat_args *);
#define SYS_AUE_cpuset_getdomain AUE_NULL
#define SYS_AUE_cpuset_setdomain AUE_NULL
#define SYS_AUE_getrandom AUE_NULL
#define SYS_AUE_getfhat AUE_NULL
#define SYS_AUE_fhlink AUE_NULL
#define SYS_AUE_fhlinkat AUE_NULL
#define SYS_AUE_fhreadlink AUE_NULL
#undef PAD_
#undef PADL_