View Single Post
b-man's Avatar
Posts: 549 | Thanked: 502 times | Joined on Feb 2008 @ Bowling Green Ohio (united states)
#38
Hey guys, sorry for the lack of any significant updates..

Unfortunately progress has significantly slowed down due to a couple of reasons; first due to a rather nasty but obscure bug in the security framework (mac_labelzone_free() in security/mac_label.c) that causes metadata to get lost, causing a kernel panic sometime later on in the boot up phase and sometimes in the shutdown phase of the kernel. The second reason is due to other responsibilities that are unrelated to my work with this project.

Going back to the security framework bug, my first hypothesis on this was that something was wrong with how pages were being allocated, but that didn't appear to be the case as mac_labelzone_free gets called hundreds of times before this bug gets triggered so that presumably isn't the cause. My second hypothesis is that data isn't being properly handled during context switching/stack handoffs and that part of the thread's pcb structure (that contains this security metadata) is getting corrupted/overwritten. My third hypothesis is that something in the scheduler isn't working in the right sequence due to some unhandled condition that it expects and as a result the process thread is terminated and reinitialized at the wrong time.

I've been spending many hours on weeding out this bug to no avail, but I'm not giving up. This whole thing has been quite a learning process for me and I want this project to move forward. If anyone wants to try their hand at weeding out this bug, your contribution would be greatly appreciated. Building instructions to get this fired up in qemu can be found here. (NOTE: use GenericBooter-old for now as device tree setup is a bit of a mess atm).
__________________
I'm an advanced user and a bit of a modder.
----------------------------------------------
I am involved with Mer, Deblet, and NITdroid.
My ports/creations/hacks: GNOME (for Deblet), Cdeb2», Ubuntu, playable flash games in the "Get Started" app, DBS, ect...


enhanced fedora port has been canceled in favor of NITDebian (TBA)

Last edited by b-man; 2015-06-25 at 04:46. Reason: typos
 

The Following 7 Users Say Thank You to b-man For This Useful Post: