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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 63159E7717F for ; Fri, 13 Dec 2024 21:23:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8C16B6B007B; Fri, 13 Dec 2024 16:23:53 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 871756B0082; Fri, 13 Dec 2024 16:23:53 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 739516B0083; Fri, 13 Dec 2024 16:23:53 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 579C26B007B for ; Fri, 13 Dec 2024 16:23:53 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 01464A123E for ; Fri, 13 Dec 2024 21:23:52 +0000 (UTC) X-FDA: 82891211256.17.E5AFB3A Received: from mail-pf1-f176.google.com (mail-pf1-f176.google.com [209.85.210.176]) by imf08.hostedemail.com (Postfix) with ESMTP id BBF24160002 for ; Fri, 13 Dec 2024 21:23:33 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Wsmaicz0; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf08.hostedemail.com: domain of thehajime@gmail.com designates 209.85.210.176 as permitted sender) smtp.mailfrom=thehajime@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1734125018; a=rsa-sha256; cv=none; b=jlZCYIHHc/hf4CSWDb7fbEcdZJrJgB5tH9nIW313nIDS4bYaFcZW6TPFFy0pu4IiHg0FRO aCyDHgtMt2VQHzbgRl/CfH16S8XGBwyj3XWqcz1Jp/r8xP9uae6V4JyeyiYN7sfyOFnQFs +y4UW/67X7K62KaffyfDH1S19f4dgwc= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Wsmaicz0; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf08.hostedemail.com: domain of thehajime@gmail.com designates 209.85.210.176 as permitted sender) smtp.mailfrom=thehajime@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1734125018; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=8t+pvAMtOWDjCtG5J8ZuTH7O8Q4x6TstRG2+LrMbBso=; b=q2S5CVlPuXqqnSt6gVpABBBQVZarccIGjbBpmxWA/PPxxGj/QpZOw6MUjaqGldEVgYE1NJ 6Mbp6I5J6/k02hgSyHn3U/C1DsnNAr0ITCjxN1zArpW9u655NEaxAZXbgYq91NhmN5EOGv 3ZIGDQXqdOBeiCD2gmuuXDk7USBjOF8= Received: by mail-pf1-f176.google.com with SMTP id d2e1a72fcca58-728eedfca37so2402968b3a.2 for ; Fri, 13 Dec 2024 13:23:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1734125029; x=1734729829; darn=kvack.org; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:subject:cc:to:from:message-id:date:from:to:cc:subject :date:message-id:reply-to; bh=8t+pvAMtOWDjCtG5J8ZuTH7O8Q4x6TstRG2+LrMbBso=; b=Wsmaicz08Y1LVonR0KigY0D4Ai2RHGHlqSPeLz5sK+P9z7/y844QP55tzl5EgeuOUt QZ3ourrrBArZC+L5YUwhpOxUtj74Op3W8sOMRUqoKqxsu11MVWI4m9699qzzHIBf1rp0 pwxgPAo9ylhEmEzfxKRZ9K6DrrgzOefRXw+dHMzGkBLOSSX4xy6nqN0ADjEe4xNIgiBD rxBFbIoDZV97z+/biofyK0sF7d9prgGuodgunIVclEB9jGxGMI1Odb7+Nfo0pVzSaPyF 4/zxKgcDDbKiu/ylzjSIIvuIIJLgQUDU5A/cf3HyLWPx/cOZ1+trlw9Bj2QzommRcVz1 hVgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734125029; x=1734729829; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:subject:cc:to:from:message-id:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=8t+pvAMtOWDjCtG5J8ZuTH7O8Q4x6TstRG2+LrMbBso=; b=SYfQDBttvdxsV3C/N7bM3q6BbFxWmaqhAF9KEbNiu6RyWF5P3r+9glRMTIGkOXHTwp dhMADol58D48VnkY9ULJuhA147yIWp/RuHJeHr5hAtXx0xEn4h2U3kQIBz42t6fj2gyh wbLEZvGisAYOmj0+n1h+Q/vyVbRjQ1k6hoh/R1vCTNTp5pbnWeYNixJ8zVmgNi1B3G3d FC9apmR9BsOqhJX9B0rVH89ZVxQnxSLJcbwGTcMDAFqfU4opEu8nyefqYCDVMjNBPcyn 35oG2mMPP3X6KXvYGekepIrB+/pD9lYY1AiJUdEMcCI59OOU+EJ3S1N2fsdY6y29FUDn O6Dw== X-Forwarded-Encrypted: i=1; AJvYcCX16gF2CBO8P1cM1Xk2VdDjhbcWnB7viFM8m7pMZ6MwVYev1RngM51JxROINEn5gmwZB5OSt+XJTg==@kvack.org X-Gm-Message-State: AOJu0Ywy3wsGgee68FSApb31dcuggItba/guyAxsVjL4QMWbp9plhRHP Js3/3orFT58oGyKhErjB/k8uh3oFQiNi8SGNvlF6LWDH0r/tjedW X-Gm-Gg: ASbGncvHIrOzOTnEJtf6CAZp2QgZ8oyfJYjTQVeVLli4pu2LcvAaiAFMz+cMrSuxPhH YCWM8cvFs1o0qQYTWsZ693SS6fW0j72Vcy2K/ccWaePOcs6tk25PDZfR4qBwjKkAdZo2T8d9d5b O0XFYitCu96Uwpo6VZ15P+kD+j/nE6CZxxUEO9O3c9YEhmob0m/dXsBZs+nyRsEABkHdBKOnn1n RyrW18Q+2/ril6f/T3zgzBjv+pkBwqhj1mbVXlclxgZozCaxC6z/7FEdP5RpQoEKIz1Ig85ZmmZ +gdiqW2/swvwvAul5pbc5LWnmtukXolbbu14egG7m98= X-Google-Smtp-Source: AGHT+IHm5jDaFWl/YmgjUBKhId5yd6hUrqANfbI90i7yVFkha7OT2ZmyCwMQWfL65vYaU3UyHkwPQw== X-Received: by 2002:a05:6a20:1590:b0:1e1:d22d:cf38 with SMTP id adf61e73a8af0-1e1dfd6c603mr6501049637.21.1734125029354; Fri, 13 Dec 2024 13:23:49 -0800 (PST) Received: from mars.local.gmail.com (221x241x217x81.ap221.ftth.ucom.ne.jp. [221.241.217.81]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72918bac570sm227247b3a.131.2024.12.13.13.23.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Dec 2024 13:23:48 -0800 (PST) Date: Sat, 14 Dec 2024 06:23:44 +0900 Message-ID: From: Hajime Tazaki To: ebiederm@xmission.com Cc: linux-um@lists.infradead.org, ricarkol@google.com, Liam.Howlett@oracle.com, kees@kernel.org, viro@zeniv.linux.org.uk, brauner@kernel.org, jack@suse.cz, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org Subject: Re: [PATCH v5 02/13] x86/um: nommu: elf loader for fdpic In-Reply-To: <87bjxf1he1.fsf@email.froward.int.ebiederm.org> References: <87r06d0ymg.fsf@email.froward.int.ebiederm.org> <87bjxf1he1.fsf@email.froward.int.ebiederm.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/26.3 Mule/6.0 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=ISO-8859-7 Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: BBF24160002 X-Stat-Signature: 3rcf1sg9gqkmpf13r4jf7t1r3s3faggn X-HE-Tag: 1734125013-587803 X-HE-Meta: U2FsdGVkX18GQEOqPIEU4XXAjbxmv7368tKmbt72fsbQwmfSq1XpaorPaMuRp1D9y6B5zem3YO9+ZXjbpJW+OnhNldifV4l/Me1/EUTl304ywD+bHDH5snUOEV5FjFv2sHui5SI/31fsVZ2qlLULBk+W74HQVCJR4FczeZeYBWno0HCJjJ8xLxdNZ1NcpFyUGgOLXZOgTuNisINkKG6VCBgpqjxVQq0evxBJrQxeWh9MnRHhCqc2vgXCe5RmMVzSleh+tvyFSMrIaNk6NbzbD5YxwQJjj9TS52djKhzrfKKc+o3PMiJWqIqbH7G4UC2h4N4bnQDfMzGQ1VIfh39GIovZhBUyjWUKmkJwxOhrtHQf32isOvcwd76VMCSDpRMMTGhAe2Ubc81RAxwttqp26gYI+L4Jhbr1OzghhVjomqMtnjdzCxxgo/OBTQ9XfyXXYT7A/ivgSEIiecBcz4xD6q0Ht1iAKxcwR/N/k4c61kqqAHRPE6E6acKup2gB+HZPN6V5obVDd1uHcGETexmTeOeRg2iRJM1eYQR4Na6p+L5IeVZZL6+ye//SHOvxWsv6YCS2yDkLbfaG3l+FUYHKbpA3RQ60iLaQ7UBSlsVLuTRWOjq0iETc4YMDi4LHAO7Cs8ho+p8Dw5IRgLsj45v8XCFPbuNeagA9zI/LUWCYwGWQkYgKa9iyOMKlEbv73xWVaMevbLSJv8NRqFwggU+fxLHsG4nsYy+s/oZfFUr6SnscrAKHFEDCkU/+bf4lN6ptCMtfNhY2AJyZSBNVoWjUcxyxKoXymbKgbPLH/hQfNinkrIReIi6e2CUNiW5AG86GTYq+93B8eUL2ulG2X8aTSZUDsdohNajoE1P9Mx+3gd3bNzm/QxH94h9Bg+d+7Wbi5LDeBAxFZJtVkc5tmoR0cvzHqNg0WKIpmDKgVQxTj4M/A64fwlNDJ+/VmJAMlNeoQY74CKKldX+pVcTKWJk MsBfcRjV K7YJcJgKlDggHdffZ7YmcNqV3LCO8l6uHdUMro0Utb7hBkMUK/9iTrIhDaaqrkk4KJ+txZE39bpnpcxn8BvW8zlNp+kmvckbWgsUFjLjxYn+jSec++BmfZBEh9o0HMZ25ZkLZ+t4IdYGSkFDa9ti84vmVk4nIf7h+NgClKBezSiGFUtQ4tW2k+b8skYyYasbcko4wnb2nteYtw8I2GuwEh1yGiEWA33FVksO4nIJ+3ZzT62PuT1O/0S8sF0U/iNvTk0t4ACsJswsNEZ1jy7mOmlnBEAtxOFuQuOonyqa/vC7ASe61/Fe5e66PU/bSFZ5qFNMU X-Bogosity: Ham, tests=bogofilter, spamicity=0.000288, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Sat, 14 Dec 2024 05:01:58 +0900, Eric W. Biederman wrote: > >> Last time I looked the regular binfmt_elf works just fine > >> without an mmu. I looked again and at a quick skim the > >> regular elf loader still looks like it will work without > >> an MMU. > > > > I'm wondering how you looked at it and how you see that it works > > without MMU. >=20 > I got as far as seeing that vm_mmap should work. As all of the > bits for mmap to work, are present in both mmu and nommu. hmm, at least MAP_FIXED doesn't work in current mm/nommu.c. # also documented at Documentation/admin-guide/mm/nommu-mmap.rst. > > I also wish to use the regular binfmt_elf, but it doesn't allow me to > > compile with !CONFIG_MMU right now. >=20 > Then I may simply be confused. Where does the compile fail? > Is it somewhere in Kconfig? >=20 > I could be completely confused. It has happened before. If I applied to below in addition to my whole patchset, diff --git a/fs/Kconfig.binfmt b/fs/Kconfig.binfmt index 419ba0282806..b34d0578a22f 100644 --- a/fs/Kconfig.binfmt +++ b/fs/Kconfig.binfmt @@ -4,7 +4,6 @@ menu "Executable file formats" =20 config BINFMT_ELF bool "Kernel support for ELF binaries" - depends on MMU select ELFCORE default y help @@ -58,7 +57,7 @@ config ARCH_USE_GNU_PROPERTY config BINFMT_ELF_FDPIC bool "Kernel support for FDPIC ELF binaries" default y if !BINFMT_ELF - depends on ARM || ((M68K || RISCV || SUPERH || UML || XTENSA) && !M= MU) + depends on ARM || ((M68K || RISCV || SUPERH || XTENSA) && !MMU) select ELFCORE help ELF FDPIC binaries are based on ELF, but allow the individual load this is the output from `make ARCH=3Dum`. GEN Makefile CALL ../scripts/checksyscalls.sh CC fs/binfmt_elf.o In file included from ./arch/x86/include/generated/asm/rwonce.h:1, from ../include/linux/compiler.h:317, from ../include/linux/build_bug.h:5, from ../include/linux/container_of.h:5, from ../include/linux/list.h:5, from ../include/linux/module.h:12, from ../fs/binfmt_elf.c:13: ../fs/binfmt_elf.c: In function =A1load_elf_binary=A2: ../include/asm-generic/rwonce.h:44:71: error: lvalue required as unary =A1&= =A2 operand 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x)= *)&(x)) | = ^ ../include/asm-generic/rwonce.h:50:9: note: in expansion of macro =A1__READ= _ONCE=A2 50 | __READ_ONCE(x); = \ | ^~~~~~~~~~~ ../fs/binfmt_elf.c:1006:49: note: in expansion of macro =A1READ_ONCE=A2 1006 | const int snapshot_randomize_va_space =3D READ_ONCE(randomi= ze_va_space); | =20 I avoided this issue (with nasty MAP_FIXED workaround) but there seems to be still a lot of things that I need to fix to work with nommu. > I just react a little strongly to the assertion that elf_fdpic is > the only path when I don't see why that should be. >=20 > Especially for an architecture like user-mode-linux where I would expect > it to run the existing binaries for a port. I understand your concern, and will try to work on improving this situation a bit. Another naive question: are there any past attempts to do the similar thing (binfmt_elf without MMU) ? -- Hajime