diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2015-04-14 12:56:27 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2015-04-14 13:24:14 +0000 |
commit | c846b2f6e6cf81be045b2b116d1426c6ffd67f4b (patch) | |
tree | 0e3b00ec479520f013b849a0ea0c0c6922e2cd5a /testing/flashcache-grsec/kernel-3.18.patch | |
parent | c3a2a8d10d1048b20a3e9cb780715867002ca2f5 (diff) | |
download | aports-c846b2f6e6cf81be045b2b116d1426c6ffd67f4b.tar.bz2 aports-c846b2f6e6cf81be045b2b116d1426c6ffd67f4b.tar.xz |
testing/flashcache-grsec: rebuild against 3.18.11 kernel
Diffstat (limited to 'testing/flashcache-grsec/kernel-3.18.patch')
-rw-r--r-- | testing/flashcache-grsec/kernel-3.18.patch | 288 |
1 files changed, 288 insertions, 0 deletions
diff --git a/testing/flashcache-grsec/kernel-3.18.patch b/testing/flashcache-grsec/kernel-3.18.patch new file mode 100644 index 0000000000..ba0dc631a3 --- /dev/null +++ b/testing/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; |