]> 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>
Fri, 17 Jun 2022 19:33:07 +0000 (22:33 +0300)
commit4e34c0445c4084a17444691f22146af4ba28bf52
tree0b50e317913b9ff051dbd7f9ce53f60cfc7d1857
parentb960dd481535dae25324df708bedf55d4f2b8472
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

(cherry picked from commit 09cffde975b87b293457c9a228cb980ec729384a)
sys/amd64/linux/linux_sysvec.c
sys/amd64/linux32/linux32_sysvec.c
sys/arm64/linux/linux_sysvec.c
sys/i386/linux/linux_sysvec.c