[Info-vax] QIO Writes to a mailbox
Robert A. Brooks
rab at aitchpee.com
Wed Nov 9 16:03:49 EST 2011
On 11/9/2011 2:48 PM, Bob Koehler wrote:
> Roy Omond<roy at omond.net> writes:
>>
>> Ask Costas or Simon to fish out the source listing for the mailbox
>> driver and see for yourself how the data buffer is handled by the
>> driver. I wouldn't say it's "implementation specific" - that would
>> seem to imply that there are differences between "implementations"
>> of VMS.
>
> However, the behaviour inside the driver is not part of a documented
> API and could change with the next minor patch you install.
>
> Not likey? I've been down that path fixing other people's code that
> claimed in the comments that they knew what was likely.
I'm pretty sure that this discussion of "what does the driver do" is
irrelevant.
For all user-mode code the relevant user-space buffers should not be
modified from the time the I/O is queued until iosb$w_status is non-zero
(or the QIO(W) fails due to the parameter check failing).
I use the phrase "all user-mode code" because inner-mode code plays by
its own set of rules, and while directly modifying something in P0 space
in the middle of an I/O seems a bit odd, I wouldn't put it past someone.
And yes, assuming any inner-mode code behaviour (not just a "driver")
can lead to corruption, as folks who wrote 3rd-party stuff to do
I/O interception learned once Multipath for fibre and SCSI changed
that paradigm. That led to the quasi-supported and documented way
to "safely" intercept I/O without causing corruption.
-- Rob
More information about the Info-vax
mailing list