Public bug reported: 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 <acon...@bytheb.org> 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 <acon...@bytheb.org> Signed-off-by: David S. Miller <da...@davemloft.net> 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 ** Affects: linux (Ubuntu) Importance: Medium Status: New ** Changed in: linux (Ubuntu) Importance: Undecided => Medium -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1526841 Title: build warnings because of commit 4613012db1d911f80897f Status in linux package in Ubuntu: New 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 <acon...@bytheb.org> 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 <acon...@bytheb.org> Signed-off-by: David S. Miller <da...@davemloft.net> 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 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1526841/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp