[CRIU] [PATCH] criu: cgroup -- Don't use PAGE_SIZE inside parasite args
Tycho Andersen
tycho.andersen at canonical.com
Thu Feb 25 07:43:29 PST 2016
On Thu, Feb 25, 2016 at 10:18:30AM +0300, Cyrill Gorcunov wrote:
> This cause problem on ppc64
>
> | gcc -c -O2 -g -Wall -Werror -DCONFIG_PPC64 -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
> | -fno-strict-aliasing -iquote /home/cyrill/criu/criu/include -iquote /home/cyrill/criu/images
> | -iquote /home/cyrill/criu/criu/pie -iquote /home/cyrill/criu/criu/arch/ppc64
> | -iquote /home/cyrill/criu/criu/arch/ppc64/include -iquote /home/cyrill/criu/ -I/usr/include/libnl3
> | -iquote ppc64 -DCONFIG_PPC64 -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE parasite-syscall.c -o parasite-syscall.o
> | parasite-syscall.c: In function ‘parasite_dump_cgroup’:
> | parasite-syscall.c:1283:2: error: size of unnamed array is negative
> | ca = parasite_args(ctl, struct parasite_dump_cgroup_args);
> | ^
> | /home/cyrill/criu/scripts/nmk/scripts/rules.mk:53: recipe for target 'parasite-syscall.o' failed
>
> Just use size parasite known to support.
>
> Signed-off-by: Cyrill Gorcunov <gorcunov at openvz.org>
Acked-by: Tycho Andersen <tycho.andersen at canonical.com>
Just for my own education, I thought we always transferred PAGE_SIZE
number of bytes across for the parasite blob args. If PAGE_SIZE <
PARASITE_ARG_SIZE_MIN, how does that work?
Tycho
> ---
> criu/include/parasite.h | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/criu/include/parasite.h b/criu/include/parasite.h
> index e3383d802d78..6ca56f7c36e4 100644
> --- a/criu/include/parasite.h
> +++ b/criu/include/parasite.h
> @@ -247,13 +247,12 @@ struct parasite_tty_args {
> };
>
> struct parasite_dump_cgroup_args {
> - /* We choose PAGE_SIZE here since that's how big parasite messages are,
> - * although this is probably longer than any /proc/pid/cgroup file will
> - * ever be on most systems (4k).
> + /*
> + * 4K should be enough for most cases.
> *
> * The string is null terminated.
> */
> - char contents[PAGE_SIZE];
> + char contents[PARASITE_ARG_SIZE_MIN];
> };
>
> /* the parasite prefix is added by gen_offsets.sh */
> --
> 2.5.0
>
More information about the CRIU
mailing list