I think we might be leaking uninitialized kernel memory. in tifb,
if (bus_dmamem_alloc(sc->sc_dmat, sc->sc_vramsize, 0, 0, sc->sc_dmamem, 1, &segs, BUS_DMA_NOWAIT) != 0) { bus_dma* rounds up to PAGE_SIZE chunks. memset((void *)sc->sc_vramaddr, 0, sc->sc_vramsize); We zero the not-rounded-up size. What do you think? On Tue, Jul 23, 2019 at 02:34:12PM +0000, Rin Okuyama wrote: > Module Name: src > Committed By: rin > Date: Tue Jul 23 14:34:12 UTC 2019 > > Modified Files: > src/sys/arch/arm/omap: tifb.c > src/sys/arch/luna68k/dev: lunafb.c > src/sys/dev/fdt: simplefb.c > > Log Message: > For drivers whose framebuffer is located not page-aligned, permit > offset of mmap up to (length of framebuffer) + (page offset of base > address of framebuffer). This is necessary in order to map the > highest page of framebuffer correctly, see, > http://cvsweb.netbsd.org/bsdweb.cgi/xsrc/external/mit/xf86-video-wsfb/dist/src/wsfb_driver.c#rev1.35