From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=3.0 tests=MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 55D2BC282DD for ; Thu, 9 Jan 2020 20:02:30 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 2776F2072E for ; Thu, 9 Jan 2020 20:02:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727963AbgAIUC3 convert rfc822-to-8bit (ORCPT ); Thu, 9 Jan 2020 15:02:29 -0500 Received: from mail.kernel.org ([198.145.29.99]:40464 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725763AbgAIUC3 (ORCPT ); Thu, 9 Jan 2020 15:02:29 -0500 From: bugzilla-daemon@bugzilla.kernel.org To: linux-ext4@vger.kernel.org Subject: [Bug 205957] Ext4 64 bit hash breaks 32 bit glibc 2.28+ Date: Thu, 09 Jan 2020 20:02:26 +0000 X-Bugzilla-Reason: None X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: AssignedTo fs_ext4@kernel-bugs.osdl.org X-Bugzilla-Product: File System X-Bugzilla-Component: ext4 X-Bugzilla-Version: 2.5 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: aladjev.andrew@gmail.com X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P1 X-Bugzilla-Assigned-To: fs_ext4@kernel-bugs.osdl.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT X-Bugzilla-URL: https://bugzilla.kernel.org/ Auto-Submitted: auto-generated MIME-Version: 1.0 Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org https://bugzilla.kernel.org/show_bug.cgi?id=205957 --- Comment #16 from aladjev.andrew@gmail.com (aladjev.andrew@gmail.com) --- We don't need to create a patch for kernel about this compat syscall, because it already supports "__X32_SYSCALL_BIT". We need just to enable it using "CONFIG_X86_X32=y" kernel config. Recompiled kernel will expose all x86 related syscalls in x32 mode. I've tested that "__X32_SYSCALL_BIT + 217" works completely the same as my "SYS_getdents64_x32". Function "in_x32_syscall" works perfect. We can patch glibc to redirect getdents64 syscall to x32 compatible one. My previous assumption was wrong. Patching qemu will be very bad solution, because it means that large file support will be broken in all applications, not only glibc. For now only glibc wants to convert dirent64 to dirent just by copying fields. Regular application don't want to emulate getdents using getdents64 and it will not touch dirent64. So we shouldn't interfere in qemu syscalls. -- You are receiving this mail because: You are watching the assignee of the bug.