• G
    fix: dyload open close failed · e5c7549b
    Guangyao Ma 提交于
    本次提交修复内核加载器,异常情况分支的一个bug:mksh通过exec命令(mksh内置命令
    ,正常情况下,该命令成功执行会复用mksh进程空间,拉起新的指定进程)。但是如果
    进程没有成功加载的情况下,内核加载器的异常分支会错误释放mksh的fd句柄。最终导致
    下次拉起其他进程时(fork + exec方式),新的进程会继承fd,映射了早就释放的sysfd
    ,此时的sysfd可能已经被复用,issue场景下这个sysfd被加载过程中打开的libc.so占用
    ,exec时会释放procfd->sysfd(错误的映射关系),最终新进程libc.so被关闭。
    导致内核崩溃。
    
    close #I452Z7
    Signed-off-by: NGuangyao Ma <guangyao.ma@outlook.com>
    Change-Id: Ifca809f88b5ffcfb879dc5520d1f6adf5cf92bcd
    e5c7549b
los_load_elf.h 4.3 KB