linux compat: add non-dummy capget and capset system calls, regenerate
And drop dummy definitions for those system calls. This may transiently break the build. PR: kern/149168 Submitted by: John Wehle <john@feith.com> Reviewed by: netchild MFC after: 2 weeks
This commit is contained in:
parent
f378d4c804
commit
931f0826ea
@ -54,8 +54,6 @@ DUMMY(sysfs);
|
||||
DUMMY(query_module);
|
||||
DUMMY(nfsservctl);
|
||||
DUMMY(rt_sigqueueinfo);
|
||||
DUMMY(capget);
|
||||
DUMMY(capset);
|
||||
DUMMY(sendfile);
|
||||
DUMMY(setfsuid);
|
||||
DUMMY(setfsgid);
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* DO NOT EDIT-- this file is automatically generated.
|
||||
* $FreeBSD$
|
||||
* created from FreeBSD: head/sys/amd64/linux32/syscalls.master 219559 2011-03-12 08:51:43Z avg
|
||||
* created from FreeBSD: head/sys/amd64/linux32/syscalls.master 220028 2011-03-26 10:51:56Z avg
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_SYSPROTO_H_
|
||||
@ -589,10 +589,12 @@ struct linux_getcwd_args {
|
||||
char bufsize_l_[PADL_(l_ulong)]; l_ulong bufsize; char bufsize_r_[PADR_(l_ulong)];
|
||||
};
|
||||
struct linux_capget_args {
|
||||
register_t dummy;
|
||||
char hdrp_l_[PADL_(struct l_user_cap_header *)]; struct l_user_cap_header * hdrp; char hdrp_r_[PADR_(struct l_user_cap_header *)];
|
||||
char datap_l_[PADL_(struct l_user_cap_data *)]; struct l_user_cap_data * datap; char datap_r_[PADR_(struct l_user_cap_data *)];
|
||||
};
|
||||
struct linux_capset_args {
|
||||
register_t dummy;
|
||||
char hdrp_l_[PADL_(struct l_user_cap_header *)]; struct l_user_cap_header * hdrp; char hdrp_r_[PADR_(struct l_user_cap_header *)];
|
||||
char datap_l_[PADL_(struct l_user_cap_data *)]; struct l_user_cap_data * datap; char datap_r_[PADR_(struct l_user_cap_data *)];
|
||||
};
|
||||
struct linux_sigaltstack_args {
|
||||
char uss_l_[PADL_(l_stack_t *)]; l_stack_t * uss; char uss_r_[PADR_(l_stack_t *)];
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* DO NOT EDIT-- this file is automatically generated.
|
||||
* $FreeBSD$
|
||||
* created from FreeBSD: head/sys/amd64/linux32/syscalls.master 219559 2011-03-12 08:51:43Z avg
|
||||
* created from FreeBSD: head/sys/amd64/linux32/syscalls.master 220028 2011-03-26 10:51:56Z avg
|
||||
*/
|
||||
|
||||
#define LINUX_SYS_exit 1
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* DO NOT EDIT-- this file is automatically generated.
|
||||
* $FreeBSD$
|
||||
* created from FreeBSD: head/sys/amd64/linux32/syscalls.master 219559 2011-03-12 08:51:43Z avg
|
||||
* created from FreeBSD: head/sys/amd64/linux32/syscalls.master 220028 2011-03-26 10:51:56Z avg
|
||||
*/
|
||||
|
||||
const char *linux_syscallnames[] = {
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* DO NOT EDIT-- this file is automatically generated.
|
||||
* $FreeBSD$
|
||||
* created from FreeBSD: head/sys/amd64/linux32/syscalls.master 219559 2011-03-12 08:51:43Z avg
|
||||
* created from FreeBSD: head/sys/amd64/linux32/syscalls.master 220028 2011-03-26 10:51:56Z avg
|
||||
*/
|
||||
|
||||
#include "opt_compat.h"
|
||||
@ -203,8 +203,8 @@ struct sysent linux_sysent[] = {
|
||||
{ AS(linux_pwrite_args), (sy_call_t *)linux_pwrite, AUE_PWRITE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 181 = linux_pwrite */
|
||||
{ AS(linux_chown16_args), (sy_call_t *)linux_chown16, AUE_CHOWN, NULL, 0, 0, 0, SY_THR_STATIC }, /* 182 = linux_chown16 */
|
||||
{ AS(linux_getcwd_args), (sy_call_t *)linux_getcwd, AUE_GETCWD, NULL, 0, 0, 0, SY_THR_STATIC }, /* 183 = linux_getcwd */
|
||||
{ 0, (sy_call_t *)linux_capget, AUE_CAPGET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 184 = linux_capget */
|
||||
{ 0, (sy_call_t *)linux_capset, AUE_CAPSET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 185 = linux_capset */
|
||||
{ AS(linux_capget_args), (sy_call_t *)linux_capget, AUE_CAPGET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 184 = linux_capget */
|
||||
{ AS(linux_capset_args), (sy_call_t *)linux_capset, AUE_CAPSET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 185 = linux_capset */
|
||||
{ AS(linux_sigaltstack_args), (sy_call_t *)linux_sigaltstack, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 186 = linux_sigaltstack */
|
||||
{ 0, (sy_call_t *)linux_sendfile, AUE_SENDFILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 187 = linux_sendfile */
|
||||
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 188 = getpmsg */
|
||||
|
@ -1284,12 +1284,18 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
|
||||
}
|
||||
/* linux_capget */
|
||||
case 184: {
|
||||
*n_args = 0;
|
||||
struct linux_capget_args *p = params;
|
||||
uarg[0] = (intptr_t) p->hdrp; /* struct l_user_cap_header * */
|
||||
uarg[1] = (intptr_t) p->datap; /* struct l_user_cap_data * */
|
||||
*n_args = 2;
|
||||
break;
|
||||
}
|
||||
/* linux_capset */
|
||||
case 185: {
|
||||
*n_args = 0;
|
||||
struct linux_capset_args *p = params;
|
||||
uarg[0] = (intptr_t) p->hdrp; /* struct l_user_cap_header * */
|
||||
uarg[1] = (intptr_t) p->datap; /* struct l_user_cap_data * */
|
||||
*n_args = 2;
|
||||
break;
|
||||
}
|
||||
/* linux_sigaltstack */
|
||||
@ -4051,9 +4057,29 @@ systrace_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
|
||||
break;
|
||||
/* linux_capget */
|
||||
case 184:
|
||||
switch(ndx) {
|
||||
case 0:
|
||||
p = "struct l_user_cap_header *";
|
||||
break;
|
||||
case 1:
|
||||
p = "struct l_user_cap_data *";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
break;
|
||||
/* linux_capset */
|
||||
case 185:
|
||||
switch(ndx) {
|
||||
case 0:
|
||||
p = "struct l_user_cap_header *";
|
||||
break;
|
||||
case 1:
|
||||
p = "struct l_user_cap_data *";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
break;
|
||||
/* linux_sigaltstack */
|
||||
case 186:
|
||||
|
@ -57,8 +57,6 @@ DUMMY(vm86);
|
||||
DUMMY(query_module);
|
||||
DUMMY(nfsservctl);
|
||||
DUMMY(rt_sigqueueinfo);
|
||||
DUMMY(capget);
|
||||
DUMMY(capset);
|
||||
DUMMY(sendfile); /* different semantics */
|
||||
DUMMY(setfsuid);
|
||||
DUMMY(setfsgid);
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* DO NOT EDIT-- this file is automatically generated.
|
||||
* $FreeBSD$
|
||||
* created from FreeBSD: head/sys/i386/linux/syscalls.master 219559 2011-03-12 08:51:43Z avg
|
||||
* created from FreeBSD: head/sys/i386/linux/syscalls.master 220028 2011-03-26 10:51:56Z avg
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_SYSPROTO_H_
|
||||
@ -586,10 +586,12 @@ struct linux_getcwd_args {
|
||||
char bufsize_l_[PADL_(l_ulong)]; l_ulong bufsize; char bufsize_r_[PADR_(l_ulong)];
|
||||
};
|
||||
struct linux_capget_args {
|
||||
register_t dummy;
|
||||
char hdrp_l_[PADL_(struct l_user_cap_header *)]; struct l_user_cap_header * hdrp; char hdrp_r_[PADR_(struct l_user_cap_header *)];
|
||||
char datap_l_[PADL_(struct l_user_cap_data *)]; struct l_user_cap_data * datap; char datap_r_[PADR_(struct l_user_cap_data *)];
|
||||
};
|
||||
struct linux_capset_args {
|
||||
register_t dummy;
|
||||
char hdrp_l_[PADL_(struct l_user_cap_header *)]; struct l_user_cap_header * hdrp; char hdrp_r_[PADR_(struct l_user_cap_header *)];
|
||||
char datap_l_[PADL_(struct l_user_cap_data *)]; struct l_user_cap_data * datap; char datap_r_[PADR_(struct l_user_cap_data *)];
|
||||
};
|
||||
struct linux_sigaltstack_args {
|
||||
char uss_l_[PADL_(l_stack_t *)]; l_stack_t * uss; char uss_r_[PADR_(l_stack_t *)];
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* DO NOT EDIT-- this file is automatically generated.
|
||||
* $FreeBSD$
|
||||
* created from FreeBSD: head/sys/i386/linux/syscalls.master 219559 2011-03-12 08:51:43Z avg
|
||||
* created from FreeBSD: head/sys/i386/linux/syscalls.master 220028 2011-03-26 10:51:56Z avg
|
||||
*/
|
||||
|
||||
#define LINUX_SYS_exit 1
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* DO NOT EDIT-- this file is automatically generated.
|
||||
* $FreeBSD$
|
||||
* created from FreeBSD: head/sys/i386/linux/syscalls.master 219559 2011-03-12 08:51:43Z avg
|
||||
* created from FreeBSD: head/sys/i386/linux/syscalls.master 220028 2011-03-26 10:51:56Z avg
|
||||
*/
|
||||
|
||||
const char *linux_syscallnames[] = {
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* DO NOT EDIT-- this file is automatically generated.
|
||||
* $FreeBSD$
|
||||
* created from FreeBSD: head/sys/i386/linux/syscalls.master 219559 2011-03-12 08:51:43Z avg
|
||||
* created from FreeBSD: head/sys/i386/linux/syscalls.master 220028 2011-03-26 10:51:56Z avg
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
@ -202,8 +202,8 @@ struct sysent linux_sysent[] = {
|
||||
{ AS(linux_pwrite_args), (sy_call_t *)linux_pwrite, AUE_PWRITE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 181 = linux_pwrite */
|
||||
{ AS(linux_chown16_args), (sy_call_t *)linux_chown16, AUE_CHOWN, NULL, 0, 0, 0, SY_THR_STATIC }, /* 182 = linux_chown16 */
|
||||
{ AS(linux_getcwd_args), (sy_call_t *)linux_getcwd, AUE_GETCWD, NULL, 0, 0, 0, SY_THR_STATIC }, /* 183 = linux_getcwd */
|
||||
{ 0, (sy_call_t *)linux_capget, AUE_CAPGET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 184 = linux_capget */
|
||||
{ 0, (sy_call_t *)linux_capset, AUE_CAPSET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 185 = linux_capset */
|
||||
{ AS(linux_capget_args), (sy_call_t *)linux_capget, AUE_CAPGET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 184 = linux_capget */
|
||||
{ AS(linux_capset_args), (sy_call_t *)linux_capset, AUE_CAPSET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 185 = linux_capset */
|
||||
{ AS(linux_sigaltstack_args), (sy_call_t *)linux_sigaltstack, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 186 = linux_sigaltstack */
|
||||
{ 0, (sy_call_t *)linux_sendfile, AUE_SENDFILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 187 = linux_sendfile */
|
||||
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 188 = getpmsg */
|
||||
|
@ -1327,12 +1327,18 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
|
||||
}
|
||||
/* linux_capget */
|
||||
case 184: {
|
||||
*n_args = 0;
|
||||
struct linux_capget_args *p = params;
|
||||
uarg[0] = (intptr_t) p->hdrp; /* struct l_user_cap_header * */
|
||||
uarg[1] = (intptr_t) p->datap; /* struct l_user_cap_data * */
|
||||
*n_args = 2;
|
||||
break;
|
||||
}
|
||||
/* linux_capset */
|
||||
case 185: {
|
||||
*n_args = 0;
|
||||
struct linux_capset_args *p = params;
|
||||
uarg[0] = (intptr_t) p->hdrp; /* struct l_user_cap_header * */
|
||||
uarg[1] = (intptr_t) p->datap; /* struct l_user_cap_data * */
|
||||
*n_args = 2;
|
||||
break;
|
||||
}
|
||||
/* linux_sigaltstack */
|
||||
@ -4203,9 +4209,29 @@ systrace_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
|
||||
break;
|
||||
/* linux_capget */
|
||||
case 184:
|
||||
switch(ndx) {
|
||||
case 0:
|
||||
p = "struct l_user_cap_header *";
|
||||
break;
|
||||
case 1:
|
||||
p = "struct l_user_cap_data *";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
break;
|
||||
/* linux_capset */
|
||||
case 185:
|
||||
switch(ndx) {
|
||||
case 0:
|
||||
p = "struct l_user_cap_header *";
|
||||
break;
|
||||
case 1:
|
||||
p = "struct l_user_cap_data *";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
break;
|
||||
/* linux_sigaltstack */
|
||||
case 186:
|
||||
|
Loading…
Reference in New Issue
Block a user