Am Freitag, 31. August 2012, 12:51:43 schrieb Dzianis Kahanovich:
> Philipp Reisner написал:
> >> 2) Building module: detecting security_netlink_recv
> >> (COMPAT_HAVE_SECURITY_NETLINK_RECV defined) false positive.
> > 
> > On what kernel? (Version and dist flavour)
> 
> 3.5.3 vanilla (sys-kernel/vanilla-sources "from Gentoo", real vanilla
> sources).
> 
> I use next code in my ebuild (gentoo-ish) to workaround:
> grep -qw security_netlink_recv "${KERNEL_DIR}/include/linux/security.h" ||
> sed -i -e 's:ifdef COMPAT_HAVE_SECURITY_NETLINK_RECV:if 0:' drbd_nl.c

Sorry, I can not reproduce this issue on my machine. I guess it has something
to do with different gcc versions or Gentoo's gcc being more relaxed about
warnings:

Please do:

$ cd ~/src/drbd-8.4.2rc3/drbd
$ make clean
$ rm compat.h
$ make KDIR=~/src/linux-3.5.3 V=1  >compile.log 2>&1
$ grep have_security_netlink_recv.c: compile.log
/home/phil/src/drbd84/drbd/compat/tests/have_security_netlink_recv.c: In 
function ‘f’:
/home/phil/src/drbd84/drbd/compat/tests/have_security_netlink_recv.c:7:2: 
error: implicit declaration of function ‘security_netlink_recv’ 
[-Werror=implicit-function-declaration]
$ grep COMPAT_HAVE_SECURITY_NETLINK_RECV compat.h
/* #undef COMPAT_HAVE_SECURITY_NETLINK_RECV */

Compilation of the test fails, I get the correct compat.h.

I guess that you gcc either ignores -Werror=implicit-function-declaration, or 
something
on that level...

The check we delivered in drbd-8.4.2rc3 looks like this:
--snip--
#include <linux/security.h>

int f(void)
{
        struct sk_buff *skb = NULL;
        return security_netlink_recv(skb, CAP_SYS_ADMIN);
}
--snap--

Pleas replace it (compat/tests/have_security_netlink_recv.c) with:
--snip--
#include <linux/security.h>

void *p = security_netlink_recv;
--snap--

If this makes it work for you (compilation of 
compat/tests/have_security_netlink_recv.c fails) I will commit it...

Best regards,
 Philipp
_______________________________________________
drbd-user mailing list
[email protected]
http://lists.linbit.com/mailman/listinfo/drbd-user

Reply via email to