Source-Changes-D archive

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

Re: CVS commit: src/sys/kern



    Date:        Fri, 22 Dec 2017 15:02:57 +0000
    From:        "Kamil Rytarowski" <kamil%netbsd.org@localhost>
    Message-ID:  <20171222150257.8E519FB40%cvs.NetBSD.org@localhost>

  | ptrace: Partially undo PT_{READ,WRITE}_{I,D} and unbreak these commands
  | 
  | The refactored code did not work and was generating EFAULT.

The only difference I see between the two (aside from an
	#if defined(__HAVE_RAS)
which exists in the current version and is missing in the previous)
is that the earlier one is missing

	UIO_SETUP_SYSSPACE(&uio);

and consequently is not initialising uio->uio_vmspace (or not
the same way, or properly) - the refactored code does

	uio.uio_vmspace = *vm;

where vm is the final (6th) param to ptrace_doic() which it calls as

        if ((error = ptrace_doio(l, t, lt, &piod, addr, &vm)) != 0)

where vm was declared as

	struct vmspace *vm;

but is not otherwise initialised - fix this and the refactored code
would probably work.

kre



Home | Main Index | Thread Index | Old Index