Re: Question about execve.

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

 



On Sun, Mar 28, 2010 at 10:38 PM, John David Anglin
<dave@xxxxxxxxxxxxxxxxxx> wrote:
> On Sun, 28 Mar 2010, Carlos O'Donell wrote:
>
>> On Sun, Mar 28, 2010 at 7:59 PM, John David Anglin
>> <dave@xxxxxxxxxxxxxxxxxx> wrote:
>> >> I know it's easier to debug a static application for these cases, so I
>> >> think a fixed glibc will help.
>> >
>> > Yes.
>> >
>> > It's proving more difficult than I thought to fix the kernel and
>> > I'm not sure I understand how this works:
>> >
>> >        LDREG   TI_TASK-THREAD_SZ_ALGN-FRAME_SIZE-FRAME_SIZE(%r30), %r1
>> >        LDREG   TASK_PT_GR19(%r1),%r2
>> >        b       wrapper_exit
>> >        copy    %r0,%r28
>> >
>> > It appears the child has to access the parent's pt_regs struct
>> > to load the return for the child.
>>
>> I see that copy_process in do_fork will give the child a copy of the
>> entire pt_reg structure so it has access to these values anyway?
>
> I got a kernel to boot which shouldn't clobber r19.  Turned out to
> be a typo.  This uses PT_SR4 for the kernel return for the child.
> Will test with gcc build.
>
> Will try again using the pad0 field later.

Sorry, what turned out to be a typo?

I guess any static binary that calls fork/vfork/clone is susceptible
to corruption of r19 in this way.

I don't know how much that effects userspace, since most is shared,
*however* the dynamic linker is technically a static binary :-)

Cheers,
Carlos.
--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux