My online “office hours”

I am mentoring the develop a kpatch delivery mechanism for the CentOS Google Summer of Code (GSoC) project. Per my recent “office hours” email to the CentOS GSoC, I’ll be online from 10pm to 11pm US Mountain time on weekdays in the #centos-gsoc and #centos-devel chat rooms on

I’ve decided that I’ll keep these hours even after the project ends. If anyone wants to get in touch with me outside of email, just drop me a chat during those hours. My username is cormander.

tpe-lkm version 1.1.0 released

A few weeks ago I go an email that tpe-lkm didn’t build on EL7. To be honest, I didn’t even know that EL7 had been released, I’ve been so disconnected from things outside of family and work the past few years.

Anyway, I got back to work and now everything is nice and ready for release. You can download it from the tpe-lkm github project page. It has a few new features as well.

Happy TPE’ing!

The winter solstice is my new year

It’s always made more sense to me that the start of the year should happen on a solstice, like it does on the hobbit calendar. That being said, I’ll make my new years resolution today, on Yule, the celebration of the winter solstice and the renewing of the sun.

2012 hasn’t been the best year for me personally. I’ve been in a pretty bad place mentally and while I blame the stress of my job and having a large family, I have to take some personal responsibility too. I’ve been a bit of a sloth, and it’s only hurt my personal relationships.

2013 is going to be the year I turn that around. This next year I’ll start back up coding on open source projects again, being less anti-social, and finding a better work/family/me balance. This next year, I’ll be a better person.

Okay so that’s a generic (and a bit cliche) of a new years resolution, but there you have it. May your 2013 be better than 2012 as well.

Happy Turkey Day!

For those of you who loosen their belts and consume unhealthy amounts of food today, have a merry time! For those of you who don’t, you’re free of all the family drama.

For those of you who say “Happy needless turkey murder day”, the needless turkey murders happened about a month ago. Today would be “needless turkey consumption day”.

Whichever of the above you fall under, have a great day.

Flying a spaceship is hard

Growing up as a kid I always dreamt of flying around in space. I watched all the sci-fi shows, and had more make-believe sessions than I can count during my childhood. Never once did I think about exactly how to fly one; I just imagined that I flew one, and that I was damn good at it too.

Last week I came across a flight simulator called Orbiter. In it, you get to fly spacecraft in a realistic physics environment. Now, as an adult I know my chances of flying into space are pretty much nil, but the game basically shattered what glimpse of hope I had left about flying into space. I’ll state the obvious: flying a spaceship is hard. Just getting into orbit is a trick. Make it into a stable orbit? A geosynchronous orbit? Land on a moving target (flying to the moon)? You can’t just point your spaceship and “go” like they do in the movies, you really have to do the math, you really have to know what all the controls do, you really have to have the patience. This simulator may have a “time warp” feature to fast-forward, but real life doesn’t. Space is vast, and this simulator shows it real well.

Now, I knew all these things, I guess it just never hit me how difficult it is. Well, now the fantasy is over, and from this moment forward I’ll watch sci-fi media with even more humorous skepticism. People make entire careers out of flying spaceships, and even then a lot of them don’t get to go up into space. After flying in Orbiter, I have even more respect for those at NASA than I ever had.

Childhood (and adulthood) dream shattering aside, it’s a fun simulator. My only complaint is, when you crash, you ricochet off the ground into an out-of-control spin, there is no explosion. Oh well!

My presentation at LinuxCon 2012 in San Diego

Just under two weeks ago I gave a talk at LinuxCon 2012 in San Diego. It was a great experience, and I hope to do it again in the future. Too bad I could only stay for one day, as I could only break away from work for a short amount of time. Here is a link to my time slot.

The title of the presentation was “Distribution Kernel Hardening”. It talked about kprobes, ksplice, and my tpe-lkm kernel module.

I have uploaded my presentation slides and my speaker notes if you would like to have a look, since my session wasn’t recorded. Enjoy!


Ever had to read documentation that wasn’t well written, was full of gaps, or just didn’t make a whole lot of sense? I’ve created a word for documentation like this: cryptomentation. Because it’s documentation that’s cryptic.

A somewhat related random quote:

“Why would there be documentation? It’s called “code” for a reason.” -Unknown


I recently sent an abstract to LinuxCon / Kernel Security Summit, and the other day I heard back from one of the panel members. As I mentioned my thoughts on implementing AppArmor on CentOS/RHEL via LKM, he replied about a project that he threw together called AKARI. It’s a fork of TOMOYO, and inserts into the linux kernel in a very similar way to how I was planning on doing AppArmor, and have been recently been toying with in tpe-lkm.

All I can say is, that’s a whole lot of code I won’t have to figure out :) He’s already solved some of the problems I’ve been facing. I haven’t used TOMOYO before so I haven’t given this module a test yet beyond inserting it into one of my test systems, but so far it appears to work as advertised. As my time permits I’ll throw up a git repo called kmod-apparmor, which contains some of this code, and continue my work on it.

Updates to tpe-lkm dev branch for EL5

I previously talked about hijacking linux kernel pointers as an alternative method of implementing security features. At that point I had only tested it on my Ubuntu machine (linux-3.2.0) but I’ve since tested it on EL6 (2.6.32) and EL5 (2.6.18). While there weren’t any problems on EL6, EL5 had some problems and today I committed a bunch of fixes to address them. It looks like it’s stable now.

I’d like to have some other people test it though, and I’d like to expand on the regression testing some more. Once I’m confident that this other way to implement TPE won’t cause any issues, I’ll merge it into the main branch and cut a 2.0 release.