From 88274e29aaaec4a53df996ae84c37ad20f36395f Mon Sep 17 00:00:00 2001 From: Zhuling Date: Sat, 24 Jul 2021 16:37:17 +0800 Subject: [PATCH 43/72] fix dump fail problem with no access to get socket filter Someone uses bpf hook by writing the kernel function instead of the bpf code, it causes the error here. Fix socket dumping fail problem when user space has no access to getting socket filter. Signed-off-by: Jingxian He Signed-off-by: fu.lin --- criu/sockets.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/criu/sockets.c b/criu/sockets.c index 2ddf85e..e412a1d 100644 --- a/criu/sockets.c +++ b/criu/sockets.c @@ -355,7 +355,12 @@ static int dump_socket_filter(int sk, SkOptsEntry *soe) ret = getsockopt(sk, SOL_SOCKET, SO_GET_FILTER, NULL, &len); if (ret) { - pr_perror("Can't get socket filter len"); + pr_warn("Can't get socket filter len"); + /* Someone uses bpf hook by writing the kernel function + * instead of the bpf code, it causes the error here. + */ + if (errno == EACCES) + return 0; return ret; } -- 2.34.1