seg fault

random computer-related stuff

  • gcc / ld madness

    So, I started reading [The Definitive Guide to the Xen Hypervisor] (again :P), and I thought it would be fun to start with the example guest kernel, provided by the author, and extend it a bit (ye, there’s mini-os already in extras/, but I wanted to struggle with all the peculiarities of extended inline asm, […]


  • Launching Gentoo VMs on okeanos.io

    Update: Corrected fallocate and parted commands, and removed diratime mount option. Thanks to axil Long time, no post. For about a year now, I’ve been working at GRNET on its (OpenStack API compliant) open source IaaS cloud platform Synnefo, which powers the ~okeanos service. Since ~okeanos is mainly aimed towards the Greek academic community (and […]


  • Abusing the C preprocessor

    Both tricks shown here are related with a change (by Peter Zijlstra) in the kmap_atomic() and kunmap_atomic() macros/functions. LWN has an excellent article about what that change involved. It basically ‘dropped’ support for atomic kmap slots, switching to a more general stack-based approach. Now with this change, the number of arguments passed to the kmap_atomic() […]


  • ARG_MAX and the Linux Kernel

    For some reason, whenever I open up the Wikipedia, I end up with tons of tabs in my web browser, and usually the tabs are completely unrelated to each other. ๐Ÿ˜› Yesterday, I ended up looking the xargs Wikipedia article, and there I found an interesting note: Under the Linux kernel before version 2.6.23, arbitrarily […]


  • ketchup, or how to manage your kernel sources more efficiently

    A couple of months ago I found out about ketchup (credits to Daniel Drake, and his blog). ketchup is an awesome utility/script, written by Matt Mackall in Python, which makes it very easy to manage kernel sources. You can very easily upgrade to a newer kernel version, downgrade to older releases, and even switch between […]


  • Hey!

    I finally became a Gentoo Developer. ๐Ÿ™‚ I’ll be helping the Gentoo Kernel Project, with bug fixing at first, and help with the maintenance of some of the kernel sources in the tree. Many thanks to mpagano for mentoring me, tampakrap for his help with the quizzes, and of course hwoarang, who had no problem […]


  • OpenVPN/iproute2/iptables — Part 2

    I had blogged about this some time ago. The configuration I described in that post worked fine on my laptop, with Debian installed, but when I tried it on my Desktop, where I use Gentoo, it wouldn’t work. It took me *3 days* of ‘debugging’, until I was able to find why that happened! I […]


  • Minoan Lines Wifi — Part 2

    A couple of days ago, we did some presentations about DNS at a FOSS NTUA meeting. I prepared a presentation about DNS tunneling and how to bypass Captive Portals at Wifi Hotspots, which require authentication. (We want to do another presentation, to test ICMP/ping tunnel too ;)). I had blogged on that topic some time […]


  • linux + x86 segmentation + APM!

    Thanks to the “Understanding the Linux Kernel” I spent several hours trying to understand the APM code used to ‘call’ the APM Protected Mode 32-bit Interface Connect. Of course APM is deprecated since ages I think, but I was curious. ๐Ÿ˜› As the APM 1.2 specification states: The APM BIOS 32-bit protected mode interface requires […]


  • my first kernel patch!

    Here it is! ๐Ÿ˜› Well, the patch itself isn’t a big deal, since I didn’t write any code. It was a cleanup of asm-offsets. Afaik, Linux has quite a lot of assembly code, which needs the offsets of various struct members. Of course, assembly code(or even toplevel inline assembly) cannot use the offsetof marco. That’s […]