Re: [PATCH v4 1/2] m68k: Handle __generic_copy_to_user faults more carefully

Michael Schmitz
2024-08-08T19:27:37Z

Hi Greg,

tanks for testing!

On 9/08/24 02:52, Greg Ungerer wrote:
> Hi Finn,
>
> On 8/8/24 16:56, Finn Thain wrote:
>> On Thu, 8 Aug 2024, Greg Ungerer wrote:
>>> On 8/8/24 11:57, Finn Thain wrote:
>>>>> I'm afraid I've lost track of where we're at with this patch series.
>>>>> Does it need more work, or more bug reports such as the one below?
>>>>
>>>> Apparently the series is waiting for some testing on a Coldfire system
>>>> with MMU.
>>>
>>> Ok, I am in a state that I can do that now (I managed to fix my
>>> M5475EVB
>>> board).
>>
>> Thanks, Greg.
>>
>>> If I test the v4 versions of this patch set that should do the job?
>>>
>>
>> There are 3 patches that need some more testing, one from me and two
>> from
>> Michael:
>>
>> [PATCH] m68k: Handle put_user() faults more carefully
>> [PATCH v4 1/2] m68k: Handle __generic_copy_to_user faults more carefully
>> [PATCH v4 2/2] m68k: improve __constant_copy_to_user_asm() fault
>> handling
>>
>> They were posted in two threads:
>>
>> https://lore.kernel.org/linux-m68k/1ed9c4c753395510c1a8df9c35e2ad4c31c90f95.1714265926.git.fthain@linux-m68k.org/T/
>>
>> https://lore.kernel.org/linux-m68k/CAMuHMdVrOnOQwCxk42YCjEkbfL-YDSvpf_xTaouv9hUs2bO+qg@mail.gmail.com/T/
>>
>>
>> On 680x0, one of the bugs was brought to light with 'stress-ng
>> --sysbadaddr -1'. The others required special test programs.
>>
>> I've no idea whether Coldfire silicon is susceptable at all, and if
>> it is,
>> whether the same reproducers would work. But that's neither here nor
>> there
>> from a regression testing standpoint.
>
> Ok, thanks for the links. I have applied and tested those, no obvious
> regressions.
> So for all of these patches:
>
> Tested-by: Greg Ungerer <gerg@linux-m68k.org>
>
> I tried out the "stress-ng --sysbadaddr -1" test, and that didn't go
> so well for me:
>
> # stress-ng --sysbadaddr -1
> stress-ng: info:  [37] defaulting to a 86400 second (1 day, 0.00 secs)
> run per stressor
> stress-ng: info:  [37] dispatching hogs: 1 sysbadaddr
> *** ILLEGAL INSTRUCTION ***   FORMAT=4
> Current process id is 39
> BAD KERNEL TRAP: 00000000
> Modules linked in:
> PC: [<00000000>] 0x0
> SR: 2004  SP: 6504e563  a2: 008ee380
> d0: 000000f7    d1: 00000000    d2: 00000000    d3: 00000000
> d4: 00a87b80    d5: bfbf3814    a0: 00000000    a1: bfbf3814
> Process stress-ng-sysba (pid: 39, task=4dbb2ec5)
> Frame format=4 eff addr=480a2004 pc=0002b154
> Stack from 00adff20:
>         00ade000 00000000 00000000 000000f7 00000000 00000004 00a87b80
> 00000000
>         00000000 00000000 00000000 008ee380 0002ab5c 00000100 00000122
> fffffff6
>         bfbf376c 0002b29e 000000f7 bfbf3814 00000000 00000000 00ade000
> 0002b222
>         00ae0800 80118988 00000000 00000005 bfbf37a0 00000005 bfbf3814
> 00adffcc
>         00023d2c 00adffcc 00000000 00000000 00000000 00000000 000000f7
> 00000000
>         80118b46 00021850 00024b00 000000f7 bfbf3814 00000000 00000000
> bfbf3814
> Call Trace: [<0002ab5c>] child_wait_callback+0x0/0x24
>  [<0002b29e>] sys_wait4+0x7c/0x8e
>  [<0002b222>] sys_wait4+0x0/0x8e
>  [<00023d2c>] buserr_c+0xb0/0x152
>  [<00021850>] buserr+0x28/0x30
>  [<00024b00>] system_call+0x54/0xa8
>
> But that is the same with and without these patches.

I wonder if recent signal handling changes (e.g. commit
0d4276cfbe6fd4c4a21acdee803b05a3a6192082) have rare unexpected side
effects on Coldfire here ... OTOH, signal handling as such works just
fine, right?

Cheers,

Michael

>
> Regards
> Greg
>