Yes i got my answer.
i look at the FC5 patch file [linux-2.6-unexport-symbols
.patch] and see
that FC5 kernel removes EXPORT_SYMBOLS_GPL(sys_open) macro..
Actually i was searching the kernel source tree(FC5) before applying the
patch.This was my great mistake , i apologize my ignorance. That's why i
got wondered how could i not able to call sys_open though it has been
exported by EXPORT_SYMBOL_GPL() macro.
But i learned lot about exported symbol . Thanks to all...
Now i am going to write a small LKM which can list all the exported symbol
by kernel [by help of kernel/module.c ] ,let see ...
[suman@ajit SOURCES]$ less linux-2.6-unexport-symbols.patch
No external modules should be touching these symbols.
If they are, they are broken.
diff -urNp --exclude-from=/home/davej/.exclude linux-3022/fs/open.c
linux-10000/fs/open.c
--- linux-3022/fs/open.c
+++ linux-10000/fs/open.c
@@ -976,7 +976,6 @@ out_error:
fd = error;
goto out;
}
-EXPORT_SYMBOL_GPL(sys_open);
#ifndef __alpha__
diff -urNp --exclude-from=/home/davej/.exclude
linux-3022/arch/x86_64/ia32/sys_ia32.c linux-10000/arch/x86_64/ia32/sys_ia32
.c
--- linux-3022/arch/x86_64/ia32/sys_ia32.c
+++ linux-10000/arch/x86_64/ia32/sys_ia32.c
@@ -1048,4 +1048,3 @@ static int __init ia32_init (void)
__initcall(ia32_init);
extern unsigned long ia32_sys_call_table[];
-EXPORT_SYMBOL(ia32_sys_call_table);
(END)
Thanks
Suman
that FC5 kernel removes EXPORT_SYMBOLS_GPL(sys_open) macro..
Actually i was searching the kernel source tree(FC5) before applying the
patch.This was my great mistake , i apologize my ignorance. That's why i
got wondered how could i not able to call sys_open though it has been
exported by EXPORT_SYMBOL_GPL() macro.
But i learned lot about exported symbol . Thanks to all...
Now i am going to write a small LKM which can list all the exported symbol
by kernel [by help of kernel/module.c ] ,let see ...
[suman@ajit SOURCES]$ less linux-2.6-unexport-symbols.patch
No external modules should be touching these symbols.
If they are, they are broken.
diff -urNp --exclude-from=/home/davej/.exclude linux-3022/fs/open.c
linux-10000/fs/open.c
--- linux-3022/fs/open.c
+++ linux-10000/fs/open.c
@@ -976,7 +976,6 @@ out_error:
fd = error;
goto out;
}
-EXPORT_SYMBOL_GPL(sys_open);
#ifndef __alpha__
diff -urNp --exclude-from=/home/davej/.exclude
linux-3022/arch/x86_64/ia32/sys_ia32.c linux-10000/arch/x86_64/ia32/sys_ia32
.c
--- linux-3022/arch/x86_64/ia32/sys_ia32.c
+++ linux-10000/arch/x86_64/ia32/sys_ia32.c
@@ -1048,4 +1048,3 @@ static int __init ia32_init (void)
__initcall(ia32_init);
extern unsigned long ia32_sys_call_table[];
-EXPORT_SYMBOL(ia32_sys_call_table);
(END)
Thanks
Suman