mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-01-22 18:05:10 +00:00
infect-types: fix user_gcs redefine error
In file included from compel/arch/aarch64/src/lib/infect.c:10:
compel/include/uapi/compel/asm/infect-types.h:24:8: error: redefinition of 'user_gcs'
24 | struct user_gcs {
| ^
/usr/include/asm/ptrace.h:329:8: note: previous definition is here
329 | struct user_gcs {
| ^
1 error generated.
make[1]: *** [/criu/scripts/nmk/scripts/build.mk:215: compel/arch/aarch64/src/lib/infect.o] Error 1
Suggested-by: Andrei Vagin <avagin@google.com>
Signed-off-by: Radostin Stoyanov <rstoyanov@fedoraproject.org>
This commit is contained in:
parent
2dd66866e3
commit
ddf7a170ff
3 changed files with 10 additions and 7 deletions
|
|
@ -20,8 +20,11 @@ typedef struct user_pt_regs user_regs_struct_t;
|
|||
|
||||
/*
|
||||
* GCS (Guarded Control Stack)
|
||||
*
|
||||
* This mirrors the kernel definition but renamed to cr_user_gcs
|
||||
* to avoid conflict with kernel headers (/usr/include/asm/ptrace.h).
|
||||
*/
|
||||
struct user_gcs {
|
||||
struct cr_user_gcs {
|
||||
__u64 features_enabled;
|
||||
__u64 features_locked;
|
||||
__u64 gcspr_el0;
|
||||
|
|
@ -29,7 +32,7 @@ struct user_gcs {
|
|||
|
||||
struct user_fpregs_struct {
|
||||
struct user_fpsimd_state fpstate;
|
||||
struct user_gcs gcs;
|
||||
struct cr_user_gcs gcs;
|
||||
};
|
||||
typedef struct user_fpregs_struct user_fpregs_struct_t;
|
||||
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ bool __compel_host_supports_gcs(void)
|
|||
return (hwcap & HWCAP_GCS) != 0;
|
||||
}
|
||||
|
||||
static bool __compel_gcs_enabled(struct user_gcs *gcs)
|
||||
static bool __compel_gcs_enabled(struct cr_user_gcs *gcs)
|
||||
{
|
||||
if (!compel_host_supports_gcs())
|
||||
return false;
|
||||
|
|
@ -136,7 +136,7 @@ int compel_set_task_ext_regs(pid_t pid, user_fpregs_struct_t *ext_regs)
|
|||
{
|
||||
struct iovec iov;
|
||||
|
||||
struct user_gcs gcs;
|
||||
struct cr_user_gcs gcs;
|
||||
struct iovec gcs_iov = { .iov_base = &gcs, .iov_len = sizeof(gcs) };
|
||||
|
||||
pr_info("Restoring GP/FPU registers for %d\n", pid);
|
||||
|
|
@ -363,7 +363,7 @@ int ptrace_flush_breakpoints(pid_t pid)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int inject_gcs_cap_token(struct parasite_ctl *ctl, pid_t pid, struct user_gcs *gcs)
|
||||
int inject_gcs_cap_token(struct parasite_ctl *ctl, pid_t pid, struct cr_user_gcs *gcs)
|
||||
{
|
||||
struct iovec gcs_iov = { .iov_base = gcs, .iov_len = sizeof(*gcs) };
|
||||
|
||||
|
|
@ -403,7 +403,7 @@ int inject_gcs_cap_token(struct parasite_ctl *ctl, pid_t pid, struct user_gcs *g
|
|||
|
||||
int parasite_setup_shstk(struct parasite_ctl *ctl, user_fpregs_struct_t *ext_regs)
|
||||
{
|
||||
struct user_gcs gcs;
|
||||
struct cr_user_gcs gcs;
|
||||
struct iovec gcs_iov = { .iov_base = &gcs, .iov_len = sizeof(gcs) };
|
||||
pid_t pid = ctl->rpid;
|
||||
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@ static int save_pac_keys(int pid, CoreEntry *core)
|
|||
int save_task_regs(pid_t pid, void *x, user_regs_struct_t *regs, user_fpregs_struct_t *fpsimd)
|
||||
{
|
||||
int i;
|
||||
struct user_gcs gcs_live;
|
||||
struct cr_user_gcs gcs_live;
|
||||
struct iovec gcs_iov = {
|
||||
.iov_base = &gcs_live,
|
||||
.iov_len = sizeof(gcs_live),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue