From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34286) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFPpx-0003Sp-12 for qemu-devel@nongnu.org; Tue, 21 Jun 2016 13:51:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bFPpq-000337-Qd for qemu-devel@nongnu.org; Tue, 21 Jun 2016 13:51:45 -0400 Received: from mout.kundenserver.de ([212.227.17.10]:51181) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFPpq-00032u-Fm for qemu-devel@nongnu.org; Tue, 21 Jun 2016 13:51:38 -0400 From: Laurent Vivier Date: Tue, 21 Jun 2016 19:51:13 +0200 Message-Id: <1466531475-13389-2-git-send-email-laurent@vivier.eu> In-Reply-To: <1466531475-13389-1-git-send-email-laurent@vivier.eu> References: <1466531475-13389-1-git-send-email-laurent@vivier.eu> Subject: [Qemu-devel] [PATCH 1/3] linux-user: fd_trans_*_data() returns the length List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Riku Voipio Cc: qemu-devel@nongnu.org, Laurent Vivier fd_trans_target_to_host_data() and fd_trans_host_to_target_data() must return the length of processed data. Signed-off-by: Laurent Vivier --- linux-user/syscall.c | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 0082762..9a5cd26 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -2821,12 +2821,26 @@ static TargetFdTrans target_packet_trans = { #ifdef CONFIG_RTNETLINK static abi_long netlink_route_target_to_host(void *buf, size_t len) { - return target_to_host_nlmsg_route(buf, len); + abi_long ret; + + ret = target_to_host_nlmsg_route(buf, len); + if (ret < 0) { + return ret; + } + + return len; } static abi_long netlink_route_host_to_target(void *buf, size_t len) { - return host_to_target_nlmsg_route(buf, len); + abi_long ret; + + ret = host_to_target_nlmsg_route(buf, len); + if (ret < 0) { + return ret; + } + + return len; } static TargetFdTrans target_netlink_route_trans = { @@ -2837,12 +2851,26 @@ static TargetFdTrans target_netlink_route_trans = { static abi_long netlink_audit_target_to_host(void *buf, size_t len) { - return target_to_host_nlmsg_audit(buf, len); + abi_long ret; + + ret = target_to_host_nlmsg_audit(buf, len); + if (ret < 0) { + return ret; + } + + return len; } static abi_long netlink_audit_host_to_target(void *buf, size_t len) { - return host_to_target_nlmsg_audit(buf, len); + abi_long ret; + + ret = host_to_target_nlmsg_audit(buf, len); + if (ret < 0) { + return ret; + } + + return len; } static TargetFdTrans target_netlink_audit_trans = { -- 2.5.5