From 87382b222f396e223fa6653b7453bbfd586aebab Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Wed, 23 Oct 2019 16:53:37 +0000 Subject: [PATCH] Set OBJ_NOSPLIT on the ksyms(4) VM object. The object does not provide anonymous memory. Reported by: kib Reviewed by: kib MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D22123 --- sys/dev/ksyms/ksyms.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/dev/ksyms/ksyms.c b/sys/dev/ksyms/ksyms.c index 0e7bf6a1216..1c1fd8426e2 100644 --- a/sys/dev/ksyms/ksyms.c +++ b/sys/dev/ksyms/ksyms.c @@ -404,6 +404,7 @@ ksyms_open(struct cdev *dev, int flags, int fmt __unused, struct thread *td) { struct tsizes ts; struct ksyms_softc *sc; + vm_object_t object; vm_size_t elfsz; int error, try; @@ -441,8 +442,10 @@ ksyms_open(struct cdev *dev, int flags, int fmt __unused, struct thread *td) ksyms_size_calc(&ts); elfsz = sizeof(struct ksyms_hdr) + ts.ts_symsz + ts.ts_strsz; - sc->sc_obj = vm_object_allocate(OBJT_DEFAULT, + object = vm_object_allocate(OBJT_DEFAULT, OFF_TO_IDX(round_page(elfsz))); + vm_object_set_flag(object, OBJ_NOSPLIT); + sc->sc_obj = object; sc->sc_objsz = elfsz; error = ksyms_snapshot(sc, &ts);