[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2e8a8a058e7451174ddbf3ec2a0a1d7728c45210.camel@physik.fu-berlin.de>
Date: Thu, 04 Sep 2025 19:21:54 +0200
From: John Paul Adrian Glaubitz <glaubitz@...sik.fu-berlin.de>
To: Andreas Larsson <andreas@...sler.com>, Michael Karcher
<kernel@...rcher.dialup.fu-berlin.de>, linux-kernel@...r.kernel.org
Cc: sparclinux@...r.kernel.org, Anthony Yznaga <anthony.yznaga@...cle.com>
Subject: Re: Fix accurate exception reporting in SPARC assembly
Hi Andreas,
On Thu, 2025-09-04 at 15:49 +0200, Andreas Larsson wrote:
> On 2025-08-26 18:03, Michael Karcher wrote:
> > In 2018, David Miller implemented accurate exception reporting in
> > copy_from_user and copy_to_user by handling exceptions on each load
> > or store instruction that accesses userspace memory and calculating
> > the remaining bytes from the processor context. As issues with
> > transparent huge page support and folio support in ext4 were due
> > to a bogus return value from copy_from_user, I wrote a comprehensive
> > testsuite for the generic variant, and the machine-specific variants
> > for UltraSPARC I/II, UltraSPARC III, Niagara, Niagara 2/3 and
> > Niagara 4, see
> >
> > https://github.com/karcherm/sparc-cfu-bug-reproducer
> >
> > despite the name of the project, it does not only test copy_from_user,
> > but also copy_to_user, and it also contains fixes to a very small amount
> > of exception handler references that were calculating the result in
> > a wrong way.
> >
> > For UltraSPARC III, I chose to adjust the memcpy code itself instead of
> > adding complexity to multiple exception handlers. That fix has already
> > been tested to fix stability issues observed by Adrian Glaubitz which
> > kicked of the investigation. On all other architectures, the changes
> > are just to the exception handlers.
>
> Hi Michael,
>
> Thank you very much for this series as well as the followup patch for M7!
>
> This cover letter for this series gives good contextual information for
> the series, but when looking at the commit message for a single patch in
> isolation it is not clear at a glance what is being fixed. Do you think
> you could put in a short description in each patch in this series, and
> also in the followup M7 patch, on what it is doing and what it is
> solving?
FWIW, Michael is just waiting for a pending test on a SPARC T1 CPU which
would test patch 3/4 which fixes the Niagara-specific implementation.
Results should be posted today or tomorrow.
Adrian
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
Powered by blists - more mailing lists