From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 30616 invoked from network); 15 Mar 2021 21:39:59 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 15 Mar 2021 21:39:59 -0000 Received: (qmail 26344 invoked by uid 550); 15 Mar 2021 21:39:56 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 26311 invoked from network); 15 Mar 2021 21:39:55 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:message-id:date:mime-version :content-transfer-encoding:content-language; bh=spPWLGUbWPBUWJznvJYjO4Zn0yYCby83eX9+DVLyn3E=; b=mZIEo08tyIuC/s59Z/BbqLE3nGEftIlhpyFlMQUBY+Rt8haRqzVbXSmQf8l88ZK5Ap 0NXbiRBWFAmE545Sz4MKANZVYmke2wPwpGDM4YCxCCG+2xNLWoF97KcezRXkL611lMxR g5R6s22V3n5kPZ93XI/E4ruOnYhTyLKhzUEMn22RP1+qU+Cyo39nOuAEdcG/vNAFHo/9 +fGcYY1vUjaF8FHJYCfayCPYjBFiJO/c11khU9r0Xxh1NVOGT8MDRVt88OudGvAGzU8B PElpFEttm5J2mJHlzv+tCdmX7Y9N756tSITLmOhlXmP/v6FhONfMiWiE67BBr2kiCsOy tDlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:mime-version :content-transfer-encoding:content-language; bh=spPWLGUbWPBUWJznvJYjO4Zn0yYCby83eX9+DVLyn3E=; b=AXiKKZQ6S7g3zNV2LOQ4BWJ0kB4Yejqge7D3y5tsgpAvhSUKToh7fwwidMgHdU5AgQ QE1NAgNASDnBZOUHqlzpK/jd6e3bRxYXm3iHoKhBsr1h8HxsQ1C8B6Rxe92lHGmEfC81 23XBOwIxZrnUXVHpJcS0VNI+V4CWVe42KmBlbISQ8BupiPveiLvqov0qL7P29nXhbuv0 zH/7+6A9kjZdUDUv5wOjQabvrK/7bpjIM2Tq/6QlxnwpLGd47orwZA8cpw3aXkK8W3zE My8gKE4DPRm0Ug5Wpg3dqlCJVAYUlJVgQHzoRO8GSjXbcKvKcIPZ2cCmHGyO5k1+OGU6 8fnQ== X-Gm-Message-State: AOAM53287K9wfJw0matFk30YUEysQqh1Ty+oJH1BAQv9lUvI/RkKl0Jq xrX0iKrZIYgQqhH8GkkeKnNaa2LzS5o= X-Google-Smtp-Source: ABdhPJwSfPqwRIaT08TTosgMgMaiu83gxn4XqfGQlXaJAbUwP/prkjVhB0iPJz2eU5JwknXx9cFXoA== X-Received: by 2002:a05:620a:20d6:: with SMTP id f22mr26177097qka.104.1615844383366; Mon, 15 Mar 2021 14:39:43 -0700 (PDT) To: musl@lists.openwall.com From: Dominic Chen Message-ID: <50e56e3e-d448-c568-b3d8-fbab98939ff8@gmail.com> Date: Mon, 15 Mar 2021 17:39:43 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Subject: [musl] Issue with fread() and unaligned readv() Not sure this counts as a problem in musl or the application, but I've been debugging a return error of EINVAL from `fread(&buf, 8, 16, f)`, where `f = fopen("/proc/self/pagemap", "r")`. Internally, musl converts this into a call to `readv(f->fd, iov, 2)`, where `iov = {{iov_base = buf, iov_len = 127}, {iov_base = f->buf, iov_len = 1024}}`. However, it turns out that the kernel VFS read implementation inside `pagemap_read` checks that both the file position and count are divisible by PM_ENTRY_BYTES (8 on x86_64), otherwise it rejects the read with EINVAL. In comparison, glibc's `_IO_file_xsgetn` does appear to try to maintain read alignment, although I haven't looked at it in detail. Thanks, Dominic