From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/12005 Path: news.gmane.org!.POSTED!not-for-mail From: Minqiang Chen Newsgroups: gmane.linux.lib.musl.general Subject: [PATCH v1] mman: fix mmap pass wrong offset to kernel Date: Mon, 16 Oct 2017 09:09:32 +0800 Message-ID: Reply-To: musl@lists.openwall.com NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="94eb2c07dc98ca0c19055b9fa82d" X-Trace: blaine.gmane.org 1508116194 14393 195.159.176.226 (16 Oct 2017 01:09:54 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 16 Oct 2017 01:09:54 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-12018-gllmg-musl=m.gmane.org@lists.openwall.com Mon Oct 16 03:09:44 2017 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by blaine.gmane.org with smtp (Exim 4.84_2) (envelope-from ) id 1e3tuZ-0002TY-KW for gllmg-musl@m.gmane.org; Mon, 16 Oct 2017 03:09:43 +0200 Original-Received: (qmail 21661 invoked by uid 550); 16 Oct 2017 01:09:46 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 21623 invoked from network); 16 Oct 2017 01:09:45 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=e+hhWEgIdhNezqCcb2ZFsckrwCxsHfJC1+D5dayiYac=; b=DJ1ysNAvmqRZ+qhxaPeq69bQNthvhyV3mLCPYDasXoIlUmIoYY+2ceeksbpfXWxFm7 R3O07e3zbqNMew8gpZBe0BiqzADXH4xPwyolcgN+gN9OMlJ++YvZo8UEn85wJqGkxOPg fZLVNJrRtLctKnjKIpEHlF3mCTHSPMw73/AZ+i6XcCG6bpNM3OTbKEGvb1CIhBKbGIbR PUEHRtykCugvoIr0hwZApg67BPsM+yTyT7ByyezgI8mCXu1lZ6xArrDZSOnGmEfNZ1hZ J/6sbzggWMpKydntXoc6qaBH0kt3haAyClnFlOGwn68aBwGtq8mxPG501dI9cRW3FtKA 3SXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=e+hhWEgIdhNezqCcb2ZFsckrwCxsHfJC1+D5dayiYac=; b=JRrdH7y63ObBtOFOxlGPeJWYM3KTW+pzDjfsfIUGSIa9I7/cUPHk+88KnaYgxaeE1O 4Z1Dm621FDL3Lf9RH1fHfpO4cnqeBH6xxQ/TLmf/pDFZH4Utgtd2LWy+rjkvyswvS6sp xTn901a9Wsv0ldNrjzr45B4rr/muVEpdom5OyBtbuxCi74nBI5VMfq+gGtOmLqqf8KBV b18l0EKVpajPeaNKrpJ5n++HxL0Hbftf/jQi2TCE+m9hh0s4sFWSm1eDkDoUeQj0hDBw 6c2s4GP3tdd1U6VG3cJy4j+nWE0GizXnaqACk3bYw9Ni32b6qil5iy0B5mzSTEXa0jg3 yiYw== X-Gm-Message-State: AMCzsaWCV9TKR4txnaY/m0c2CunIgbHurz15QPkKsk+XttGKah/H9A9r 5zugjO2wZgLFymdy0NTmCFvVAxHEYGTu6yw06ZyK05nV X-Google-Smtp-Source: AOwi7QDn4PqdOjjme8bgBV9nIOfo0neZ6Uv8M9wsHLG6LFkKn9zu8a49wQvzRi1oqwpcqFOadqz+oCPlYJT2s9ad5HE= X-Received: by 10.31.221.68 with SMTP id u65mr6038262vkg.148.1508116173292; Sun, 15 Oct 2017 18:09:33 -0700 (PDT) Xref: news.gmane.org gmane.linux.lib.musl.general:12005 Archived-At: --94eb2c07dc98ca0c19055b9fa82d Content-Type: text/plain; charset="UTF-8" Author: Chen Minqiang Date: Mon Oct 16 08:57:41 2017 +0800 musl: fix mmap pass wrong offset to kernel for example off_t x=0x8d9eb000, the x/4096 result is 0xfff8d9eb, not 0x8d9eb as expecting this happens on arm_cortex-a15 with gcc 6.3.x Signed-off-by: Chen Minqiang *diff --git a/src/mman/mmap.c b/src/mman/mmap.c* *index 1592403..a09c901 100644* *--- a/src/mman/mmap.c* *+++ b/src/mman/mmap.c* *@@ -27,7 +27,7 @@* void *__mmap(void *start, size_t len, int prot, int flags, int fd, off_t off) __vm_wait(); } #ifdef SYS_mmap2 *- ret = __syscall(SYS_mmap2, start, len, prot, flags, fd, off/UNIT);* *+* *ret = __syscall(SYS_mmap2, start, len, prot, flags, fd, (unsigned long)off/UNIT);* #else ret = __syscall(SYS_mmap, start, len, prot, flags, fd, off); #endif --94eb2c07dc98ca0c19055b9fa82d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

Author: Chen Minqiang <ptpt52@gmail.com>

Date: =C2=A0 Mon Oct 16 08:57:41 2017 +0800


=C2=A0 =C2=A0 musl: fix mmap pass wrong offset to ke= rnel

=C2=A0=C2=A0 =C2=A0

=C2=A0 =C2=A0 =C2=A0 =C2=A0 for example off_t x=3D0x= 8d9eb000, the x/4096 result is 0xfff8d9eb, not 0x8d9eb as expecting<= /p>

=C2=A0 =C2=A0 =C2=A0 =C2=A0 this happens on arm_cort= ex-a15 with gcc 6.3.x

=C2=A0=C2=A0 =C2=A0

=C2=A0 =C2=A0 Signed-off-by: Chen Minqiang <ptpt52@gmail.com>


diff --git a/src/mman/mma= p.c b/src/mman/mmap.c

index 1592403..a09c901 10= 0644

--- a/src/mman/mmap.c=

+++ b/src/mman/mmap.c=

@@ -27,7 +27,7 @@ void *__mmap(void *start, size_t len, int prot= , int flags, int fd, off_t off)

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 __vm_wait();

=C2=A0 =C2=A0 =C2=A0 =C2=A0 }

=C2=A0#ifdef SYS_mmap2

- =C2=A0 =C2=A0 =C2=A0 ret =3D __syscall(SYS_mmap= 2, start, len, prot, flags, fd, off/UNIT);

+ =C2=A0 =C2=A0 = =C2=A0 ret =3D __syscall(SYS_mmap= 2, start, len, prot, flags, fd, (unsigned long)off/UNIT);

=C2=A0#else

=C2=A0 =C2=A0 =C2=A0 =C2=A0 ret =3D __syscall(SYS_mm= ap, start, len, prot, flags, fd, off);

=C2=A0#endif

--94eb2c07dc98ca0c19055b9fa82d--