Nicolas Iooss c017c71ce0 selinux: include sys/socket.h in host programs to have PF_MAX
Compiling with clang and -Wundef makes the compiler report a usage of
undefined PF_MAX macro in security/selinux/include/classmap.h:

    In file included from scripts/selinux/mdp/mdp.c:48:
    security/selinux/include/classmap.h:37:31: warning: no previous
    extern declaration for non-static variable 'secclass_map'
    [-Wmissing-variable-declarations]
    struct security_class_mapping secclass_map[] = {
                                  ^
    security/selinux/include/classmap.h:235:5: error: 'PF_MAX' is not
    defined, evaluates to 0 [-Werror,-Wundef]
    #if PF_MAX > 43
        ^
    In file included from scripts/selinux/genheaders/genheaders.c:17:
    security/selinux/include/classmap.h:37:31: warning: no previous
    extern declaration for non-static variable 'secclass_map'
    [-Wmissing-variable-declarations]
    struct security_class_mapping secclass_map[] = {
                                  ^
    security/selinux/include/classmap.h:235:5: error: 'PF_MAX' is not
    defined, evaluates to 0 [-Werror,-Wundef]
    #if PF_MAX > 43
        ^

PF_MAX is defined in include/linux/socket.h but not in
include/uapi/linux/socket.h. Therefore host programs have to rely on the
definition from libc's /usr/include/bits/socket.h, included by
<sys/socket.h>.

Fix the issue by using sys/socket.h in mdp and genheaders. When
classmap.h is included by security/selinux/avc.c, it uses the kernel
definition of PF_MAX, which makes the test consistent.

Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
Signed-off-by: Paul Moore <paul@paul-moore.com>
2017-03-10 15:09:27 -05:00
..
2016-08-24 22:34:19 +02:00
2014-08-20 16:03:45 +02:00
2017-02-24 18:37:03 -08:00
2011-08-31 16:12:17 +02:00
2014-08-20 16:03:45 +02:00
2014-08-20 16:03:45 +02:00
2014-08-20 16:03:45 +02:00
2012-06-27 12:44:29 -07:00
2014-12-20 00:01:12 +01:00
2017-02-22 16:41:26 -08:00
2016-06-07 22:57:10 +02:00
2016-06-07 22:57:10 +02:00
2016-06-07 22:57:10 +02:00
2014-08-20 16:03:45 +02:00
2014-08-20 16:03:45 +02:00
2015-08-28 17:04:40 +02:00
2015-08-28 17:04:40 +02:00
2014-08-20 16:03:45 +02:00