build warnings because of commit 4613012db1d911f80897f

Bug #1526841 reported by Colin Ian King
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Triaged
Medium
Unassigned

Bug Description

The following commit is trigger a bunch of build warnings because of the change to the unix_sk macro to an inline function:

commit 4613012db1d911f80897f9446a49de817b2c4c47
Author: Aaron Conole <email address hidden>
Date: Sat Sep 26 18:50:42 2015 -0400

    af_unix: Convert the unix_sk macro to an inline function for type safety

    As suggested by Eric Dumazet this change replaces the
    #define with a static inline function to enjoy
    complaints by the compiler when misusing the API.

    Signed-off-by: Aaron Conole <email address hidden>
    Signed-off-by: David S. Miller <email address hidden>

which is a good thing because it's now warning about some potentially dodgy type abuse. for example, on wily on master-next:

 CC [M] sound/drivers/mpu401/mpu401_uart.o
In file included from /home/cking/rhash/ubuntu-wily/arch/x86/include/asm/bug.h:35:0,
                 from /home/cking/rhash/ubuntu-wily/include/linux/bug.h:4,
                 from /home/cking/rhash/ubuntu-wily/include/linux/cpumask.h:12,
                 from /home/cking/rhash/ubuntu-wily/arch/x86/include/asm/cpumask.h:4,
                 from /home/cking/rhash/ubuntu-wily/arch/x86/include/asm/msr.h:10,
                 from /home/cking/rhash/ubuntu-wily/arch/x86/include/asm/processor.h:20,
                 from /home/cking/rhash/ubuntu-wily/arch/x86/include/asm/atomic.h:6,
                 from /home/cking/rhash/ubuntu-wily/include/linux/atomic.h:4,
                 from /home/cking/rhash/ubuntu-wily/include/linux/mutex.h:18,
                 from /home/cking/rhash/ubuntu-wily/include/net/af_unix.h:6,
                 from /home/cking/rhash/ubuntu-wily/security/apparmor/include/af_unix.h:15,
                 from /home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:16:
/home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c: In function 'unix_fs_perm':
/home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:29:18: warning: passing argument 1 of 'unix_sk' from incompatible pointer type [-Wincompatible-pointer-types]
  AA_BUG(!UNIX_FS(u));
                  ^
/home/cking/rhash/ubuntu-wily/include/asm-generic/bug.h:95:25: note: in definition of macro 'WARN'
  int __ret_warn_on = !!(condition); \
                         ^
/home/cking/rhash/ubuntu-wily/security/apparmor/include/apparmor.h:75:28: note: in expansion of macro 'AA_BUG_FMT'
 #define AA_BUG(X, args...) AA_BUG_FMT((X), "" args )
                            ^
/home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:29:2: note: in expansion of macro 'AA_BUG'
  AA_BUG(!UNIX_FS(u));
  ^
/home/cking/rhash/ubuntu-wily/security/apparmor/include/af_unix.h:36:22: note: in expansion of macro 'UNIX_ANONYMOUS'
 #define UNIX_FS(U) (!UNIX_ANONYMOUS(U) && unix_sk(U)->addr->name->sun_path[0])
                      ^
/home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:29:10: note: in expansion of macro 'UNIX_FS'
  AA_BUG(!UNIX_FS(u));
          ^
In file included from /home/cking/rhash/ubuntu-wily/security/apparmor/include/af_unix.h:15:0,
                 from /home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:16:
/home/cking/rhash/ubuntu-wily/include/net/af_unix.h:67:33: note: expected 'struct sock *' but argument is of type 'struct unix_sock *'
 static inline struct unix_sock *unix_sk(struct sock *sk)
                                 ^
In file included from /home/cking/rhash/ubuntu-wily/arch/x86/include/asm/bug.h:35:0,
                 from /home/cking/rhash/ubuntu-wily/include/linux/bug.h:4,
                 from /home/cking/rhash/ubuntu-wily/include/linux/cpumask.h:12,
                 from /home/cking/rhash/ubuntu-wily/arch/x86/include/asm/cpumask.h:4,
                 from /home/cking/rhash/ubuntu-wily/arch/x86/include/asm/msr.h:10,
                 from /home/cking/rhash/ubuntu-wily/arch/x86/include/asm/processor.h:20,
                 from /home/cking/rhash/ubuntu-wily/arch/x86/include/asm/atomic.h:6,
                 from /home/cking/rhash/ubuntu-wily/include/linux/atomic.h:4,
                 from /home/cking/rhash/ubuntu-wily/include/linux/mutex.h:18,
                 from /home/cking/rhash/ubuntu-wily/include/net/af_unix.h:6,
                 from /home/cking/rhash/ubuntu-wily/security/apparmor/include/af_unix.h:15,
                 from /home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:16:
/home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:29:18: warning: passing argument 1 of 'unix_sk' from incompatible pointer type [-Wincompatible-pointer-types]
  AA_BUG(!UNIX_FS(u));
                  ^
/home/cking/rhash/ubuntu-wily/include/asm-generic/bug.h:95:25: note: in definition of macro 'WARN'
  int __ret_warn_on = !!(condition); \
                         ^
