L-SAP

Scalable and Accurate Lock/Unlock Pairing for Linux Kernel


Home    Install    Tutorials    Bugs

(1) Download and Install Atlas

L-SAP requires the Atlas analysis platform which is available for free academic use from EnSoft Corp. When you fill out the form, please mention L-SAP.

(2) Download the Source Code of Linux Kernel

You can download a specific Linux kernel versions from here. Or you can download any of the kernel versions used in the L-SAP paper: 3.17-rc1, 3.18-rc1, or 3.19-rc1.

Once downloaded, extract the downloaded linux-<version>.tar.gz:

tar -zxvf linux-<version>.tar.gz ~/linux-workspace/

Then, go to the directory /linux-workspace/linux-<version>/

cd ~/linux-workspace/linux-<version>/

Then, configure the Linux kernel with your own taste of configurations. To configure the Linux kernel with the same configurations as in the L-SAP paper, run the following command:

make allmodconfig 

(3) Eclipse Configuration

Because indexing the Linux kernel with Atlas requires a lot of space, we recommend that you change the parameter -Xms and -Xms in eclipse/eclipse.ini to bigger values according to your system.

Run Eclipse and select ~/linux-workspace/ directory as the current Eclipse workspace.

Once Eclipse opens, go to File > Import > Excisting Code as Makefile Project

Then, browse to directory ~/linux-workspace/linux-<version>/and choose Linux GCC

as the Toolchain for Indexer Setting, then press Finish

Right Click on the imported Linux Kernel project and select Properties

Then from Atlas C/C++ Build tab, click Enable Atlas Error Parser button. Also check the boxes corresponding to Existential Indexer and Dataflow Indexer.

From C/C++ Buid tab, set the Build command command to make V=1, Also from the Behavior tab, set the Build (Incremental build) box to folder of interest to build. For example, drivers/. Also set the Clean command to mrproper.

From C/C++ Buid/Settings/Error Parsers tab, checkAtlas Error Parser

(4) Download/Import L-SAP

Download the source code for L-SAP: L-SAP-0.1.tar.gz (1.8 MB).

Import L-SAP project into Eclipse via File > Import > General > Archive File.

(5) Build Linux Kernel

Right click on the Linux kernel project from Eclipse and select Build Project. This process will take around 10 minutes if you have a powerfull machine.

(6) Index Linux Kernel

Select the Linux kernel project from Eclipse and choose from the top menu: Atlas > Index Workspace to allow Atlas to index the specified Linux kernel. This process will take long time (approximately 2-3 hours based on your machine).

(7) Running L-SAP

Please, refer to Tutorials for more info on how to run L-SAP pairing analysis.