[OpenAFS-devel] patch for S/390x Kernel 2.6 support

Soewono Effendi Soewono.Effendi@sysgo.com
Fri, 11 Feb 2005 19:16:28 +0100 (CET)


------=_Part_6_7902863.1108145788610
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi all,

following are my tests using osi_probe on s390x linux26  (SLES9):
-----------------------
sgz600:~/osi_probe # ls
.  ..  Makefile  Testing  osi_probe.c  zapped_syscalls
sgz600:~/osi_probe # make ARCH=s390
make -C /lib/modules/2.6.5-7.111.5-s390x/build modules M=`pwd`
make[1]: Entering directory
`/usr/src/linux-2.6.5-7.111.5-obj/s390/s390x'
make -C ../../../linux-2.6.5-7.111.5
O=../linux-2.6.5-7.111.5-obj/s390/s390x modules

WARNING: Symbol version dump
/usr/src/linux-2.6.5-7.111.5-obj/s390/s390x/Module.symvers is missing,
modules will have CONFIG_MODVERSIONS disabled.

  CC [M]  /root/osi_probe/osi_probe.o
/root/osi_probe/osi_probe.c: In function `try':
/root/osi_probe/osi_probe.c:866: warning: unused variable `mod_name'
/root/osi_probe/osi_probe.c:866: warning: unused variable `sec_name'
/root/osi_probe/osi_probe.c:866: warning: unused variable `sym_name'
/root/osi_probe/osi_probe.c:867: warning: unused variable `mod_start'
/root/osi_probe/osi_probe.c:867: warning: unused variable `mod_end'
/root/osi_probe/osi_probe.c:868: warning: unused variable `sec_start'
/root/osi_probe/osi_probe.c:868: warning: unused variable `sec_end'
/root/osi_probe/osi_probe.c:869: warning: unused variable `sym_start'
/root/osi_probe/osi_probe.c:869: warning: unused variable `sym_end'
/root/osi_probe/osi_probe.c: In function `try_harder':
/root/osi_probe/osi_probe.c:982: warning: unused variable `mod_name'
/root/osi_probe/osi_probe.c:982: warning: unused variable `sec_name'
/root/osi_probe/osi_probe.c:982: warning: unused variable `sym_name'
/root/osi_probe/osi_probe.c:983: warning: unused variable `mod_start'
/root/osi_probe/osi_probe.c:983: warning: unused variable `mod_end'
/root/osi_probe/osi_probe.c:984: warning: unused variable `sec_start'
/root/osi_probe/osi_probe.c:984: warning: unused variable `sec_end'
/root/osi_probe/osi_probe.c:985: warning: unused variable `sym_start'
/root/osi_probe/osi_probe.c:985: warning: unused variable `sym_end'
/root/osi_probe/osi_probe.c: In function `do_find_syscall_table':
/root/osi_probe/osi_probe.c:1061: warning: unused variable `mod_name'
/root/osi_probe/osi_probe.c:1061: warning: unused variable `sec_name'
/root/osi_probe/osi_probe.c:1061: warning: unused variable `sym_name'
/root/osi_probe/osi_probe.c:1062: warning: unused variable `mod_start'
/root/osi_probe/osi_probe.c:1062: warning: unused variable `mod_end'
/root/osi_probe/osi_probe.c:1063: warning: unused variable `sec_start'
/root/osi_probe/osi_probe.c:1063: warning: unused variable `sec_end'
/root/osi_probe/osi_probe.c:1064: warning: unused variable `sym_start'
/root/osi_probe/osi_probe.c:1064: warning: unused variable `sym_end'
/root/osi_probe/osi_probe.c:1066: warning: unused variable `token'
/root/osi_probe/osi_probe.c:1075: warning: unused variable `ret'
  Building modules, stage 2.
  MODPOST
  CC      /root/osi_probe/osi_probe.mod.o
  LD [M]  /root/osi_probe/osi_probe.ko
make[1]: Leaving directory `/usr/src/linux-2.6.5-7.111.5-obj/s390/s390x'

