Package: loop-aes-source
Version: 3.2e-1
Severity: normal
Tags: patch
loop-aes-source fails to compile with kernel 2.6.29:
--------------------------8<-------------------------
make[4]: Entering directory `/usr/src/linux-2.6.29'
CC [M] /usr/src/modules/loop-aes/tmp-d-kbuild/patched-loop.o
/usr/src/modules/loop-aes/tmp-d-kbuild/patched-loop.c: In function
‘loop_set_status’:
/usr/src/modules/loop-aes/tmp-d-kbuild/patched-loop.c:1657: error: ‘struct
task_struct’ has no member named ‘uid’
/usr/src/modules/loop-aes/tmp-d-kbuild/patched-loop.c:1713: error: ‘struct
task_struct’ has no member named ‘uid’
make[5]: *** [/usr/src/modules/loop-aes/tmp-d-kbuild/patched-loop.o] Error 1
make[4]: *** [_module_/usr/src/modules/loop-aes/tmp-d-kbuild] Error 2
make[4]: Leaving directory `/usr/src/linux-2.6.29'
----------------------->8---------------------------
This patch works for me.
cd /usr/src/modules/loop-aes
patch -p1 < loop-aes_kernel2.6.29.patch
Thomas
-- System Information:
Debian Release: squeeze/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.28.2-200901271 (PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages loop-aes-source depends on:
ii build-essential 11.4 Informational list of build-essent
ii bzip2 1.0.5-1 high-quality block-sorting file co
ii debhelper 7.0.17 helper programs for debian/rules
ii module-assistant 0.10.11.0 tool to make module package creati
Versions of packages loop-aes-source recommends:
pn loop-aes-testsuite <none> (no description available)
loop-aes-source suggests no packages.
-- no debconf information
diff -Naur loop-aes.orig/glue.c loop-aes/glue.c
--- loop-aes.orig/glue.c 2009-02-22 14:37:09.000000000 +0000
+++ loop-aes/glue.c 2009-03-24 18:45:26.000000000 +0000
@@ -275,7 +275,7 @@
} un;
#if LINUX_VERSION_CODE >= 0x20200
- if(lo->lo_key_owner != current->uid && !capable(CAP_SYS_ADMIN))
+ if(lo->lo_key_owner != current->cred->uid && !capable(CAP_SYS_ADMIN))
return -EPERM;
#endif
diff -Naur loop-aes.orig/loop.c-2.6.patched loop-aes/loop.c-2.6.patched
--- loop-aes.orig/loop.c-2.6.patched 2009-02-22 14:37:09.000000000 +0000
+++ loop-aes/loop.c-2.6.patched 2009-03-24 18:40:42.000000000 +0000
@@ -1654,7 +1654,7 @@
int err;
struct loop_func_table *xfer = NULL;
- if (lo->lo_encrypt_key_size && lo->lo_key_owner != current->uid &&
+ if (lo->lo_encrypt_key_size && lo->lo_key_owner != current->cred->uid &&
!capable(CAP_SYS_ADMIN))
return -EPERM;
if ((unsigned int) info->lo_encrypt_key_size > LO_KEY_SIZE)
@@ -1710,7 +1710,7 @@
if (info->lo_encrypt_key_size) {
memcpy(lo->lo_encrypt_key, info->lo_encrypt_key,
info->lo_encrypt_key_size);
- lo->lo_key_owner = current->uid;
+ lo->lo_key_owner = current->cred->uid;
}
lo->lo_queue->make_request_fn = loop_make_request_real;
diff -Naur loop-aes.orig/loop_serpent.c loop-aes/loop_serpent.c
--- loop-aes.orig/loop_serpent.c 2009-02-22 14:37:09.000000000 +0000
+++ loop-aes/loop_serpent.c 2009-03-24 18:46:56.000000000 +0000
@@ -1117,7 +1117,7 @@
extern void md5_transform_CPUbyteorder_C(u_int32_t *, u_int32_t const *);
#if LINUX_VERSION_CODE >= 0x20200
- if(lo->lo_key_owner != current->uid && !capable(CAP_SYS_ADMIN))
+ if(lo->lo_key_owner != current->cred->uid && !capable(CAP_SYS_ADMIN))
return -EPERM;
#endif
diff -Naur loop-aes.orig/loop_twofish.c loop-aes/loop_twofish.c
--- loop-aes.orig/loop_twofish.c 2009-02-22 14:37:09.000000000 +0000
+++ loop-aes/loop_twofish.c 2009-03-24 18:47:16.000000000 +0000
@@ -515,7 +515,7 @@
extern void md5_transform_CPUbyteorder_C(u_int32_t *, u_int32_t const *);
#if LINUX_VERSION_CODE >= 0x20200
- if(lo->lo_key_owner != current->uid && !capable(CAP_SYS_ADMIN))
+ if(lo->lo_key_owner != current->cred->uid && !capable(CAP_SYS_ADMIN))
return -EPERM;
#endif