From nobody Sat Apr 27 20:38:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@gnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@gnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1506716714884955.4388963227742; Fri, 29 Sep 2017 13:25:14 -0700 (PDT) Received: from localhost ([::1]:36972 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dy1qS-0008Rr-6f for importer@patchew.org; Fri, 29 Sep 2017 16:25:12 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45878) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dxyUs-0007H7-Jr for qemu-devel@nongnu.org; Fri, 29 Sep 2017 12:50:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dxyUo-000124-Ne for qemu-devel@nongnu.org; Fri, 29 Sep 2017 12:50:42 -0400 Received: from sonic315-20.consmr.mail.ne1.yahoo.com ([66.163.190.146]:45862) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dxyUo-00011E-HJ for qemu-devel@nongnu.org; Fri, 29 Sep 2017 12:50:38 -0400 Received: from sonic.gate.mail.ne1.yahoo.com by sonic315.consmr.mail.ne1.yahoo.com with HTTP; Fri, 29 Sep 2017 16:50:36 +0000 Received: from [127.0.0.1] by smtp204.mail.ne1.yahoo.com with NNFMP; 29 Sep 2017 16:50:35 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1506703836; bh=3xp0wlzfHNjl93UUG3L/VAcLMiQE5J8CQIJdDxvg7eo=; h=From:To:Cc:Subject:Date:From:Subject; b=NHB3G+s3xGNDjxowP8C2ynBxYWVBloRTvexmM0sXhuJFaPdVB+VcSsXF+HdmoBaXmVmHgel5yReyJ8fMFt6xm75O6IAKRWlBUMJ/m7b3ONlcCxv3JjpLaPPHMVHcxvJ+RJInG4GPRQreAkDjIFfwjHfWnkXM+FpdiXNX/eVy8684prxNtwBFNEU3FHhO8jFgZSOzjPbe6e/Ra7wuaL1dFjIbcNhTMJ1H8xvivyvYfNnvlnqbrSGpCPVjHCX5MvKrBp84eKSbYc8JKYWLJGoQoJBySmebR4a6HdY2jaSDLXuzleuXTvA9i0ZdcGRwsJLPFWPTI63ZeBi+k7N9OC1j/g== X-YMail-OSG: NzvXAfwVM1lvR6OrCqBhRqpgeg0KaQwVjOHz2c5ks4zHpfcVX2jQ87xg6G.FxQh ulQcgNsoQB7T_HGWhAD2.oPBbPTIfTJU.fTVnEb5TUA_5OIfoZY69SYvCYs6aabMFlGPAUHvYFny xPxdGJjKQJ1et3IlRtFFg.HRwULS0QRGnRrYqWrVPwIJndrY837siB6aQa5Qk11yVe8wpjSXZQNl oIAFICx2IFifdGklEj88f9_GrYUyXUSVK.GQ9Fh2EBPsTQAUe5mN8lXwF2TTv7fsz5lJ5dx8XLrW urHXGxIlO0MBvOPzG.yRUSnGLJhY0C77VoT.OoPfJ52XZmcTpGtmZ7gWYftrSF4oFzwxqld2vGFf Z4jPTWNeufA9dTgdP8wOvzhd5RLcceUYOU_LP1J0G55RGJkwc5Jn1b5wI8kJ4eJrKeUgsG8jvEWf xkNpdtqj1mK1Rp3GJstlnweHUebcYUWUNgYxLSh79TMPzXs8I5yQa6Veb54DCDYyA1oLYthDLPtG cp.tOpJ8oHBywBSQJjAQxyRQUIg-- X-Yahoo-Newman-Id: 897025.57017.bm@smtp204.mail.ne1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: NzvXAfwVM1lvR6OrCqBhRqpgeg0KaQwVjOHz2c5ks4zHpfc VX2jQ87xg6G.FxQhulQcgNsoQB7T_HGWhAD2.oPBbPTIfTJU.fTVnEb5TUA_ 5OIfoZY69SYvCYs6aabMFlGPAUHvYFnyxPxdGJjKQJ1et3IlRtFFg.HRwULS 0QRGnRrYqWrVPwIJndrY837siB6aQa5Qk11yVe8wpjSXZQNloIAFICx2IFif dGklEj88f9_GrYUyXUSVK.GQ9Fh2EBPsTQAUe5mN8lXwF2TTv7fsz5lJ5dx8 XLrWurHXGxIlO0MBvOPzG.yRUSnGLJhY0C77VoT.OoPfJ52XZmcTpGtmZ7gW YftrSF4oFzwxqld2vGFfZ4jPTWNeufA9dTgdP8wOvzhd5RLcceUYOU_LP1J0 G55RGJkwc5Jn1b5wI8kJ4eJrKeUgsG8jvEWfxkNpdtqj1mK1Rp3GJstlnweH UebcYUWUNgYxLSh79TMPzXs8I5yQa6Veb54DCDYyA1oLYthDLPtGcp.tOpJ8 oHBywBSQJjAQxyRQUIg-- X-Yahoo-SMTP: WsG.0yqswBD6rc_50gSjRSfoixD_XE47Zw-- To: qemu-devel@nongnu.org Date: Fri, 29 Sep 2017 12:50:16 -0400 Message-Id: <1506703816-7359-1-git-send-email-zhuoweizhang@yahoo.com> X-Mailer: git-send-email 1.9.1 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 66.163.190.146 X-Mailman-Approved-At: Fri, 29 Sep 2017 16:20:05 -0400 Subject: [Qemu-devel] [PATCH] syscall: fix special case of write(fd, NULL, 0) X-BeenThere: qemu-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: zhuoweizhang--- via Qemu-devel Reply-To: zhuoweizhang@yahoo.com Cc: riku.voipio@iki.fi, Zhuowei Zhang , laurent@vivier.eu Errors-To: qemu-devel-bounces+importer=patchew.org@gnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Zhuowei Zhang Linux returns success for the special case of calling write with a zero-len= gth NULL buffer: compiling and running ``` int main() { ssize_t ret =3D write(STDOUT_FILENO, NULL, 0); fprintf(stderr, "write returned %ld\n", ret); return 0; } ``` gives "write returned 0" when run directly, but "write returned -1" in QEMU. This commit checks for this situation and returns success if found. Signed-off-by: Zhuowei Zhang --- linux-user/syscall.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 9b6364a..ecadf49 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -7783,6 +7783,11 @@ abi_long do_syscall(void *cpu_env, int num, abi_long= arg1, } break; case TARGET_NR_write: + if (arg2 =3D=3D 0 && arg3 =3D=3D 0) { + /* special case: write(fd, NULL, 0) returns success. */ + ret =3D 0; + break; + } if (!(p =3D lock_user(VERIFY_READ, arg2, arg3, 1))) goto efault; if (fd_trans_target_to_host_data(arg1)) { --=20 1.9.1 =2E