From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933742AbdJRCEw (ORCPT ); Tue, 17 Oct 2017 22:04:52 -0400 Received: from mail-pf0-f169.google.com ([209.85.192.169]:55662 "EHLO mail-pf0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753011AbdJRCEt (ORCPT ); Tue, 17 Oct 2017 22:04:49 -0400 X-Google-Smtp-Source: AOwi7QCI54c7Oiu9YG5f4dDpn3MydiGNTfS56o/EsWmznlqSyg8AEMyMVDyXWSMidxOoD1b3OvTvHg== From: Kees Cook To: Jessica Yu Cc: Kees Cook , Arnd Bergmann , linux-kernel@vger.kernel.org Subject: [PATCH 3/3] module: Do not paper over type mismatches in module_param_call() Date: Tue, 17 Oct 2017 19:04:43 -0700 Message-Id: <1508292283-140003-4-git-send-email-keescook@chromium.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1508292283-140003-1-git-send-email-keescook@chromium.org> References: <1508292283-140003-1-git-send-email-keescook@chromium.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The module_param_call() macro was explicitly casting the .set and .get function prototypes away. This can lead to hard-to-find type mismatches. Now that all the function prototypes have been fixed tree-wide, we can drop these casts, and use named initializers too. Signed-off-by: Kees Cook --- include/linux/moduleparam.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/moduleparam.h b/include/linux/moduleparam.h index 037a90a522a5..20386252fe3e 100644 --- a/include/linux/moduleparam.h +++ b/include/linux/moduleparam.h @@ -227,9 +227,9 @@ struct kparam_array VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } } /* Obsolete - use module_param_cb() */ -#define module_param_call(name, set, get, arg, perm) \ +#define module_param_call(name, _set, _get, arg, perm) \ static const struct kernel_param_ops __param_ops_##name = \ - { .flags = 0, (void *)set, (void *)get }; \ + { .flags = 0, .set = _set, .get = _get }; \ __module_param_call(MODULE_PARAM_PREFIX, \ name, &__param_ops_##name, arg, perm, -1, 0) -- 2.7.4