Received: by 2002:a05:7412:5112:b0:fa:6e18:a558 with SMTP id fm18csp485478rdb; Tue, 23 Jan 2024 05:57:38 -0800 (PST) X-Google-Smtp-Source: AGHT+IGWyMWZJhPP7qPFFAlHhuEyOnAWCLZ75InCh5+at+1kPB7S5XWKYAj31q0ObY4QvjCoeqgA X-Received: by 2002:a05:6a20:1446:b0:19c:5734:b725 with SMTP id a6-20020a056a20144600b0019c5734b725mr1443163pzi.35.1706018257866; Tue, 23 Jan 2024 05:57:37 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1706018257; cv=pass; d=google.com; s=arc-20160816; b=HZxLrGPUftjlHt4p85aqaYxBOSFPoxQfTz6IDFbSf8bCgszGbCc+9D0HfAzuo1Oak3 6UoOiYi/2wwmgOqooz5DL8tr1P3Acp1WC6HEg7THDnDTssmyFg1SlydAQ4U1RQNNGMg9 U+LKIhOPazH/R5c0gSOCE/38vet9JqxdWAfzbdVOX3KHccqEP6Za0P7dWdsRZ83BldWU O0JfHrMLVYyQUn3D0X/dlMlENLURW+Xm/5jr1ivvbm9M7IztMp2IZGa+HqbqPkRBqiIX qHtgVCQB1niVcciFq8EJX6y1NBjDWsE7uTxJu+C6FxW5yOlBJ/Lx4kpYfEuQVD0ZzvcJ xQww== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :user-agent:content-transfer-encoding:autocrypt:references :in-reply-to:date:cc:to:from:subject:message-id; bh=sYCpiUP/+J9dbD5qWBjQlNr1f9q0TzYBa0Gij/6eswg=; fh=dLAYbmB9EfYOw37TYZ9hrqDrVnVBz9NOMv4Bp392u5g=; b=RfYR+C/8GpqsuKC+wA+0SHUN5vpmJgrf55bVXUB57eCQjNmB5Y1UYzCSdRcIXOJRT5 bYz2ZJ4sYnupWabGJ5fbCRywOQRrJN0L+94cEUJlhTY4gSik0v2chFMnnT0wSlx96jFn Lqw+Ft4limZsCpD+BMGuI+uwO68xabECmF1wUlfANEkln4pq/7SnerUTFEnZ/DP2RnSZ NGDA12Ht6k2QgycixSa+Kn+U1er0VuY8eY0Qg7f2VcOIMlcPfCcmSai/Yx/dYEOja1Ij sCTxHxcW4ygMi1ijk4I26Pd/Wfu2I2S9Lv3pXOJk8+nGZXcnLSAYroBjZ7iFF+POS9Lt TIPQ== ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=zedat.fu-berlin.de); spf=pass (google.com: domain of linux-kernel+bounces-35413-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-35413-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id k17-20020a170902c41100b001d4ca3819f7si10192811plk.134.2024.01.23.05.57.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Jan 2024 05:57:37 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-35413-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=zedat.fu-berlin.de); spf=pass (google.com: domain of linux-kernel+bounces-35413-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-35413-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 44CD6288B62 for ; Tue, 23 Jan 2024 13:56:13 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id E67E05EE8C; Tue, 23 Jan 2024 13:55:50 +0000 (UTC) Received: from outpost1.zedat.fu-berlin.de (outpost1.zedat.fu-berlin.de [130.133.4.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2E9615FB89; Tue, 23 Jan 2024 13:55:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=130.133.4.66 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706018150; cv=none; b=qvChPXPXFfIDHUgZajRvvuQnnv+nkyQzo9I2sn9iBIqPiZm8Nmh+VON/syCHqvRMLljlg5owMCVQoFG4BaOAv3iZfy7nzcwXHEZw3/qFtwDq/1GnPx/rLS7mytcqFXeTLCrguXe/KWSolwMXIxi0sEUV0tfli9/9K7Gx7tE4mCQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706018150; c=relaxed/simple; bh=8dWKbugshcpkouHuhntYO89zz1BDgFwgBF9aM6xAigs=; h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:References: Content-Type:MIME-Version; b=KX6cfLZ/vre2ntkeE18aQ5eFUeiJFHUtdIJdUjyPhAgL9EnFC6tAWsgLh/z4D7pPiLVkiPp5+kyasTFPzEuAv77Sg2fhHGtHN9fzdrcCvMc/CN84Sv9BlLVfy5KVEhrrUYDE1GQuKypCwx9IS1iA4ZOWd6/C9C9QLKLR9KAgCxk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=physik.fu-berlin.de; spf=pass smtp.mailfrom=zedat.fu-berlin.de; arc=none smtp.client-ip=130.133.4.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=physik.fu-berlin.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=zedat.fu-berlin.de Received: from inpost2.zedat.fu-berlin.de ([130.133.4.69]) by outpost.zedat.fu-berlin.de (Exim 4.95) with esmtps (TLS1.3) tls TLS_AES_256_GCM_SHA384 (envelope-from ) id 1rSHFY-0047ow-DH; Tue, 23 Jan 2024 14:55:36 +0100 Received: from p5dc556fd.dip0.t-ipconnect.de ([93.197.86.253] helo=[192.168.178.20]) by inpost2.zedat.fu-berlin.de (Exim 4.95) with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (envelope-from ) id 1rSHFY-0044Ec-4z; Tue, 23 Jan 2024 14:55:36 +0100 Message-ID: <1ab7594855718e24ddc629ebbab1edc8bdcd799a.camel@physik.fu-berlin.de> Subject: Re: [PATCH] sh: use generic uaccess From: John Paul Adrian Glaubitz To: Arnd Bergmann , Yoshinori Sato , Rich Felker Cc: Arnd Bergmann , linux-sh@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org Date: Tue, 23 Jan 2024 14:55:35 +0100 In-Reply-To: <20240123132335.2034611-1-arnd@kernel.org> References: <20240123132335.2034611-1-arnd@kernel.org> Autocrypt: addr=glaubitz@physik.fu-berlin.de; prefer-encrypt=mutual; keydata=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 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.50.3 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Original-Sender: glaubitz@physik.fu-berlin.de X-ZEDAT-Hint: PO Hi Arnd, On Tue, 2024-01-23 at 14:23 +0100, Arnd Bergmann wrote: > From: Arnd Bergmann >=20 > As reported by many people, the nommu SH code runs into a compiler error > with a newly added syscall: >=20 > + {standard input}: Error: displacement to undefined symbol .L105 overf= lows 8-bit field : =3D> 590, 593 > + {standard input}: Error: displacement to undefined symbol .L135 overf= lows 8-bit field : =3D> 603 > + {standard input}: Error: displacement to undefined symbol .L140 overf= lows 8-bit field : =3D> 606 > + {standard input}: Error: displacement to undefined symbol .L76 overfl= ows 12-bit field: =3D> 591, 594 > + {standard input}: Error: displacement to undefined symbol .L77 overfl= ows 8-bit field : 607 =3D> 607, 582, 585 > + {standard input}: Error: displacement to undefined symbol .L97 overfl= ows 12-bit field: =3D> 607 > + {standard input}: Error: pcrel too far: 604, 590, 577, 593, 572, 569,= 598, 599, 596, 610 =3D> 610, 574, 599, 569, 598, 596, 601, 590, 604, 595, = 572, 577, 593 >=20 > Avoid the code that triggers this entirely by using the same generic > uaccess code that m68k and riscv have on nommu. >=20 > Link: https://lore.kernel.org/all/07d8877b-d933-46f4-8ca4-c10ed602f37e@ap= p.fastmail.com/ > Signed-off-by: Arnd Bergmann > --- > arch/sh/include/asm/uaccess.h | 5 +++++ > arch/sh/include/asm/uaccess_32.h | 23 ----------------------- > 2 files changed, 5 insertions(+), 23 deletions(-) >=20 > diff --git a/arch/sh/include/asm/uaccess.h b/arch/sh/include/asm/uaccess.= h > index a79609eb14be..b42764d55901 100644 > --- a/arch/sh/include/asm/uaccess.h > +++ b/arch/sh/include/asm/uaccess.h > @@ -2,6 +2,7 @@ > #ifndef __ASM_SH_UACCESS_H > #define __ASM_SH_UACCESS_H > =20 > +#ifdef CONFIG_MMU > #include > #include > =20 > @@ -130,4 +131,8 @@ struct mem_access { > int handle_unaligned_access(insn_size_t instruction, struct pt_regs *reg= s, > struct mem_access *ma, int, unsigned long address); > =20 > +#else > +#include > +#endif > + > #endif /* __ASM_SH_UACCESS_H */ > diff --git a/arch/sh/include/asm/uaccess_32.h b/arch/sh/include/asm/uacce= ss_32.h > index 5d7ddc092afd..e053f2fd245c 100644 > --- a/arch/sh/include/asm/uaccess_32.h > +++ b/arch/sh/include/asm/uaccess_32.h > @@ -35,7 +35,6 @@ do { \ > } \ > } while (0) > =20 > -#ifdef CONFIG_MMU > #define __get_user_asm(x, addr, err, insn) \ > ({ \ > __asm__ __volatile__( \ > @@ -56,16 +55,6 @@ __asm__ __volatile__( \ > ".previous" \ > :"=3D&r" (err), "=3D&r" (x) \ > :"m" (__m(addr)), "i" (-EFAULT), "0" (err)); }) > -#else > -#define __get_user_asm(x, addr, err, insn) \ > -do { \ > - __asm__ __volatile__ ( \ > - "mov." insn " %1, %0\n\t" \ > - : "=3D&r" (x) \ > - : "m" (__m(addr)) \ > - ); \ > -} while (0) > -#endif /* CONFIG_MMU */ > =20 > extern void __get_user_unknown(void); > =20 > @@ -140,7 +129,6 @@ do { \ > } \ > } while (0) > =20 > -#ifdef CONFIG_MMU > #define __put_user_asm(x, addr, err, insn) \ > do { \ > __asm__ __volatile__ ( \ > @@ -164,17 +152,6 @@ do { \ > : "memory" \ > ); \ > } while (0) > -#else > -#define __put_user_asm(x, addr, err, insn) \ > -do { \ > - __asm__ __volatile__ ( \ > - "mov." insn " %0, %1\n\t" \ > - : /* no outputs */ \ > - : "r" (x), "m" (__m(addr)) \ > - : "memory" \ > - ); \ > -} while (0) > -#endif /* CONFIG_MMU */ > =20 > #if defined(CONFIG_CPU_LITTLE_ENDIAN) > #define __put_user_u64(val,addr,retval) \ Wouldn't that make these operations slower or do you think that GCC is able to optimize this well enough? Also, this is something that should definitely be boot-tested to make sure this doesn't introduce any regressions. Adrian --=20 .''`. John Paul Adrian Glaubitz : :' : Debian Developer `. `' Physicist `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913