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
 

Reply via email to