Thanks for help with 4.1BSD kernel
dhb at rayssd.UUCP
dhb at rayssd.UUCP
Fri Nov 11 05:57:53 AEST 1983
Thanks to all who answered my question on validating the byte
count in my device driver. Most people correctly suggested
that I check the code in physio() and Guy Harris actually took
a look at the code and found the lines that I needed. For those
of you who didn't know the answer but would like to, there is
a subroutine in locore.s called "useracc()" which is passed an
address, a byte count, and either B_READ or B_WRITE. The routine
validates the fact that the user has read (write) access to the
block beginning at the base address, for the length specified.
There is also a companion routine call kernacc() which checks if
the kernel can access the specified block (same type of arguments).
I added the code to my device driver and it works fine. Thanks
again to all who answered my question.
--
Dave Brierley
Raytheon Co.; Portsmouth RI; (401)-847-8000 x4073
...!decvax!brunix!rayssd!dhb
...!allegra!rayssd!dhb
...!linus!rayssd!dhb
More information about the Comp.unix.wizards
mailing list