On Mon, Mar 04, 2019 at 11:43:11PM +0700, Eugene Grosbein wrote: > 04.03.2019 23:20, Slawa Olhovchenkov пишет: > > > это тот случай, когда лучше детали освежить. > > > >> Пока ядерный модуль использует только задокументированное в манах KABI, > >> всё должно быть нормально. > >> Тем более, если модуль использует публичное KAPI и его можно пересобрать. > >> Когда начинаются грязные хаки, то да - эксцессы неизбежны. > > > > а у нас что, есть полностью документированное KABI/KAPI? > > ну т.е. формально все разделено на првиатное и публичное, про каждый > > вызов/структуру можно сказать какое оно и все публичное > > документированно? > > > > я тебе больше скажу, оба-два модуля не напрямую лазали, а вызывали > > vm_map_max(const struct vm_map *map). man vm_map_max существуетс с > > 2003 года. > > > > только вот незадача -- он описан static __inline и когда kib@ поменял > > определение min_offset/max_offset то все нахрен сломалось. > > Этого я не читал. Есть PR или хотя бы ссылка на листы?
https://lists.freebsd.org/pipermail/freebsd-stable/2018-March/088632.html дальше по треду. там будет номер проблемного коммита. вот писал ли я про vm_map_max/vm_map_min в том треде -- я не помню. но можешь сам погрепать: /tmp/VirtualBox-5.2.8 # grep -r -e vm_map_max -e vm_map_min . ./src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c: vm_offset_t MapAddress = vm_map_min(kernel_map); ./src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c: && ( (vm_offset_t)pvFixed < vm_map_min(pMap) ./src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c: || (vm_offset_t)pvFixed + cb > vm_map_max(pMap))) ./src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c: : vm_map_min(pMap); ./src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c: vm_offset_t Addr = vm_map_min(kernel_map); # grep -r -e vm_map_max -e vm_map_min NVIDIA-FreeBSD-x86_64-304.135/ NVIDIA-FreeBSD-x86_64-304.135/src/nvidia_subr.c: virtual_address = vm_map_min(kernel_map); _______________________________________________ freebsd mailing list freebsd@uafug.org.ua http://mailman.uafug.org.ua/mailman/listinfo/freebsd