Re: [PATCH] remove csum_partial_copy_generic_i386 to clean up exception table

Real Name
2014-06-21T07:29:00Z

On Thu, Jun 05, 2014 at 11:49:49PM +0200, Richard Weinberger wrote:
> Am 05.06.2014 06:15, schrieb Honggang Li:
> > arch/x86/um/checksum_32.S had been copy & paste from x86. When build
> > x86 uml, csum_partial_copy_generic_i386 mess up the exception table.
> > In fact, exception table dose not work in uml kernel.
>
> Are you sure that exception tables do not work on UML?
> I said, I'm not sure. Can you please find out?

Hi,
After traced i386 uml kernel with gdb , I'm sure exception tables
do *not* work. When csum_partial_copy_generic_i386 read user space memory,
an access error exception arises, however, the segv function always
return zero. So, the fixup nerver executed. The uml system hang (not
kernel panic).

thanks.

>
> In arch/um/kernel/trap.c:segv() we have the mechanism for it:
> else if (!is_user && arch_fixup(ip, regs))
> goto out;
>
> The interesting question is, is this by design or was it just copy&pasted from x86
> many moons ago? :)
>
> > And csum_partial_copy_generic_i386 never been called. So, delete it.
>
> I like such clean ups. :-)
>
> Thanks,
> //richard