/home/cking/rhash/ubuntu-wily/security/apparmor/include/apparmor.h:75:28: note: in expansion of macro 'AA_BUG_FMT'
 #define AA_BUG(X, args...) AA_BUG_FMT((X), "" args )
                            ^
/home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:29:2: note: in expansion of macro 'AA_BUG'
  AA_BUG(!UNIX_FS(u));
  ^
/home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:29:10: note: in expansion of macro 'UNIX_FS'
  AA_BUG(!UNIX_FS(u));
          ^
In file included from /home/cking/rhash/ubuntu-wily/security/apparmor/include/af_unix.h:15:0,
                 from /home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:16:
/home/cking/rhash/ubuntu-wily/include/net/af_unix.h:67:33: note: expected 'struct sock *' but argument is of type 'struct unix_sock *'
 static inline struct unix_sock *unix_sk(struct sock *sk)
                                 ^
In file included from /home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:16:0:
/home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c: In function 'aa_unix_peer_perm':
  CC arch/x86/pci/legacy.o
/home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:529:14: warning: passing argument 1 of 'unix_sk' from incompatible pointer type [-Wincompatible-pointer-types]
  if (UNIX_FS(peeru))
              ^
/home/cking/rhash/ubuntu-wily/security/apparmor/include/af_unix.h:32:37: note: in definition of macro 'UNIX_ANONYMOUS'
 #define UNIX_ANONYMOUS(U) (!unix_sk(U)->addr)
                                     ^
/home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:529:6: note: in expansion of macro 'UNIX_FS'
  if (UNIX_FS(peeru))
      ^
In file included from /home/cking/rhash/ubuntu-wily/security/apparmor/include/af_unix.h:15:0,
                 from /home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:16:
/home/cking/rhash/ubuntu-wily/include/net/af_unix.h:67:33: note: expected 'struct sock *' but argument is of type 'struct unix_sock *'
 static inline struct unix_sock *unix_sk(struct sock *sk)
                                 ^
In file included from /home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:16:0:
/home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:529:14: warning: passing argument 1 of 'unix_sk' from incompatible pointer type [-Wincompatible-pointer-types]
  if (UNIX_FS(peeru))
              ^
/home/cking/rhash/ubuntu-wily/security/apparmor/include/af_unix.h:36:51: note: in definition of macro 'UNIX_FS'
 #define UNIX_FS(U) (!UNIX_ANONYMOUS(U) && unix_sk(U)->addr->name->sun_path[0])
                                                   ^
In file included from /home/cking/rhash/ubuntu-wily/security/apparmor/include/af_unix.h:15:0,
                 from /home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:16:
/home/cking/rhash/ubuntu-wily/include/net/af_unix.h:67:33: note: expected 'struct sock *' but argument is of type 'struct unix_sock *'
 static inline struct unix_sock *unix_sk(struct sock *sk)
                                 ^
In file included from /home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:16:0:
/home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:531:19: warning: passing argument 1 of 'unix_sk' from incompatible pointer type [-Wincompatible-pointer-types]
  else if (UNIX_FS(u))
                   ^
/home/cking/rhash/ubuntu-wily/security/apparmor/include/af_unix.h:32:37: note: in definition of macro 'UNIX_ANONYMOUS'
 #define UNIX_ANONYMOUS(U) (!unix_sk(U)->addr)
                                     ^
/home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:531:11: note: in expansion of macro 'UNIX_FS'
  else if (UNIX_FS(u))
           ^
In file included from /home/cking/rhash/ubuntu-wily/security/apparmor/include/af_unix.h:15:0,
                 from /home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:16:
/home/cking/rhash/ubuntu-wily/include/net/af_unix.h:67:33: note: expected 'struct sock *' but argument is of type 'struct unix_sock *'
 static inline struct unix_sock *unix_sk(struct sock *sk)
                                 ^
In file included from /home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:16:0:
/home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:531:19: warning: passing argument 1 of 'unix_sk' from incompatible pointer type [-Wincompatible-pointer-types]
  else if (UNIX_FS(u))
                   ^
/home/cking/rhash/ubuntu-wily/security/apparmor/include/af_unix.h:36:51: note: in definition of macro 'UNIX_FS'
 #define UNIX_FS(U) (!UNIX_ANONYMOUS(U) && unix_sk(U)->addr->name->sun_path[0])
                                                   ^
In file included from /home/cking/rhash/ubuntu-wily/security/apparmor/include/af_unix.h:15:0,
                 from /home/cking/rhash/ubuntu-wily/security/apparmor/af_unix.c:16:
/home/cking/rhash/ubuntu-wily/include/net/af_unix.h:67:33: note: expected 'struct sock *' but argument is of type 'struct unix_sock *'
 static inline struct unix_sock *unix_sk(struct sock *sk)
                                 ^
  LD sound/drivers/opl3/built-in.o
  CC drivers/acpi/bus.o

Changed in linux (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1526841

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
penalvch (penalvch)
Changed in linux (Ubuntu):
status: Incomplete → Triaged
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.