[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: oskit-mach: device_write
From: |
Roland McGrath |
Subject: |
Re: oskit-mach: device_write |
Date: |
Mon, 4 Mar 2002 15:09:15 -0500 (EST) |
Hmm, I think I may have eyeballed the problem. When the server function
(ds_device_write) returns something other than KERN_SUCCESS (zero) or
MIG_NO_REPLY, then the message body will get destroyed by the kernel.
What's happening is that we call vm_map_copyout, which consumes the ool
stuff in the message body, and then later return an error, which makes the
kernel try to free the already-consumed stuff.
In gnumach/linux/dev/glue/block.c, you'll see that device_write never
returns an error code directly after it has used the copy object, it
returns MIG_NO_REPLY after sending the reply explicitly.
I think that's what we need to do for the error cases.
- oskit-mach: device_write, Daniel Wagner, 2002/03/02
- Re: oskit-mach: device_write, Daniel Wagner, 2002/03/03
- Re: oskit-mach: device_write, Roland McGrath, 2002/03/04
- Re: oskit-mach: device_write,
Roland McGrath <=
- Re: oskit-mach: device_write, Roland McGrath, 2002/03/04
- Re: oskit-mach: device_write, Daniel Wagner, 2002/03/05
- Re: oskit-mach: device_write, Roland McGrath, 2002/03/05
- Re: oskit-mach: device_write, Daniel Wagner, 2002/03/06
- Re: oskit-mach: device_write, Roland McGrath, 2002/03/06
- Re: oskit-mach: device_write, Daniel Wagner, 2002/03/07
- Re: oskit-mach: device_write, Roland McGrath, 2002/03/08
- Re: oskit-mach: device_write, Daniel Wagner, 2002/03/09
- Re: oskit-mach: device_write, Thomas Bushnell, BSG, 2002/03/10