Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

linux kernel module for advanced rickrolling

branch: master

moar documentation

latest commit 93dd940ebf
Franz Pletz authored
Octocat-spinner-32 LICENSE intial commit September 08, 2011
Octocat-spinner-32 Makefile intial commit September 08, 2011
Octocat-spinner-32 README.md moar documentation September 08, 2011
Octocat-spinner-32 kernelroll.c intial commit September 08, 2011
README.md

Putting rickrolling in kernel space

Kernelroll is a linux kernel module for advanced rickrolling.

It works by patching the open() system call to open a specified music file instead of other music files. Currently, it only checks if the file extension "mp3" is present and calls the original open() with the supplied path instead.

WARNING: There is probably a performance penalty and your kernel might crash at a very inappropriate time and cause data loss! You are responsible for the code you load into your kernel!

But most probably, it will be alright! ;)

Installation

You need the address of sys_call_table in your kernel. Use

$ grep sys_call_table /boot/System.map-3.0.0-1-amd64
ffffffff81400300 R sys_call_table

on the respective System.map of your kernel to find out the address

Now fire up kernelroll.c and add yours:

void **sys_call_table = (void **)0xffffffff81400300;

This will probably be simplified in the future, but as sys_call_table isn't exported anymore in 2.6 kernels, we have to use some tricks.

Compile with:

$ make

Load with:

$ insmod kernelroll.ko rollfile=/path/to/rickroll.mp3

Fire up a music player of your choice, play a song and consider yourself kernelrolled. ;)

Something went wrong with that request. Please try again.