Commit e7c64ae1 authored by Cyrill Gorcunov's avatar Cyrill Gorcunov Committed by Pavel Emelyanov

vdso: Add vdso_put_mark helper

Instead of opencoded mark injection provide
a helper for easier grepability.

[xemul: Go ahead and remove the INIT_VDSO_MARK at all]
Signed-off-by: 's avatarCyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent d2b415ca
......@@ -246,7 +246,6 @@ int vdso_proxify(char *who, struct vdso_symtable *sym_rt, VmaEntry *vma, unsigne
struct vdso_symtable s = VDSO_SYMTABLE_INIT;
size_t size = vma_entry_len(vma);
bool remap_rt = true;
struct vdso_mark *m;
/*
* Find symbols in dumpee vdso.
......@@ -301,9 +300,6 @@ int vdso_proxify(char *who, struct vdso_symtable *sym_rt, VmaEntry *vma, unsigne
* routine we could detect this vdso and do not dump it, since
* it's auto-generated every new session if proxy required.
*/
m = (void *)vdso_rt_parked_at;
INIT_VDSO_MARK(m);
m->proxy_addr = vma->start;
vdso_put_mark((void *)vdso_rt_parked_at, vma->start);
return 0;
}
......@@ -90,15 +90,6 @@ struct vdso_mark {
/* Magic number (criuvdso) */
#define VDSO_MARK_SIGNATURE (0x6f73647675697263ULL)
#define VDSO_MARK_INIT \
{ \
.signature = VDSO_MARK_SIGNATURE, \
.proxy_addr = VDSO_BAD_ADDR, \
}
#define INIT_VDSO_MARK(m) \
*(m) = (struct vdso_mark)VDSO_MARK_INIT
static inline bool is_vdso_mark(void *addr)
{
struct vdso_mark *m = addr;
......@@ -107,6 +98,14 @@ static inline bool is_vdso_mark(void *addr)
m->proxy_addr != VDSO_BAD_ADDR;
}
static inline void vdso_put_mark(void *where, unsigned long proxy_addr)
{
struct vdso_mark *m = where;
m->signature = VDSO_MARK_SIGNATURE;
m->proxy_addr = proxy_addr;
}
extern struct vdso_symtable vdso_sym_rt;
extern u64 vdso_pfn;
extern int vdso_init(void);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment