Messages in this thread |  | | Date | Sat, 21 Jun 2014 15:28:52 +0800 | From | Real Name <> | Subject | Re: [PATCH] remove csum_partial_copy_generic_i386 to clean up exception table |
| |
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
|  |