sgz600:~/osi_probe # make check
make -C /lib/modules/2.6.5-7.111.5-s390x/build modules M=`pwd`
make[1]: Entering directory
`/usr/src/linux-2.6.5-7.111.5-obj/s390/s390x'
make -C ../../../linux-2.6.5-7.111.5
O=../linux-2.6.5-7.111.5-obj/s390/s390x modules

WARNING: Symbol version dump
/usr/src/linux-2.6.5-7.111.5-obj/s390/s390x/Module.symvers is missing,
modules will have CONFIG_MODVERSIONS disabled.

  Building modules, stage 2.
  MODPOST
make[1]: Leaving directory `/usr/src/linux-2.6.5-7.111.5-obj/s390/s390x'
/sbin/insmod ./osi_probe.ko probe_debug_tag=2915
/sbin/rmmod osi_probe
uname -a > check.out
dmesg | sed -ne '/osi_probe 2915 debug/,$p' >> check.out
make: *** [check] Error 1

-----------------------


As you can notice I compiled using ARCH=s390 since trying this, I got
following error:

----------
sgz600:~/osi_probe # make ARCH=s390x
make -C /lib/modules/2.6.5-7.111.5-s390x/build modules M=`pwd`
make[1]: Entering directory
`/usr/src/linux-2.6.5-7.111.5-obj/s390/s390x'
make -C ../../../linux-2.6.5-7.111.5
O=../linux-2.6.5-7.111.5-obj/s390/s390x modules
/usr/src/linux-2.6.5-7.111.5/Makefile:454:
/usr/src/linux-2.6.5-7.111.5/arch/s390x/Makefile: No such file or
directory
make[3]: *** No rule to make target
`/usr/src/linux-2.6.5-7.111.5/arch/s390x/Makefile'. Stop.
make[2]: *** [modules] Error 2
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.5-7.111.5-obj/s390/s390x'
make: *** [osi_probe_all] Error 2

----------

After adjusting the Makefile (attached) I got:

