Hi
On Tuesday 20 December 2011, [email protected] wrote:
>
> Hello Stefan,
>
> "Stefan Lippers-Hollmann":
> > You'll need to include <linux/export.h> in security/device_cgroup.c, to
> > have EXPORT_SYMBOL (imho EXPORT_SYMBOL_GPL would make more sense in
> > aufs3-standalone.patch) available to the module.
>
> If linux/export.h is the cause of the error, then it should be detected
> at a comple-time instead of link-time, isn't it?
It is detected, just that it doesn't actually error out until the
linking stage.
Without "#include <linux/export.h>" in security/device_cgroup.c (I
apply aufs3-standalone.patch after sed s/EXPORT_SYMBOL/\&_GPL/, but
that doesn't make a difference here):
CC security/lsm_audit.o
CC security/device_cgroup.o
/.../security/device_cgroup.c:503:1: warning: data definition has no type or
storage class [enabled by default]
/.../security/device_cgroup.c:503:1: warning: type defaults to 'int' in
declaration of 'EXPORT_SYMBOL_GPL' [-Wimplicit-int]
/.../security/device_cgroup.c:503:1: warning: parameter names (without types)
in function declaration [enabled by default]
LD security/built-in.o
With #include <linux/export.h> in security/device_cgroup.c:
CC security/lsm_audit.o
CC security/device_cgroup.o
LD security/built-in.o
[no warnings in fs/aufs/]
Before 3.2-rcX, EXPORT_SYMBOL/ EXPORT_SYMBOL_GPL was defined by
module.h (and by chance the other files for which
aufs3-standalone.patch adds EXPORT_SYMBOL already include
linux/export.h on their own), there are a couple of equivalent changes
in 3.2~rc as well[1]; this becomes necessary because of[2].
Regards
Stefan Lippers-Hollmann
[1]
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=f4a65ad6eb9b56180724de52ddd6dd6712121be1
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=a69e4c28b2bddc21b5752b1da8f43ab0a817305c
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=12b248eba4fd189216cad14b7dd1cfdacdf90cdf
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=e0ce42e19ce1978a5aee33b2954d7e1a730e88c4
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=4af92e7a68af7b515d274f9d33b14b8a0804a0f6
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=905905432868fa513f0f783fb9e5724536f4ee1f
[...]
[2]
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=f50169324df4ad942e544386d136216c8617636a
------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create
new or port existing apps to sell to consumers worldwide. Explore the
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev