Commit 43c3f957 authored by Natanael Copa's avatar Natanael Copa

main/iscsitarget-grsec: upgrade to 1.4.19

parent 92dd4f0a
......@@ -15,7 +15,7 @@ if [ -f ../iscsitarget/APKBUILD ]; then
fi
pkgname=${_realname}-${_flavor}
pkgver=${pkgver:-0.4.17}
pkgrel=18
pkgrel=0
pkgdesc="$_flavor kernel modules for iscsitarget"
url="http://iscsitarget.sourceforge.net/"
license="GPL-2"
......@@ -24,14 +24,12 @@ install=
makedepends="linux-${_flavor}-dev=${_kernelver}"
subpackages=
source="http://downloads.sourceforge.net/$_realname/$_realname-$pkgver.tar.gz
iscsitarget-0.4.17+linux-2.6.28.patch
iscsitarget-0.4.17+linux-2.6.29.patch
iscsitarget-0.4.17+linux-2.6.30.patch
"
build() {
cd "$srcdir"/$_realname-$pkgver
for i in ../*.patch; do
[ -r "$i" ] || continue
msg "Applying $i"
patch -p1 < $i || return 1
done
......@@ -41,7 +39,4 @@ build() {
make KSRC="$ksrc" kernel || return 1
make KSRC="$ksrc" DISTDIR="$pkgdir" install-kernel || return 1
}
md5sums="e79b437695fc50e7d054631855a16b1b iscsitarget-0.4.17.tar.gz
f58dde50f72b04b7737b33e517e56208 iscsitarget-0.4.17+linux-2.6.28.patch
a7be10bb04c9014807e39db75c9cd468 iscsitarget-0.4.17+linux-2.6.29.patch
2f65d30d1766828fc87cac55a84e0b07 iscsitarget-0.4.17+linux-2.6.30.patch"
md5sums="9beca214c28949cce1716b49fec57de4 iscsitarget-1.4.19.tar.gz"
From c5e70fc826aad5efb786c47d294e3c0c76246d63 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Diego=20E.=20'Flameeyes'=20Petten=C3=B2?= <flameeyes@gmail.com>
Date: Sat, 3 Jan 2009 00:09:43 +0100
Subject: [PATCH] Fix building with Linux kernel 2.6.28 and later.
With changeset 30c40d2c01f68c7eb1a41ab3552bdaf5dbf300d4 of the Linux
kernel, the functions open_bdev_excl and close_bdev_excl were replaced with
functionally-equivalent open_bdev_exclusive and close_bdev_exclusive.
The new interface uses fmode_t instead of integer flags to carry on the
opening mode for a block device, thus require some minor changes in the
calls.
---
kernel/block-io.c | 21 +++++++++++++++++++++
1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/kernel/block-io.c b/kernel/block-io.c
index e4a25f7..2c5f6f6 100644
--- a/kernel/block-io.c
+++ b/kernel/block-io.c
@@ -18,6 +18,14 @@
#include "iscsi_dbg.h"
#include "iotype.h"
+#include <linux/version.h>
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)
+# define HAVE_OPEN_BDEV_EXCLUSIVE 1
+#else
+# define HAVE_OPEN_BDEV_EXCLUSIVE 0
+#endif
+
struct blockio_data {
char *path;
struct block_device *bdev;
@@ -154,14 +160,22 @@ blockio_open_path(struct iet_volume *volume, const char *path)
{
struct blockio_data *bio_data = volume->private;
struct block_device *bdev;
+#if HAVE_OPEN_BDEV_EXCLUSIVE
+ fmode_t mode = FMODE_READ | ( LUReadonly(volume) ? 0 : FMODE_WRITE );
+#else
int flags = LUReadonly(volume) ? MS_RDONLY : 0;
+#endif
int err = 0;
bio_data->path = kstrdup(path, GFP_KERNEL);
if (!bio_data->path)
return -ENOMEM;
+#if HAVE_OPEN_BDEV_EXCLUSIVE
+ bdev = open_bdev_exclusive(path, mode, THIS_MODULE);
+#else
bdev = open_bdev_excl(path, flags, THIS_MODULE);
+#endif
if (IS_ERR(bdev)) {
err = PTR_ERR(bdev);
eprintk("Can't open device %s, error %d\n", path, err);
@@ -323,9 +337,16 @@ static void
blockio_detach(struct iet_volume *volume)
{
struct blockio_data *bio_data = volume->private;
+#if HAVE_OPEN_BDEV_EXCLUSIVE
+ fmode_t mode = FMODE_READ | ( LUReadonly(volume) ? 0 : FMODE_WRITE );
+#endif
if (bio_data->bdev)
+#if HAVE_OPEN_BDEV_EXCLUSIVE
+ close_bdev_exclusive(bio_data->bdev, mode);
+#else
close_bdev_excl(bio_data->bdev);
+#endif
kfree(bio_data->path);
kfree(volume->private);
--
1.6.0.6
From 81373580a641732a7e4610c3d39af0c68007b892 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Diego=20Elio=20'Flameeyes'=20Petten=C3=B2?= <flameeyes@gmail.com>
Date: Wed, 25 Mar 2009 16:14:46 +0100
Subject: [PATCH 2/2] Fix building with Linux kernel 2.6.29 and later.
When building for Linux 2.6.29 or later, instead of using the NIP6
macro (that has been removed) use the new %p6 format specifier.
---
kernel/conn.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/kernel/conn.c b/kernel/conn.c
index f96e2b6..ab561f9 100644
--- a/kernel/conn.c
+++ b/kernel/conn.c
@@ -6,6 +6,7 @@
#include <linux/file.h>
#include <linux/ip.h>
+#include <linux/version.h>
#include <net/tcp.h>
#include "iscsi.h"
@@ -47,8 +48,13 @@ void conn_info_show(struct seq_file *seq, struct iscsi_session *session)
break;
case AF_INET6:
snprintf(buf, sizeof(buf),
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
+ "[%p6]",
+ &(inet6_sk(sk)->daddr));
+#else
"[%04x:%04x:%04x:%04x:%04x:%04x:%04x:%04x]",
NIP6(inet6_sk(sk)->daddr));
+#endif
break;
default:
break;
--
1.6.2
From cb1b94ffa91d71aba8e07ed018e9f43064e05a49 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Diego=20Elio=20'Flameeyes'=20Petten=C3=B2?= <flameeyes@gmail.com>
Date: Wed, 10 Jun 2009 17:24:02 +0200
Subject: [PATCH 3/3] Fix building with Linux kernel 2.6.30 and later.
With commit 99b76233803beab302123d243eea9e41149804f3 the proc_dir_entry
structure does not have an owner any longer, this just removes the
assignment to make the code build with the newer kernel.
---
kernel/config.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/kernel/config.c b/kernel/config.c
index d6c4b5e..34681f5 100644
--- a/kernel/config.c
+++ b/kernel/config.c
@@ -5,6 +5,7 @@
*/
#include <linux/proc_fs.h>
+#include <linux/version.h>
#include "iscsi.h"
#include "iscsi_dbg.h"
@@ -43,7 +44,9 @@ int iet_procfs_init(void)
if (!(proc_iet_dir = proc_mkdir("iet", init_net.proc_net)))
goto err;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 30)
proc_iet_dir->owner = THIS_MODULE;
+#endif
for (i = 0; i < ARRAY_SIZE(iet_proc_entries); i++) {
ent = create_proc_entry(iet_proc_entries[i].name, 0, proc_iet_dir);
--
1.6.3.1
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment