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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Finn,

On 25/04/24 16:16, Finn Thain wrote:
00464504 <__generic_copy_to_user>:
   464504:       4e56 0000       linkw %fp,#0
   464508:       2f03            movel %d3,%sp@-
   46450a:       2f02            movel %d2,%sp@-
   46450c:       262e 0008       movel %fp@(8),%d3
   464510:       242e 0010       movel %fp@(16),%d2
   464514:       2f02            movel %d2,%sp@-
   464516:       2f03            movel %d3,%sp@-
   464518:       4eb9 0046 44c6  jsr 4644c6 <__clear_user>

Not sure you noticed this - the 040 passed __clear_user without fault. We managed to test this one without meaning to. Exception handling in there appears to work OK (for the cases we're testing).

No idea why you have the __clear_user call occur within __generic_copy_to_user - it does not appear in my disassembly.

Cheers,

    Michael

   46451e:       2002            movel %d2,%d0
   464520:       e488            lsrl #2,%d0
   464522:       7203            moveq #3,%d1
   464524:       c282            andl %d2,%d1
   464526:       226e 000c       moveal %fp@(12),%a1
   46452a:       2043            moveal %d3,%a0
   46452c:       4a80            tstl %d0
   46452e:       670a            beqs 46453a <__generic_copy_to_user+0x36>
   464530:       2419            movel %a1@+,%d2
   464532:       0e98 2800       movesl %d2,%a0@+
   464536:       5380            subql #1,%d0
   464538:       66f6            bnes 464530 <__generic_copy_to_user+0x2c>
   46453a:       0801 0001       btst #1,%d1
   46453e:       6706            beqs 464546 <__generic_copy_to_user+0x42>
   464540:       3419            movew %a1@+,%d2
   464542:       0e58 2800       movesw %d2,%a0@+
   464546:       0801 0000       btst #0,%d1
   46454a:       6706            beqs 464552 <__generic_copy_to_user+0x4e>
   46454c:       1419            moveb %a1@+,%d2
   46454e:       0e18 2800       movesb %d2,%a0@+
   464552:       242e fff8       movel %fp@(-8),%d2
   464556:       262e fffc       movel %fp@(-4),%d3
   46455a:       4e5e            unlk %fp
   46455c:       4e75            rts
   46455e:       4e75            rts





[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux