[OpenAFS] Unable to start afs on OpenSuSE 11.1

Simon Wilkinson sxw@inf.ed.ac.uk
Thu, 4 Jun 2009 23:28:51 -0700


--Apple-Mail-10--411841168
Content-Type: text/plain;
	charset=US-ASCII;
	format=flowed;
	delsp=yes
Content-Transfer-Encoding: 7bit


On 2 Jun 2009, at 09:31, Karen Eldredge wrote:

>> This should be fixed in the openafs code - the right fix would
>> probably be to add a configure check for the availability of
>> do_signal, and define out the probing code if it's not available,
>> similar to what was done for init_mm.
>
> I haven't had luck with changing the SuSE kernel yet, so if you get  
> a chance to
> give me a new
> configure file that would be great.  Would it be exactly what is  
> done with
> init_mm?  If so, maybe
> I could manually change the configure script.

Try the attached patch for OpenAFS.

Patch the code, run regen.sh, and configure with --disable-linux- 
syscall-probing

One consideration is that this will only work correctly if your kernel  
has keyring support enabled. Otherwise, the kernel module will fail to  
build with unresolved symbols.



--Apple-Mail-10--411841168
Content-Disposition: attachment;
	filename=probing.diff
Content-Type: application/octet-stream;
	x-unix-mode=0644;
	name="probing.diff"
Content-Transfer-Encoding: 7bit

commit cadf108d5617e4a5b4509129fb9da8dfa929a542
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jun 2 10:37:27 2009 -0700

    Add option to disable syscall probing
    
    This adds the ability to disable syscall probing at configuration
    time to deal with Linux architectures which have compile, run, or
    load time issues with probes.

diff --git a/acinclude.m4 b/acinclude.m4
index 35dc400..6c70961 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -299,6 +299,13 @@ AC_ARG_ENABLE([optimize-pam],
          enabled)])],
     ,
     [enable_optimize_pam="yes"])
+AC_ARG_ENABLE([linux-syscall-probing],
+    [AS_HELP_STRING([--disable-linux-syscall-probing],
+	[disabling Linux syscall probing (defaults to enabled)])],
+    ,
+    [AC_DEFINE(ENABLE_LINUX_SYSCALL_PROBING, 1, 
+	[define to enable syscall table probes])])
+    
 
 
 enable_login="no"
diff --git a/src/afs/LINUX/osi_probe.c b/src/afs/LINUX/osi_probe.c
index 597ca90..02bd9fd 100644
--- a/src/afs/LINUX/osi_probe.c
+++ b/src/afs/LINUX/osi_probe.c
@@ -52,7 +52,7 @@
 #include <afsconfig.h>
 #include "afs/param.h"
 #endif
-#if defined(EXPORTED_INIT_MM)
+#if defined(ENABLE_LINUX_SYSCALL_PROBING) && defined(EXPORTED_INIT_MM)
 #ifdef AFS_LINUX24_ENV
 #include <linux/module.h> /* early to avoid printf->printk mapping */
 #ifdef AFS_LINUX26_ENV

--Apple-Mail-10--411841168
Content-Type: text/plain;
	charset=US-ASCII;
	format=flowed
Content-Transfer-Encoding: 7bit



--Apple-Mail-10--411841168--