ipc_ns.c:464:3: warning: Memory is never released; potential leak of
memory pointed to by 'values'
return;
^
1 warning generated.
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
pie/parasite.c:308:3: warning: Value stored to 'ret' is never read
ret = -1;
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
clang-analyzer sets the environment variable CC
scan-build -plist-html --use-analyzer /usr/bin/clang make
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
If any task has a sysvipc mapping we should make sure, that the
ipc namespace is dumped as well. Otherwise after restore the task
will die.
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Absense of packet and netlink diag is OK at dump -- we can be on
older kernel and will fail later if _really_ need these sockets.
During check stage all diag is expected to be in place.
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
When dumping a unix socket we must make sure, that all connections
are dumped or -x option is used. Currently only peers with non-matching
ids are added into check. Fix this.
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This allows to use it in external projects outside of
types.h header, moreover it's close to what kernel
does too.
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This diet types.h and allows to include BITS_PER_LONG
only where really needed. It makes BITS_PER_LONG definition
close to one used in kernel.
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
hlist is suitable for hash operations so
extent list.h code. I need it for converter
and this allow me to reuse this header.
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This header consists of a number of constants
and a few macro helper. No need to make it
asm/types.h dependant. Instead only include
<stdbool.h> for bool definition as required
by forward fdinfo_per_id (I think this declaration
should live in somewhere else place, not sure
where yet, so I left it untouched).
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Instead of bloating util.h lets move ERR_
helpers to own err.h header. This allow
to reuse it where needed without util.h
inclusion.
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Show only image info relevant to given pid. Also reuse
the introduced --pid argument for exec action.
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
The root task must remain a session leader after c/r. The root task
can be executed in another pidns and the sid from another name space
will be invalid.
Cc: Cyrill Gorcunov <gorcunov@openvz.org>
Reported-by: Pavel Emelyanov <xemul@parallels.com>
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Acked-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Actually this test case is a frame work for creating a process tree.
It creates a process tree according with a predefined sequence of
actions.
This test case create the following process tree:
5 5 \_ session02 ( 0)
6 6 \_ session02 ( 1)
8 7 | \_ session02 ( 3)
15 12 | \_ session02 (10)
10 10 \_ session02 ( 5)
11 7 \_ session02 ( 6)
13 12 \_ session02 ( 8)
v2: improve log messages
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
The image data may have no futex provided but we have
no "optional" entry for that (because futex data is
a part of thread_core_entry message).
Still we know that futex length can't be zero thus
make it "optional" by a value -- if length is zero,
we consider it as a sign to skip.
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
We've received some requests to create a way to interface with crtools
that doesn't involve forking the utilities, so we're going to create a
linkable library for this. In order to be fair, we plan to allow
proprietary code to link with this library and thus want to change the
licence of the CRIU code base to be LGPL *only* for this library
directory, preserving the rest of the code as GPL. Because creating the
library may involve refactoring, I anticipate that some code that's
currently GPL will have to move into lib/ and become LGPL (and this may
occur in future as well), so I've amended the COPYING file to spell out
for contributors that code outside lib/ is GPL and inside lib/ is LGPL,
but that they give future permission to change the licence to GPL or
LGPL if code has to move into (or out of) lib/, based on acceptance of a
patch into the CRIU code base, so j random developer can't download the
code and make it all LGPL by applying a private patch to move everything
into lib/.
All the Parallels authors have agreed to this, but we have a couple of
non parallels ones on the cc to this email I'd like explicit acks from.
Cc: Qiang Huang <h.huangqiang@huawei.com>
Cc: Andrew Grigorev <andrew@ei-grad.ru>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Acked-by: Qiang Huang <h.huangqiang@huawei.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
The netlink_diag doesn't provide any info about non-connected and
non-bound sockets.
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
VMA-s may be protected against read, so rights for such VMA-s should be
changed for dumping and protected back after dumping.
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
The idea is simple. If the collection of given type of sockets failed,
crtools can't be sure, that it's able to dump such sockets correctly.
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Currently do_dump_one_inet_fd returns ret, but this variable is
overwritten a few times and it can be zero on error paths.
Use a separate variable for the function exit code. By default it is -1
and it is set to zero at the end. It's not changed anywere anywhere
except these two places.
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
The packet diag are not compiled in Fedora 19 kernel.
The netlink diag is going to be merged in 3.10.
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Some syscalls return error code, so for easier debugging
instead of zapping it -- print it together with error
message.
And make error message more detailed as well.
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>