Graphical desktop, l4con, mag

Leslie Zhai lesliezhai at llvm.org.cn
Fri Jun 2 05:52:17 CEST 2017


Hi Jean,

Thanks for your reply! but I met the same story for L4Linux 
https://pbs.twimg.com/media/DBSQtoNUIAEE2HY.png


---> make grub2iso E=L4Linux-basic 
MODULE_SEARCH_PATH=/home/zhaixiang/project/l4re/kernel/fiasco/build:/home/zhaixiang/project/l4re/l4/conf/examples:/home/zhaixiang/project/l4linux/build:/home/zhaixiang/project/l4re
make[1]: Entering directory '/home/zhaixiang/project/l4re/l4'
Use of uninitialized value in string ne at 
/usr/lib64/perl5/vendor_perl/File/Spec/Unix.pm line 176.
Use of uninitialized value in string ne at 
/usr/lib64/perl5/vendor_perl/File/Spec/Unix.pm line 176.
Processing entry 'L4Linux-basic'
Using the following files:
/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/l4re
/home/zhaixiang/project/l4linux/build/vmlinuz
/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/moe
/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/sigma0
/home/zhaixiang/project/l4re/ramdisk-amd64.rd
/home/zhaixiang/project/l4re/kernel/fiasco/build/fiasco
/home/zhaixiang/project/l4re/l4/conf/examples/l4lx.cfg
/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/ned
/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/bootstrap
xorriso 1.4.6 : RockRidge filesystem manipulator, libburnia project.

Drive current: -outdev 
'stdio:/home/zhaixiang/project/l4re/l4/build/images/l4linux-basic.iso'
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 72.0g free
Added to ISO image: directory '/'='/tmp/grub.vevqvj'
xorriso : UPDATE : 320 files added in 1 seconds
Added to ISO image: directory '/'='/tmp/cauUjpFlVZ'
Added to ISO image: file 
'/l4re'='/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/l4re'
Added to ISO image: file 
'/vmlinuz'='/home/zhaixiang/project/l4linux/build/vmlinuz'
Added to ISO image: file 
'/moe'='/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/moe'
Added to ISO image: file 
'/sigma0'='/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/sigma0'
Added to ISO image: file 
'/ramdisk-amd64.rd'='/home/zhaixiang/project/l4re/ramdisk-amd64.rd'
Added to ISO image: file 
'/fiasco'='/home/zhaixiang/project/l4re/kernel/fiasco/build/fiasco'
Added to ISO image: file 
'/l4lx.cfg'='/home/zhaixiang/project/l4re/l4/conf/examples/l4lx.cfg'
Added to ISO image: file 
'/ned'='/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/ned'
Added to ISO image: file 
'/bootstrap'='/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/bootstrap'
xorriso : UPDATE : 332 files added in 1 seconds
xorriso : NOTE : Copying to System Area: 512 bytes from file 
'/usr/lib/grub/i386-pc/boot_hybrid.img'
xorriso : UPDATE :  40.97% done
ISO image produced: 14360 sectors
Written to medium : 14360 sectors at LBA 0
Writing to 
'stdio:/home/zhaixiang/project/l4re/l4/build/images/l4linux-basic.iso' 
completed successfully.


---> make qemu E=L4Linux-basic 
MODULE_SEARCH_PATH=/home/zhaixiang/project/l4re/kernel/fiasco/build:/home/zhaixiang/project/l4re/l4/conf/examples:/home/zhaixiang/project/l4linux/build:/home/zhaixiang/project/l4re
make[1]: Entering directory '/home/zhaixiang/project/l4re/l4'
Use of uninitialized value in string ne at 
/usr/lib64/perl5/vendor_perl/File/Spec/Unix.pm line 176.
Use of uninitialized value in string ne at 
/usr/lib64/perl5/vendor_perl/File/Spec/Unix.pm line 176.
'/home/zhaixiang/project/l4linux/build/vmlinuz' is a zipped file, 
uncompressing to '/tmp/vmRbIvyLPB/vmlinuz'
qemu-system-x86_64 -kernel 
/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/bootstrap -append 
"bootstrap -modaddr 0x01100000" -initrd 
"/home/zhaixiang/project/l4re/kernel/fiasco/build/fiasco 
-serial_esc,/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/sigma0 
,/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/moe 
rom/l4lx.cfg,/home/zhaixiang/project/l4re/l4/conf/examples/l4lx.cfg 
,/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/l4re 
,/home/zhaixiang/project/l4re/l4/build/bin/amd64_K8/l4f/ned 
,/tmp/vmRbIvyLPB/vmlinuz ,/home/zhaixiang/project/l4re/ramdisk-amd64.rd "
make[1]: Leaving directory '/home/zhaixiang/project/l4re/l4'


 > So it looks like ned is dereferencing a null pointer (read access to 
0 + 0x18 at instruction pointer 0x102d72a).

I am using clang analyzer to Check NULL pointer dereference issue 
https://reviews.llvm.org/D31868 analyzer is not well managed, there 
might be false positive and negative, but I will implement more null 
pointer dereference checkers :)

 > Maybe you could use addr2line/objdump
 > to figure out, what happens at address 0x102d72a in ned.

cd /home/zhaixiang/project/l4re/l4/build
addr2line -p -e bin/amd64_K8/l4f/ned 0x102d72a


but there is no output easy to read for humans, I am not familiar with 
addr2line, please give me some advice, thanks a lot!


objdump -D bin/amd64_K8/l4f/ned > ned.S

...
27b9e:   00 00                   add    %al,(%rax)
...
102d72a:   66 0f 12 05 9e 7b 02    movlpd 0x27b9e(%rip),%xmm0 # 10552d0 
<_ZL7HOOKKEY+0x        8>
...


is it enough to figure out what happened? if not, I will upload the 
disassemble to my Google drive.

-- 
Regards,
Leslie Zhai - a LLVM hacker https://reviews.llvm.org/p/xiangzhai/






More information about the l4-hackers mailing list