Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/ksyms/ksyms.c
Show First 20 Lines • Show All 475 Lines • ▼ Show 20 Lines | ksyms_mmap_single(struct cdev *dev, vm_ooffset_t *offset, vm_size_t size, | ||||
struct ksyms_softc *sc; | struct ksyms_softc *sc; | ||||
vm_object_t obj; | vm_object_t obj; | ||||
int error; | int error; | ||||
error = devfs_get_cdevpriv((void **)&sc); | error = devfs_get_cdevpriv((void **)&sc); | ||||
if (error != 0) | if (error != 0) | ||||
return (error); | return (error); | ||||
if (*offset < 0 || *offset >= round_page(sc->sc_objsz) || | if (*offset >= round_page(sc->sc_objsz) || | ||||
size > round_page(sc->sc_objsz) - *offset || | size > round_page(sc->sc_objsz) - *offset || | ||||
(nprot & ~PROT_READ) != 0) | (nprot & ~PROT_READ) != 0) | ||||
return (EINVAL); | return (EINVAL); | ||||
obj = sc->sc_obj; | obj = sc->sc_obj; | ||||
vm_object_reference(obj); | vm_object_reference(obj); | ||||
*objp = obj; | *objp = obj; | ||||
return (0); | return (0); | ||||
Show All 31 Lines |