]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
linux(4): Fixup the vDSO initialization order.
authorDmitry Chagin <dchagin@FreeBSD.org>
Tue, 20 Jul 2021 07:02:34 +0000 (10:02 +0300)
committerDmitry Chagin <dchagin@FreeBSD.org>
Tue, 20 Jul 2021 07:02:34 +0000 (10:02 +0300)
commit09cffde975b87b293457c9a228cb980ec729384a
tree63509135c187245ce387d4047b6a01741b14ce91
parenta543556c8128c52fb044250b8f52f9702c81788d
linux(4): Fixup the vDSO initialization order.

The vDSO initialisation order should be as follows:
- native abi init via exec_sysvec_init();
- vDSO symbols queued to the linux_vdso_syms list;
- linux_vdso_install();
- linux_exec_sysvec_init();

As the exec_sysvec_init() called with SI_ORDER_ANY (last) at SI_SUB_EXEC
order, move linux_vdso_install() and linux_exec_sysvec_init() to the
SI_SUB_EXEC+1 order.

Reviewed by: trasz
Differential Revision: https://reviews.freebsd.org/D30902
MFC after 2 weeks
sys/amd64/linux/linux_sysvec.c
sys/amd64/linux32/linux32_sysvec.c
sys/arm64/linux/linux_sysvec.c
sys/i386/linux/linux_sysvec.c