aboutsummaryrefslogtreecommitdiffstats
path: root/unmaintained
diff options
context:
space:
mode:
Diffstat (limited to 'unmaintained')
-rw-r--r--unmaintained/flashcache-grsec/APKBUILD79
-rw-r--r--unmaintained/flashcache-grsec/depmod.patch20
-rw-r--r--unmaintained/flashcache-grsec/kernel-3.18.patch288
-rw-r--r--unmaintained/flashcache-grsec/kernel-4.2.patch36
4 files changed, 423 insertions, 0 deletions
diff --git a/unmaintained/flashcache-grsec/APKBUILD b/unmaintained/flashcache-grsec/APKBUILD
new file mode 100644
index 0000000000..1c5206a336
--- /dev/null
+++ b/unmaintained/flashcache-grsec/APKBUILD
@@ -0,0 +1,79 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+_flavor=${FLAVOR:-grsec}
+_kpkg=linux-$_flavor
+_realname=flashcache
+_name=$_realname-$_flavor
+
+_kver=4.4.14
+_kpkgrel=1
+
+_realver=3.1.2
+_mypkgrel=0
+
+# source the kernel version
+if [ -f ../linux-$_flavor/APKBUILD ]; then
+ . ../linux-$_flavor/APKBUILD
+ [ "$_kver" != "$pkgver" ] && die "$_name: Please update _kver to $pkgver"
+ [ "$_kpkgrel" != "$pkgrel" ] && die "$_name: Please update _kpkgrel to $pkgrel"
+fi
+
+_kernelver=$_kver-r$_kpkgrel
+_abi_release=${_kver}-${_kpkgrel}-${_flavor}
+
+pkgname=$_name
+pkgver=$_kver
+pkgrel=$(($_kpkgrel + $_mypkgrel))
+pkgdesc="a general purpose writeback block cache for Linux"
+url="https://github.com/facebook/flashcache/"
+arch=""
+license="GPL"
+depends="linux-${_flavor}=${_kernelver}"
+makedepends="linux-${_flavor}-dev=${_kernelver}"
+install=
+install_if="linux-$_flavor=$_kernelver $_realname"
+subpackages=
+source="$_realname-$_realver.tar.gz::https://github.com/facebook/flashcache/archive/$_realver.tar.gz
+ depmod.patch
+ kernel-3.18.patch
+ kernel-4.2.patch
+ "
+
+
+# override kernel's prepare()
+prepare() {
+ cd "$srcdir/$_realname-$_realver"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$srcdir/$_realname-$_realver"/src
+ make CC="${CC:-gcc}" KCFLAGS="-fno-pie" \
+ KERNEL_SOURCE_VERSION=$_abi_release modules \
+ || return 1
+}
+
+package() {
+ cd "$srcdir/$_realname-$_realver"/src
+
+ make DESTDIR="$pkgdir" CC="${CC:-gcc}" \
+ KCFLAGS="-fno-pie" \
+ KERNEL_SOURCE_VERSION=$_abi_release \
+ DEPMOD=: modules_install || return 1
+}
+
+md5sums="b569604f7efce881e87752c9efc01965 flashcache-3.1.2.tar.gz
+ef9bd511f2b964bf22863814679bfba3 depmod.patch
+24462dd41268d045bd91ba88274115fb kernel-3.18.patch
+29d3529370a569327a9a258f88dd30cc kernel-4.2.patch"
+sha256sums="f1d97395c744850a909e5f57b69a0ce87c773f2761e0147dd78de5fec3ea61e2 flashcache-3.1.2.tar.gz
+05c0fefaaaea624c12b9ff3e66e0029b8dcc0c0d3246e10683bf217e10b3c450 depmod.patch
+34a008e4c2382c757e030280fc6ce66c739251ca7883ef7d45feba44e2a05134 kernel-3.18.patch
+cf21af11f507fe81094933e3c79379067661a32d834f2ac2378a4dd67f50d080 kernel-4.2.patch"
+sha512sums="03d88b2622b7a41b66cd5cf4637be52c3bd6f25ac1099d7ea247e8e9bdad8a040bf0d10bcee2f49de8621f0da755dfd8a03810d709faaa330b78b6c564872e72 flashcache-3.1.2.tar.gz
+55543347d76171352199294a29bcf19ba6b511f57e63c2a4254c4ebad8829912c65cdbef95bc7485d079dd66c56c1624b9570e7faf038cc5cb80e81079fcadc6 depmod.patch
+f09255bdc66711e35736a018f870b7a398bf05e3f1e8e4574a84967672152c510a4d6f8687ced49f52cfa63c57b407a393805e4df900de8ee6817e9c8c455306 kernel-3.18.patch
+82b1c885e2884a1ece0e003b726067ed0818f40f92689145b15aff1e15e14e5c34ed9b38f35010519d584dd5c6d5dda3393ed09d716bd1bf9aa4e85524fdd2a2 kernel-4.2.patch"
diff --git a/unmaintained/flashcache-grsec/depmod.patch b/unmaintained/flashcache-grsec/depmod.patch
new file mode 100644
index 0000000000..15c0615057
--- /dev/null
+++ b/unmaintained/flashcache-grsec/depmod.patch
@@ -0,0 +1,20 @@
+--- ./src/Makefile.orig 2013-08-15 11:20:54.575932175 +0000
++++ ./src/Makefile 2013-08-15 11:21:37.813472296 +0000
+@@ -24,6 +24,8 @@
+ KERNEL_TREE := $(RHEL5_TREE)
+ endif
+
++DEPMOD ?= depmod
++
+ obj-m += flashcache.o
+ flashcache-objs := flashcache_conf.o flashcache_main.o flashcache_subr.o flashcache_ioctl.o flashcache_procfs.o
+
+@@ -42,7 +44,7 @@
+ modules_install: modules
+ install -o root -g root -m 0755 -d $(DESTDIR)/lib/modules/$(KERNEL_SOURCE_VERSION)/extra/flashcache/
+ install -o root -g root -m 0755 flashcache.ko $(DESTDIR)/lib/modules/$(KERNEL_SOURCE_VERSION)/extra/flashcache/
+- depmod -a $(KERNEL_SOURCE_VERSION)
++ $(DEPMOD) -a $(KERNEL_SOURCE_VERSION)
+
+ .PHONY: utils_install
+ utils_install: utils
diff --git a/unmaintained/flashcache-grsec/kernel-3.18.patch b/unmaintained/flashcache-grsec/kernel-3.18.patch
new file mode 100644
index 0000000000..ba0dc631a3
--- /dev/null
+++ b/unmaintained/flashcache-grsec/kernel-3.18.patch
@@ -0,0 +1,288 @@
+From 387fce7bf2143b55147ce4822cd68f694c0bc49a Mon Sep 17 00:00:00 2001
+From: Mohan Srinivasan <mohan@fb.com>
+Date: Mon, 3 Nov 2014 11:57:38 -0800
+Subject: [PATCH] 3.17. 3.18 compilation fixes.
+
+Summary:
+3.17. 3.18 compilation fixes.
+
+Test Plan:
+
+Reviewers:
+
+CC:
+
+Task ID: #
+
+Blame Rev:
+---
+ src/flashcache_conf.c | 32 ++++++++++++++++++++++++++++-
+ src/flashcache_procfs.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 85 insertions(+), 1 deletion(-)
+
+diff --git a/src/flashcache_conf.c b/src/flashcache_conf.c
+index 36d1e25..ad20539 100644
+--- a/src/flashcache_conf.c
++++ b/src/flashcache_conf.c
+@@ -91,12 +91,14 @@ static void flashcache_sync_for_remove(struct cache_c *dmc);
+
+ extern char *flashcache_sw_version;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,17,0)
+ static int
+ flashcache_wait_schedule(void *unused)
+ {
+ schedule();
+ return 0;
+ }
++#endif
+
+ static int
+ flashcache_jobs_init(void)
+@@ -1222,13 +1224,21 @@ flashcache_ctr(struct dm_target *ti, unsigned int argc, char **argv)
+ seq_io_move_to_lruhead(dmc, &dmc->seq_recent_ios[i]);
+ }
+ dmc->seq_io_tail = &dmc->seq_recent_ios[0];
+-
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,17,0)
+ (void)wait_on_bit_lock(&flashcache_control->synch_flags, FLASHCACHE_UPDATE_LIST,
+ flashcache_wait_schedule, TASK_UNINTERRUPTIBLE);
++#else
++ (void)wait_on_bit_lock(&flashcache_control->synch_flags, FLASHCACHE_UPDATE_LIST,
++ TASK_UNINTERRUPTIBLE);
++#endif
+ dmc->next_cache = cache_list_head;
+ cache_list_head = dmc;
+ clear_bit(FLASHCACHE_UPDATE_LIST, &flashcache_control->synch_flags);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,17,0)
+ smp_mb__after_clear_bit();
++#else
++ smp_mb__after_atomic();
++#endif
+ wake_up_bit(&flashcache_control->synch_flags, FLASHCACHE_UPDATE_LIST);
+
+ for (i = 0 ; i < dmc->size ; i++) {
+@@ -1438,10 +1448,16 @@ flashcache_dtr(struct dm_target *ti)
+ VERIFY(dmc->num_blacklist_pids == 0);
+ dm_put_device(ti, dmc->disk_dev);
+ dm_put_device(ti, dmc->cache_dev);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,17,0)
+ (void)wait_on_bit_lock(&flashcache_control->synch_flags,
+ FLASHCACHE_UPDATE_LIST,
+ flashcache_wait_schedule,
+ TASK_UNINTERRUPTIBLE);
++#else
++ (void)wait_on_bit_lock(&flashcache_control->synch_flags,
++ FLASHCACHE_UPDATE_LIST,
++ TASK_UNINTERRUPTIBLE);
++#endif
+ nodepp = &cache_list_head;
+ while (*nodepp != NULL) {
+ if (*nodepp == dmc) {
+@@ -1451,7 +1467,11 @@ flashcache_dtr(struct dm_target *ti)
+ nodepp = &((*nodepp)->next_cache);
+ }
+ clear_bit(FLASHCACHE_UPDATE_LIST, &flashcache_control->synch_flags);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,17,0)
+ smp_mb__after_clear_bit();
++#else
++ smp_mb__after_atomic();
++#endif
+ wake_up_bit(&flashcache_control->synch_flags, FLASHCACHE_UPDATE_LIST);
+ kfree(dmc);
+ }
+@@ -1735,10 +1755,16 @@ flashcache_notify_reboot(struct notifier_block *this,
+ {
+ struct cache_c *dmc;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,17,0)
+ (void)wait_on_bit_lock(&flashcache_control->synch_flags,
+ FLASHCACHE_UPDATE_LIST,
+ flashcache_wait_schedule,
+ TASK_UNINTERRUPTIBLE);
++#else
++ (void)wait_on_bit_lock(&flashcache_control->synch_flags,
++ FLASHCACHE_UPDATE_LIST,
++ TASK_UNINTERRUPTIBLE);
++#endif
+ for (dmc = cache_list_head ;
+ dmc != NULL ;
+ dmc = dmc->next_cache) {
+@@ -1750,7 +1776,11 @@ flashcache_notify_reboot(struct notifier_block *this,
+ }
+ }
+ clear_bit(FLASHCACHE_UPDATE_LIST, &flashcache_control->synch_flags);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,17,0)
+ smp_mb__after_clear_bit();
++#else
++ smp_mb__after_atomic();
++#endif
+ wake_up_bit(&flashcache_control->synch_flags, FLASHCACHE_UPDATE_LIST);
+ return NOTIFY_DONE;
+ }
+diff --git a/src/flashcache_procfs.c b/src/flashcache_procfs.c
+index 2ff33c0..23c5a81 100644
+--- a/src/flashcache_procfs.c
++++ b/src/flashcache_procfs.c
+@@ -70,12 +70,18 @@ static char *flashcache_cons_sysctl_devname(struct cache_c *dmc);
+ #define FLASHCACHE_PROC_ROOTDIR_NAME "flashcache"
+
+ static int
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)
++flashcache_io_latency_init(struct ctl_table *table, int write,
++ void __user *buffer,
++ size_t *length, loff_t *ppos)
++#else
+ flashcache_io_latency_init(ctl_table *table, int write,
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)
+ struct file *file,
+ #endif
+ void __user *buffer,
+ size_t *length, loff_t *ppos)
++#endif
+ {
+ struct cache_c *dmc = (struct cache_c *)table->extra1;
+
+@@ -97,12 +103,18 @@ flashcache_io_latency_init(ctl_table *table, int write,
+ }
+
+ static int
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)
++flashcache_sync_sysctl(struct ctl_table *table, int write,
++ void __user *buffer,
++ size_t *length, loff_t *ppos)
++#else
+ flashcache_sync_sysctl(ctl_table *table, int write,
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)
+ struct file *file,
+ #endif
+ void __user *buffer,
+ size_t *length, loff_t *ppos)
++#endif
+ {
+ struct cache_c *dmc = (struct cache_c *)table->extra1;
+
+@@ -123,12 +135,18 @@ flashcache_sync_sysctl(ctl_table *table, int write,
+ }
+
+ static int
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)
++flashcache_zerostats_sysctl(struct ctl_table *table, int write,
++ void __user *buffer,
++ size_t *length, loff_t *ppos)
++#else
+ flashcache_zerostats_sysctl(ctl_table *table, int write,
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)
+ struct file *file,
+ #endif
+ void __user *buffer,
+ size_t *length, loff_t *ppos)
++#endif
+ {
+ struct cache_c *dmc = (struct cache_c *)table->extra1;
+
+@@ -151,12 +169,18 @@ flashcache_zerostats_sysctl(ctl_table *table, int write,
+ }
+
+ static int
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)
++flashcache_fallow_clean_speed_sysctl(struct ctl_table *table, int write,
++ void __user *buffer,
++ size_t *length, loff_t *ppos)
++#else
+ flashcache_fallow_clean_speed_sysctl(ctl_table *table, int write,
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)
+ struct file *file,
+ #endif
+ void __user *buffer,
+ size_t *length, loff_t *ppos)
++#endif
+ {
+ struct cache_c *dmc = (struct cache_c *)table->extra1;
+
+@@ -176,12 +200,18 @@ flashcache_fallow_clean_speed_sysctl(ctl_table *table, int write,
+ }
+
+ static int
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)
++flashcache_dirty_thresh_sysctl(struct ctl_table *table, int write,
++ void __user *buffer,
++ size_t *length, loff_t *ppos)
++#else
+ flashcache_dirty_thresh_sysctl(ctl_table *table, int write,
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)
+ struct file *file,
+ #endif
+ void __user *buffer,
+ size_t *length, loff_t *ppos)
++#endif
+ {
+ struct cache_c *dmc = (struct cache_c *)table->extra1;
+
+@@ -204,12 +234,18 @@ flashcache_dirty_thresh_sysctl(ctl_table *table, int write,
+ }
+
+ static int
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)
++flashcache_lru_hot_pct_sysctl(struct ctl_table *table, int write,
++ void __user *buffer,
++ size_t *length, loff_t *ppos)
++#else
+ flashcache_lru_hot_pct_sysctl(ctl_table *table, int write,
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)
+ struct file *file,
+ #endif
+ void __user *buffer,
+ size_t *length, loff_t *ppos)
++#endif
+ {
+ struct cache_c *dmc = (struct cache_c *)table->extra1;
+
+@@ -236,10 +272,17 @@ flashcache_lru_hot_pct_sysctl(ctl_table *table, int write,
+
+ static struct flashcache_writeback_sysctl_table {
+ struct ctl_table_header *sysctl_header;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)
++ struct ctl_table vars[FLASHCACHE_NUM_WRITEBACK_SYSCTLS];
++ struct ctl_table dev[2];
++ struct ctl_table dir[2];
++ struct ctl_table root[2];
++#else
+ ctl_table vars[FLASHCACHE_NUM_WRITEBACK_SYSCTLS];
+ ctl_table dev[2];
+ ctl_table dir[2];
+ ctl_table root[2];
++#endif
+ } flashcache_writeback_sysctl = {
+ .vars = {
+ {
+@@ -510,10 +553,17 @@ static struct flashcache_writeback_sysctl_table {
+
+ static struct flashcache_writethrough_sysctl_table {
+ struct ctl_table_header *sysctl_header;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)
++ struct ctl_table vars[FLASHCACHE_NUM_WRITETHROUGH_SYSCTLS];
++ struct ctl_table dev[2];
++ struct ctl_table dir[2];
++ struct ctl_table root[2];
++#else
+ ctl_table vars[FLASHCACHE_NUM_WRITETHROUGH_SYSCTLS];
+ ctl_table dev[2];
+ ctl_table dir[2];
+ ctl_table root[2];
++#endif
+ } flashcache_writethrough_sysctl = {
+ .vars = {
+ {
+@@ -668,7 +718,11 @@ static struct flashcache_writethrough_sysctl_table {
+ };
+
+ int *
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)
++flashcache_find_sysctl_data(struct cache_c *dmc, struct ctl_table *vars)
++#else
+ flashcache_find_sysctl_data(struct cache_c *dmc, ctl_table *vars)
++#endif
+ {
+ if (strcmp(vars->procname, "io_latency_hist") == 0)
+ return &dmc->sysctl_io_latency_hist;
diff --git a/unmaintained/flashcache-grsec/kernel-4.2.patch b/unmaintained/flashcache-grsec/kernel-4.2.patch
new file mode 100644
index 0000000000..7f2b5c6e01
--- /dev/null
+++ b/unmaintained/flashcache-grsec/kernel-4.2.patch
@@ -0,0 +1,36 @@
+From 0feecf4de9d94cd903a7db373b8cd5cb0eef1987 Mon Sep 17 00:00:00 2001
+From: Vinson Lee <vlee@twitter.com>
+Date: Wed, 1 Jul 2015 14:12:47 -0700
+Subject: [PATCH] Fix Linux 4.2 compilation errors.
+
+Signed-off-by: Vinson Lee <vlee@twitter.com>
+---
+ src/flashcache_conf.c | 1 +
+ src/flashcache_kcopy.c | 1 +
+ src/flashcache_subr.c | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/src/flashcache_conf.c b/src/flashcache_conf.c
+index 43f4387..0ca05f7 100644
+--- a/src/flashcache_conf.c
++++ b/src/flashcache_conf.c
+@@ -41,6 +41,7 @@
+ #include <linux/delay.h>
+ #include <linux/proc_fs.h>
+ #include <linux/seq_file.h>
++#include <linux/vmalloc.h>
+
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26)
+ #include "dm.h"
+diff --git a/src/flashcache_subr.c b/src/flashcache_subr.c
+index 8d0bae5..ef931d4 100644
+--- a/src/flashcache_subr.c
++++ b/src/flashcache_subr.c
+@@ -41,6 +41,7 @@
+ #include <linux/time.h>
+ #include <asm/kmap_types.h>
+ #include <linux/jhash.h>
++#include <linux/vmalloc.h>
+
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26)
+ #include "dm.h"