[CRIU] images rework
Cyrill Gorcunov
gorcunov at openvz.org
Mon Apr 9 08:24:01 EDT 2012
On Mon, Apr 09, 2012 at 04:12:04PM +0400, Pavel Emelyanov wrote:
> On 04/09/2012 04:10 PM, Cyrill Gorcunov wrote:
> > On Mon, Apr 09, 2012 at 04:04:14PM +0400, Pavel Emelyanov wrote:
> >> Hi.
> >>
> >> Recent changes in CRIU change images significantly.
> >> Summary:
> >>
> >
> > I suspect the patch series is upcoming, right? ;)
>
> Already in the repo.
I see. Look, I don;t like what have you done with struct fd_parms
initialization.
We've had
- /* Dump /proc/pid/cwd */
- params = (struct fd_parms) {
- .id = FD_ID_INVALID,
- .pid = FD_PID_INVALID,
- .type = FDINFO_CWD,
- };
-
- fd = open_proc(pid, "cwd");
- if (fd < 0)
- return -1;
so when I extend fd_parms structure itself I know
that new members will be zero here. When we init
it as new code does
+static int dump_task_fs(pid_t pid, struct cr_fdset *fdset)
+{
+ struct fd_parms p;
...
+ p.type = FDINFO_REG;
+ p.flags = 0;
+ p.pos = 0;
+ fe.cwd_id = fd_id_generate_special();
+
+ ret = dump_one_reg_file(fd, fe.cwd_id, &p);
the new members in fd_parms might becoe garbage from
stack.
That said, it's not a problem at moment but really
a time bomb I think. So I would suggest to patch it
as
+static int dump_task_fs(pid_t pid, struct cr_fdset *fdset)
+{
+ struct fd_parms p = { };
...
+ p.type = FDINFO_REG;
+ fe.cwd_id = fd_id_generate_special();
what do you think?
Cyrill
More information about the CRIU
mailing list