[CRIU] [PATCH] crtools: don't prevent to dump memory mappings on /dev/zero
Andrew Vagin
avagin at parallels.com
Wed Jan 16 14:58:48 EST 2013
On Wed, Jan 16, 2013 at 07:31:49PM +0400, Pavel Emelyanov wrote:
> On 01/16/2013 07:03 PM, Andrey Vagin wrote:
> > Oracle has such mappings.
> >
> > Signed-off-by: Andrey Vagin <avagin at openvz.org>
> > ---
> > include/util.h | 2 ++
> > proc_parse.c | 3 ++-
> > 2 files changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/include/util.h b/include/util.h
> > index 0fa5003..6ce0783 100644
> > --- a/include/util.h
> > +++ b/include/util.h
> > @@ -263,6 +263,8 @@ int do_open_proc(pid_t pid, int flags, const char *fmt, ...);
> > #define pr_img_head(type, ...) pr_msg("\n"#type __VA_ARGS__ "\n----------------\n")
> > #define pr_img_tail(type) pr_msg("----------------\n")
> >
> > +#define DEVZERO (makedev(1, 5))
> > +
> > #define KDEV_MINORBITS 20
> > #define KDEV_MINORMASK ((1UL << KDEV_MINORBITS) - 1)
> > #define MKKDEV(ma, mi) (((ma) << KDEV_MINORBITS) | (mi))
> > diff --git a/proc_parse.c b/proc_parse.c
> > index e641cb4..034db10 100644
> > --- a/proc_parse.c
> > +++ b/proc_parse.c
> > @@ -301,7 +301,8 @@ int parse_smaps(pid_t pid, struct list_head *vma_area_list, bool use_map_files)
> > pr_perror("Failed fstat on %d's map %lu", pid, start);
> > goto err;
> > }
> > - if (!S_ISREG(st_buf.st_mode)) {
> > +
> > + if (!S_ISREG(st_buf.st_mode) && (st_buf.st_rdev != DEVZERO)) {
>
> && !(S_ISDEV(st_bude.st_mode) && st_buf.st_rdev == DEVZERO)
Yes. Thanks
>
> > pr_err("Can't handle non-regular mapping on %d's map %lu\n", pid, start);
> > goto err;
> > }
> >
>
>
More information about the CRIU
mailing list