-------
sgz600:~/osi_probe # make ARCH=s390
make -C /lib/modules/2.6.5-7.111.5-s390x/build modules M=`pwd`
make[1]: Entering directory
`/usr/src/linux-2.6.5-7.111.5-obj/s390/s390x'
make -C ../../../linux-2.6.5-7.111.5
O=../linux-2.6.5-7.111.5-obj/s390/s390x modules

WARNING: Symbol version dump
/usr/src/linux-2.6.5-7.111.5-obj/s390/s390x/Module.symvers is missing,
modules will have CONFIG_MODVERSIONS disabled.

  CC [M]  /root/osi_probe/osi_probe.o
/root/osi_probe/osi_probe.c:768: error: `sys_call_table_emu' undeclared
here (not in a function)
/root/osi_probe/osi_probe.c:768: error: initializer element is not
constant
/root/osi_probe/osi_probe.c:768: error: (near initialization for
`emu_probe.weak_answer')
/root/osi_probe/osi_probe.c:805: error: initializer element is not
constant
/root/osi_probe/osi_probe.c:805: error: (near initialization for
`emu_probe.debug_ignore_NR')
/root/osi_probe/osi_probe.c: In function `try':
/root/osi_probe/osi_probe.c:866: warning: unused variable `mod_name'
/root/osi_probe/osi_probe.c:866: warning: unused variable `sec_name'
/root/osi_probe/osi_probe.c:866: warning: unused variable `sym_name'
/root/osi_probe/osi_probe.c:867: warning: unused variable `mod_start'
/root/osi_probe/osi_probe.c:867: warning: unused variable `mod_end'
/root/osi_probe/osi_probe.c:868: warning: unused variable `sec_start'
/root/osi_probe/osi_probe.c:868: warning: unused variable `sec_end'
/root/osi_probe/osi_probe.c:869: warning: unused variable `sym_start'
/root/osi_probe/osi_probe.c:869: warning: unused variable `sym_end'
/root/osi_probe/osi_probe.c: In function `try_harder':
/root/osi_probe/osi_probe.c:982: warning: unused variable `mod_name'
/root/osi_probe/osi_probe.c:982: warning: unused variable `sec_name'
/root/osi_probe/osi_probe.c:982: warning: unused variable `sym_name'
/root/osi_probe/osi_probe.c:983: warning: unused variable `mod_start'
/root/osi_probe/osi_probe.c:983: warning: unused variable `mod_end'
/root/osi_probe/osi_probe.c:984: warning: unused variable `sec_start'
/root/osi_probe/osi_probe.c:984: warning: unused variable `sec_end'
/root/osi_probe/osi_probe.c:985: warning: unused variable `sym_start'
/root/osi_probe/osi_probe.c:985: warning: unused variable `sym_end'
/root/osi_probe/osi_probe.c: In function `do_find_syscall_table':
/root/osi_probe/osi_probe.c:1061: warning: unused variable `mod_name'
/root/osi_probe/osi_probe.c:1061: warning: unused variable `sec_name'
/root/osi_probe/osi_probe.c:1061: warning: unused variable `sym_name'
/root/osi_probe/osi_probe.c:1062: warning: unused variable `mod_start'
/root/osi_probe/osi_probe.c:1062: warning: unused variable `mod_end'
/root/osi_probe/osi_probe.c:1063: warning: unused variable `sec_start'
/root/osi_probe/osi_probe.c:1063: warning: unused variable `sec_end'
/root/osi_probe/osi_probe.c:1064: warning: unused variable `sym_start'
/root/osi_probe/osi_probe.c:1064: warning: unused variable `sym_end'
/root/osi_probe/osi_probe.c:1066: warning: unused variable `token'
/root/osi_probe/osi_probe.c:1075: warning: unused variable `ret'
make[4]: *** [/root/osi_probe/osi_probe.o] Error 1
make[3]: *** [_module_/root/osi_probe] Error 2
make[2]: *** [modules] Error 2
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.5-7.111.5-obj/s390/s390x'
make: *** [osi_probe_all] Error 2

-------

Please notice: 
/root/osi_probe/osi_probe.c:768: error: `sys_call_table_emu' undeclared
here (not in a function)

adding:
extern unsigned int sys_call_table_emu[] __attribute__((weak));
to osi_probe.c will let me compile the kernel module.

Running make check gives me:
---------------
sgz600:~/osi_probe # make check
make -C /lib/modules/2.6.5-7.111.5-s390x/build modules M=`pwd`
make[1]: Entering directory
`/usr/src/linux-2.6.5-7.111.5-obj/s390/s390x'
make -C ../../../linux-2.6.5-7.111.5
O=../linux-2.6.5-7.111.5-obj/s390/s390x modules

WARNING: Symbol version dump
/usr/src/linux-2.6.5-7.111.5-obj/s390/s390x/Module.symvers is missing,
modules will have CONFIG_MODVERSIONS disabled.

  Building modules, stage 2.
  MODPOST
make[1]: Leaving directory `/usr/src/linux-2.6.5-7.111.5-obj/s390/s390x'
/sbin/insmod ./osi_probe.ko probe_debug_tag=3466
/sbin/rmmod osi_probe
uname -a > check.out
dmesg | sed -ne '/osi_probe 3466 debug/,$p' >> check.out
Found system call table at 0x11f51e (pattern scan)

---------------

but check.out (attached as check.out.s390x) says:

---------
...
Found system call table at 0x11f51e (pattern scan)
osi_probe: sys_call_table_emu = 0x0000000000000000 exported
osi_probe: sys_call_table_emu = 0x0000000000000000 module parameter
osi_probe: sys_call_table_emu = 0x0000000000000000 compiled-in
osi_probe: sys_call_table_emu base=0x100000, len=0x20000
osi_probe: sys_call_table_emu ktxt_lower_bound=0x100000
osi_probe: sys_call_table_emu                      NR_syscalls=267
osi_probe: sys_call_table_emu                      try_harder
osi_probe: sys_call_table_emu                      try_harder
osi_probe: sys_call_table_emu = 0x0000000000000000 pattern scan (even)
osi_probe: sys_call_table_emu = 0x0000000000000000 pattern scan (odd)
osi_probe: sys_call_table_emu = 0x0000000000000000 pattern scan
Warning: failed to find address of 32-bit system call table
System call hooks will not be installed; proceeding anyway

---------
The last two lines irritate me.
Do we really need the sys_call_table_emu??? I don't think so.



Best regards,
Soewono




Am Do 10.02.2005 17:32 schrieb Jeffrey Hutzelman <jhutz@cmu.edu>:

> 
> 
> On Thursday, February 10, 2005 09:12:12 AM +0100 Soewono Effendi 
> <soewono.effendi@sysgo.com> wrote:
> 
> > Hi all,
> >
> >> Also, I'd appreciate it if you could let me know whether the new
> >> syscall-table-scanning code works.
> >
> > sadly, this didn't work on s390x - linux26.
> > I'm working on it.
> 
> I don't expect the scanning code in 1.3.78 or on the CVS head to work
> on
> any S/390.  Before you do any work, please try the osi_probe module in
> 
> /afs/cs.cmu.edu/user/jhutz/junk/osi_probe
> 
> The Makefile in that directory should be able to build the module
> against
> your running kernel without any help, and running 'make check' will
> test
> it, print the results, and generate a check.out which contains
> debugging
> data that may help me get it working if it doesn't already.
> 
> -- Jeffrey T. Hutzelman (N3NHS) <jhutz+@cmu.edu>
>    Sr. Research Systems Programmer
>    School of Computer Science - Research Computing Facility
>    Carnegie Mellon University - Pittsburgh, PA
> 

------=_Part_6_7902863.1108145788610
Content-Type: application/octet-stream
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=check.out

Linux sgz600 2.6.5-7.111.5-s390x #1 SMP Wed Nov 17 11:08:17 UTC 2004 s390x s390x s390x GNU/Linux
*** osi_probe 2915 debug = 0x0041 ***
osi_probe: sys_call_table = 0x0000000000000000 exported
osi_probe: sys_call_table = 0x0000000000000000 module parameter
osi_probe: sys_call_table = 0x0000000000000000 compiled-in
osi_probe: sys_call_table                      base=0x100000, len=0x20000
osi_probe: sys_call_table                      ktxt_lower_bound=0x100000
osi_probe: sys_call_table                      NR_syscalls=267
osi_probe: sys_call_table                      scan: close+chdir+write (6->0x181f88, 12->0x0, 4->0x0)
osi_probe: sys_call_table                      scan: close+chdir+write (6->0x181f88, 12->0x0, 4->0x0)
osi_probe: sys_call_table = 0x0000000000000000 scan: close+chdir+write (even)
osi_probe: sys_call_table = 0x0000000000000000 scan: close+chdir+write (odd)
osi_probe: sys_call_table = 0x0000000000000000 scan: close+chdir+write
osi_probe: sys_call_table                      scan: close+wait4 (6->0x181f88, 114->0x12ed94, -1->0x0)
osi_probe: sys_call_table                      scan: close+wait4 (6->0x181f88, 114->0x12ed94, -1->0x0)
osi_probe: sys_call_table = 0x0000000000000000 scan: close+wait4 (even)
osi_probe: sys_call_table = 0x0000000000000000 scan: close+wait4 (odd)
osi_probe: sys_call_table = 0x0000000000000000 scan: close+wait4
osi_probe: sys_call_table                      scan: close+chdir (6->0x181f88, 12->0x0, -1->0x0)
osi_probe: sys_call_table                      scan: close+chdir (6->0x181f88, 12->0x0, -1->0x0)
osi_probe: sys_call_table = 0x0000000000000000 scan: close+chdir (even)
osi_probe: sys_call_table = 0x0000000000000000 scan: close+chdir (odd)
osi_probe: sys_call_table = 0x0000000000000000 scan: close+chdir
osi_probe: sys_call_table                      scan: close+ioctl (6->0x181f88, 54->0x1a0c60, -1->0x0)
osi_probe: sys_call_table                      scan: close+ioctl (6->0x181f88, 54->0x1a0c60, -1->0x0)
osi_probe: sys_call_table = 0x0000000000000000 scan: close+ioctl (even)
osi_probe: sys_call_table = 0x0000000000000000 scan: close+ioctl (odd)
osi_probe: sys_call_table = 0x0000000000000000 scan: close+ioctl
osi_probe: sys_call_table                      scan: exit+open (1->0x0, 5->0x0, -1->0x0)
osi_probe: sys_call_table                      scan: exit+open (1->0x0, 5->0x0, -1->0x0)
osi_probe: sys_call_table = 0x0000000000000000 scan: exit+open (even)
osi_probe: sys_call_table = 0x0000000000000000 scan: exit+open (odd)
osi_probe: sys_call_table = 0x0000000000000000 scan: exit+open
osi_probe: sys_call_table                      try_harder
osi_probe: sys_call_table                      try_harder
osi_probe: sys_call_table = 0x0000000000000000 pattern scan (even)
osi_probe: sys_call_table = 0x0000000000000000 pattern scan (odd)
osi_probe: sys_call_table = 0x0000000000000000 pattern scan
Warning: failed to find address of system call table
System call hooks will not be installed; proceeding anyway

------=_Part_6_7902863.1108145788610
Content-Type: application/octet-stream
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=Makefile

# vi:set noet:

osi_probe_tag    := $(shell echo $$$$)
osi_probe_kvers  := $(shell uname -r)
osi_probe_kminor := $(word 2, $(subst ., ,$(osi_probe_kvers)))
ks               := /lib/modules/$(osi_probe_kvers)/build
osi_probe_ksrc   := $(ks)

osi_probe_flags  := -DKERNEL -D_KERNEL -D__KERNEL__ -DMODULE

ifeq ($(ARCH),alpha)
AFS_ARCH=ALPHA
osi_probe_flags += -mno-fp-regs -ffixed-8
endif

ifeq ($(ARCH),x86_64)
AFS_ARCH=AMD64
osi_probe_flags += -mcmodel=kernel
extra_sym=ia32_sys_call_table
endif

ifeq ($(ARCH),i386)
AFS_ARCH=I386
osi_probe_flags += -DCPU=586
endif

ifeq ($(ARCH),ia64)
AFS_ARCH=IA64
osi_probe_flags += -ffixed-r13 -mfixed-range=f10-f15,f32-f127 -falign-functions=32
osi_probe_flags += -mb-step
extra_sym=ia32_sys_call_table
endif

ifeq ($(ARCH),ppc)
AFS_ARCH=PPC
osi_probe_flags += -fsigned-char -msoft-float -fno-builtin -ffixed-r2 -D__powerpc__
endif

ifeq ($(ARCH),ppc64)
AFS_ARCH=PPC64
osi_probe_flags += -fsigned-char -msoft-float -fno-builtin -ffixed-r2 -D__powerpc__
extra_sym=sys_call_table32
endif

ifeq ($(osi_probe_kminor),6)
## Build on Linux 2.6
ifeq ($(ARCH),s390)
AFS_ARCH=S390X
osi_probe_flags += -fsigned-char -D__s390x__
extra_sym=sys_call_table_emu
osi_probe_defs += -DAFS_S390_LINUX20_ENV
endif
else
ifeq ($(ARCH),s390)
AFS_ARCH=S390
osi_probe_flags += -fsigned-char -D__s390__
endif

ifeq ($(ARCH),s390x)
AFS_ARCH=S390X
osi_probe_flags += -fsigned-char -D__s390x__
extra_sym=sys_call_table_emu
osi_probe_defs += -DAFS_S390_LINUX20_ENV
endif
endif

ifeq ($(ARCH),sparc)
AFS_ARCH=SPARC
osi_probe_flags += -mcpu=v8 -mno-fpu -fcall-used-g5 -fcall-used-g7 -DCPU=sparc
osi_probe_flags += -fno-builtin
endif

ifeq ($(ARCH),sparc64)
AFS_ARCH=SPARC64
osi_probe_flags += -mcpu=ultrasparc -m64 -mno-fpu -mcmodel=medlow -DCPU=sparc64
osi_probe_flags += -ffixed-g4 -fcall-used-g5 -fcall-used-g7 -Wno-sign-compare
extra_sym=sys_call_table32
endif

osi_probe_defs += -DOSI_PROBE_STANDALONE
osi_probe_defs += -DAFS_LINUX20_ENV -DAFS_$(AFS_ARCH)_LINUX20_ENV
osi_probe_defs += -DAFS_LINUX24_ENV -DAFS_$(AFS_ARCH)_LINUX24_ENV

ifeq ($(shell test -f $(osi_probe_ksrc)/System.map && echo 'yes'),yes)
osi_probe_syms := $(shell awk '/ sys_call_table$$/ { print "-DAFS_LINUX_sys_call_table=0x"$$1"L" }' $(osi_probe_ksrc)/System.map)
ifdef extra_sym
osi_probe_syms += $(shell awk '/ $(extra_sym)$$/ { print "-DAFS_LINUX_$(extra_sym)=0x"$$1"L" }' $(osi_probe_ksrc)/System.map)
endif
osi_probe_defs += $(osi_probe_syms)
endif

ifeq ($(shell test -f /boot/System.map && echo 'yes'),yes)
tbladdrs := $(shell awk '/ sys_call_table$$/ { print "sys_call_table_addr=0x"$$1 }' /boot/System.map)
ifeq ($(tbladdrs),)
tbladdrs := sys_call_table_addr=0
endif
ifdef extra_sym
tbladdrs += $(shell awk '/ $(extra_sym)$$/ { print ",0x"$$1 }' /boot/System.map)
endif
endif

ifeq ($(osi_probe_kminor),6)
## Build on Linux 2.6
osi_probe_modext = ko
osi_probe_defs += -DAFS_LINUX26_ENV -DAFS_$(AFS_ARCH)_LINUX26_ENV
EXTRA_CFLAGS = $(osi_probe_defs)

obj-m := osi_probe.o

osi_probe_all:
	$(MAKE) -C $(osi_probe_ksrc) modules M=`pwd`

else
## Build on Linux 2.4
osi_probe_modext = o
CFLAGS=-I$(osi_probe_ksrc)/include $(osi_probe_flags) $(osi_probe_defs)
osi_probe_all: osi_probe.${osi_probe_modext}

osi_probe.${osi_probe_modext}: osi_probe.c
	$(CC) $(CFLAGS) -c $< -o $@
endif

check: osi_probe_all
	/sbin/insmod ./osi_probe.${osi_probe_modext} probe_debug_tag=$(osi_probe_tag) $(tbladdrs)
	/sbin/rmmod osi_probe
	uname -a > check.out
	dmesg | sed -ne '/osi_probe $(osi_probe_tag) debug/,$$p' >> check.out
	@grep -i found check.out

clean:
	-rm -f *.o *.ko *.mod.c check.out

dist:
	cp Makefile osi_probe.c zapped_syscalls /afs/cs.cmu.edu/user/jhutz/junk/osi_probe/

echo:
	@echo $(osi_probe_defs)

------=_Part_6_7902863.1108145788610
Content-Type: application/octet-stream
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=check.out.s390x

Linux sgz600 2.6.5-7.111.5-s390x #1 SMP Wed Nov 17 11:08:17 UTC 2004 s390x s390x s390x GNU/Linux
*** osi_probe 3466 debug = 0x0041 ***
osi_probe: sys_call_table = 0x0000000000000000 exported
osi_probe: sys_call_table = 0x0000000000000000 module parameter
osi_probe: sys_call_table = 0x0000000000000000 compiled-in
osi_probe: sys_call_table                      base=0x100000, len=0x20000
osi_probe: sys_call_table                      ktxt_lower_bound=0x100000
osi_probe: sys_call_table                      NR_syscalls=267
osi_probe: sys_call_table                      scan: close+chdir+write (6->0x181f88, 12->0x0, 4->0x0)
osi_probe: sys_call_table                      scan: close+chdir+write (6->0x181f88, 12->0x0, 4->0x0)
osi_probe: sys_call_table = 0x0000000000000000 scan: close+chdir+write (even)
osi_probe: sys_call_table = 0x0000000000000000 scan: close+chdir+write (odd)
osi_probe: sys_call_table = 0x0000000000000000 scan: close+chdir+write
osi_probe: sys_call_table                      scan: close+wait4 (6->0x181f88, 114->0x12ed94, -1->0x0)
osi_probe: sys_call_table                      scan: close+wait4 (6->0x181f88, 114->0x12ed94, -1->0x0)
osi_probe: sys_call_table = 0x0000000000000000 scan: close+wait4 (even)
osi_probe: sys_call_table = 0x000000000011f51e scan: close+wait4 (odd)
osi_probe: sys_call_table = 0x000000000011f51e scan: close+wait4
osi_probe: sys_call_table                      scan: close+chdir (6->0x181f88, 12->0x0, -1->0x0)
osi_probe: sys_call_table                      scan: close+chdir (6->0x181f88, 12->0x0, -1->0x0)
osi_probe: sys_call_table = 0x0000000000000000 scan: close+chdir (even)
osi_probe: sys_call_table = 0x0000000000000000 scan: close+chdir (odd)
osi_probe: sys_call_table = 0x0000000000000000 scan: close+chdir
osi_probe: sys_call_table                      scan: close+ioctl (6->0x181f88, 54->0x1a0c60, -1->0x0)
osi_probe: sys_call_table                      scan: close+ioctl (6->0x181f88, 54->0x1a0c60, -1->0x0)
osi_probe: sys_call_table = 0x0000000000000000 scan: close+ioctl (even)
osi_probe: sys_call_table = 0x000000000011f51e scan: close+ioctl (odd)
osi_probe: sys_call_table = 0x000000000011f51e scan: close+ioctl
osi_probe: sys_call_table                      scan: exit+open (1->0x0, 5->0x0, -1->0x0)
osi_probe: sys_call_table                      scan: exit+open (1->0x0, 5->0x0, -1->0x0)
osi_probe: sys_call_table = 0x0000000000000000 scan: exit+open (even)
osi_probe: sys_call_table = 0x0000000000000000 scan: exit+open (odd)
osi_probe: sys_call_table = 0x0000000000000000 scan: exit+open
osi_probe: sys_call_table                      try_harder
osi_probe: sys_call_table                      try_harder
osi_probe: sys_call_table = 0x0000000000000000 pattern scan (even)
osi_probe: sys_call_table = 0x000000000011f51e pattern scan (odd)
osi_probe: sys_call_table = 0x000000000011f51e pattern scan
Found system call table at 0x11f51e (pattern scan)
osi_probe: sys_call_table_emu = 0x0000000000000000 exported
osi_probe: sys_call_table_emu = 0x0000000000000000 module parameter
osi_probe: sys_call_table_emu = 0x0000000000000000 compiled-in
osi_probe: sys_call_table_emu                      base=0x100000, len=0x20000
osi_probe: sys_call_table_emu                      ktxt_lower_bound=0x100000
osi_probe: sys_call_table_emu                      NR_syscalls=267
osi_probe: sys_call_table_emu                      try_harder
osi_probe: sys_call_table_emu                      try_harder
osi_probe: sys_call_table_emu = 0x0000000000000000 pattern scan (even)
osi_probe: sys_call_table_emu = 0x0000000000000000 pattern scan (odd)
osi_probe: sys_call_table_emu = 0x0000000000000000 pattern scan
Warning: failed to find address of 32-bit system call table
System call hooks will not be installed; proceeding anyway

------=_Part_6_7902863.1108145788610--