Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932617AbcCHJME (ORCPT ); Tue, 8 Mar 2016 04:12:04 -0500 Received: from www.linutronix.de ([62.245.132.108]:49680 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932346AbcCHJLu (ORCPT ); Tue, 8 Mar 2016 04:11:50 -0500 Date: Tue, 8 Mar 2016 10:10:21 +0100 (CET) From: Thomas Gleixner To: Daniel Wagner cc: Michal Marek , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, Ingo Molnar , Daniel Wagner Subject: Re: [PATCH] kbuild: Add option to turn incompatible pointer check into error In-Reply-To: <1457425749-24110-1-git-send-email-wagi@monom.org> Message-ID: References: <1457425749-24110-1-git-send-email-wagi@monom.org> User-Agent: Alpine 2.11 (DEB 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001,URIBL_BLOCKED=0.001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1374 Lines: 29 On Tue, 8 Mar 2016, Daniel Wagner wrote: > From: Daniel Wagner > > With the introduction of the simple wait API we have two very > similar APIs in the kernel. For example wake_up() and swake_up() > is only one character away. Although the compiler will warn > happily the wrong usage it keeps on going an even links the kernel. > Thomas and Peter would rather like to see early missuses reported > as error early on. > > In a first attempt we tried to wrap all swait and wait calls > into a macro which has an compile time type assertion. The result > was pretty ugly and wasn't able to catch all wrong usages. > woken_wake_function(), autoremove_wake_function() and wake_bit_function() > are assigned as function pointers. Wrapping them with a macro around is > not possible. Prefixing them with '_' was also not a real option > because there some users in the kernel which do use them as well. > All in all this attempt looked to intrusive and too ugly. > > An alternative is to turn the pointer type check into an error which > catches wrong type uses. Obviously not only the swait/wait ones. That > isn't a bad thing either. > > Signed-off-by: Daniel Wagner > Acked-by: Peter Zijlstra (Intel) > Cc: Thomas Gleixner Acked-by: Thomas Gleixner