Commit 391e4bd7 authored by Pavel Emelyanov's avatar Pavel Emelyanov

page-read: Sanitize opening routines

Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 6c0bed95
......@@ -65,7 +65,7 @@ static int cr_dedup_one_pagemap(int pid)
struct page_read * prp;
struct iovec iov;
ret = open_page_rw(pid, &pr);
ret = open_page_read(pid, &pr, O_RDWR);
if (ret) {
ret = -1;
goto exit;
......
......@@ -338,15 +338,11 @@ static int restore_priv_vma_content(pid_t pid)
struct page_read pr;
vma = list_first_entry(vmas, struct vma_area, list);
if (!opts.auto_dedup) {
ret = open_page_read(pid, &pr);
if (ret)
return -1;
} else {
ret = open_page_rw(pid, &pr);
if (ret)
return -1;
}
ret = open_page_read(pid, &pr,
opts.auto_dedup ? O_RDWR : O_RSTR);
if (ret)
return -1;
/*
* Read page contents.
......
......@@ -66,9 +66,8 @@ struct page_read {
unsigned id; /* for logging */
};
extern int open_page_read(int pid, struct page_read *);
extern int open_page_read(int pid, struct page_read *, int flags);
extern int open_page_read_at(int dfd, int pid, struct page_read *pr, int flags);
extern int open_page_rw(int pid, struct page_read *);
extern void pagemap2iovec(PagemapEntry *pe, struct iovec *iov);
extern int seek_pagemap_page(struct page_read *pr, unsigned long vaddr, bool warn);
......
......@@ -246,12 +246,7 @@ int open_page_read_at(int dfd, int pid, struct page_read *pr, int flags)
return 0;
}
int open_page_read(int pid, struct page_read *pr)
int open_page_read(int pid, struct page_read *pr, int flags)
{
return open_page_read_at(get_service_fd(IMG_FD_OFF), pid, pr, O_RSTR);
}
int open_page_rw(int pid, struct page_read *pr)
{
return open_page_read_at(get_service_fd(IMG_FD_OFF), pid, pr, O_RDWR);
return open_page_read_at(get_service_fd(IMG_FD_OFF), pid, pr, flags);
}
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