Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp3081627pxk; Mon, 7 Sep 2020 02:36:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxcSQaPXRO8rB1Cx5/h6XW4yKapNZtMcLBoGqLUtv9+q8rxlzpGBAJtSWV7PKoNvcw87Z3k X-Received: by 2002:a17:906:1c5b:: with SMTP id l27mr21032897ejg.283.1599471415533; Mon, 07 Sep 2020 02:36:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1599471415; cv=none; d=google.com; s=arc-20160816; b=ECzJxFLReXI1ixHTKcMtAsBwZeTD08BbKXwdT4tfbl+/ZQU2N6yA7nfzFFHEvHjng2 5cRY/n/hNbUpEH9i/N4Lo4Jj4VsAehPcqsedbw82A9qT4zXiXe1w6AnA7m51OUDNPYMI E5LpZR4pWE9m708oyX1e0qhnfBiuHn7GY9ENeRJ1zxpWmdsD29WSEQ7lqUL89JyzM9jE XboC0/k6tt0Xz55XFgNorTfpBCjDI6methUiA3qdvESojLv/+WiN4ZCQlQfYEhPAAxvB g6K7ENapc1jlch0mgGvUtVDhqgdRYJqVUaJELPjC4iPvezfX957d4sU+/y/ym1P3NYm5 M5aQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=+fnbkqkgax+Du6/NZzWERXY2G9II2CZJH15APGh2ZXo=; b=EEIkbJ6TA+UHj53VRwUjcxDIwxtLn8B3asZI4g13ov4X+I8LR4llDiyCnjSLMaeyo+ Ty4RrEA7w+1uye+p+IPW4/aeG4nGPfjUQT6WtT5stKjswHh9Kwd1Gbdbkb8M0BMC5fwG gv+/q9mXE2tP99LQyotGXp9jdmKex+t04RXTYP6ShhRPQ/9ZcWLuqH+RG3SyCw9GFZau Qgm9caR0nCw5zQKYIaTxTTfv6dX/WArj6k4LENeQPBZCPrXu3Y+erS0kGFFe1Io9mvWU yXToaGKxA1oOAGXl1Vj6DkY0RtgdJUK8acMOnfD/+TsQ6XOdHbsf9xx+f4B085guBgvY Jp1g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v26si9573354ejr.748.2020.09.07.02.36.32; Mon, 07 Sep 2020 02:36:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728371AbgIGJc7 (ORCPT + 99 others); Mon, 7 Sep 2020 05:32:59 -0400 Received: from sym2.noone.org ([178.63.92.236]:34848 "EHLO sym2.noone.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727122AbgIGJcz (ORCPT ); Mon, 7 Sep 2020 05:32:55 -0400 Received: by sym2.noone.org (Postfix, from userid 1002) id 4BlNP16llxzvjc1; Mon, 7 Sep 2020 11:32:53 +0200 (CEST) From: Tobias Klauser To: Andrew Morton Cc: Kees Cook , Alexander Popov , linux-kernel@vger.kernel.org, Christoph Hellwig , Al Viro Subject: [PATCH] stackleak: let stack_erasing_sysctl take a kernel pointer buffer Date: Mon, 7 Sep 2020 11:32:53 +0200 Message-Id: <20200907093253.13656-1-tklauser@distanz.ch> X-Mailer: git-send-email 2.11.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit 32927393dc1c ("sysctl: pass kernel pointers to ->proc_handler") changed ctl_table.proc_handler to take a kernel pointer. Adjust the signature of stack_erasing_sysctl to match ctl_table.proc_handler which fixes the following sparse warning: kernel/stackleak.c:31:50: warning: incorrect type in argument 3 (different address spaces) kernel/stackleak.c:31:50: expected void * kernel/stackleak.c:31:50: got void [noderef] __user *buffer Fixes: 32927393dc1c ("sysctl: pass kernel pointers to ->proc_handler") Cc: Christoph Hellwig Cc: Al Viro Signed-off-by: Tobias Klauser --- include/linux/stackleak.h | 2 +- kernel/stackleak.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/stackleak.h b/include/linux/stackleak.h index 3d5c3271a9a8..a59db2f08e76 100644 --- a/include/linux/stackleak.h +++ b/include/linux/stackleak.h @@ -25,7 +25,7 @@ static inline void stackleak_task_init(struct task_struct *t) #ifdef CONFIG_STACKLEAK_RUNTIME_DISABLE int stack_erasing_sysctl(struct ctl_table *table, int write, - void __user *buffer, size_t *lenp, loff_t *ppos); + void *buffer, size_t *lenp, loff_t *ppos); #endif #else /* !CONFIG_GCC_PLUGIN_STACKLEAK */ diff --git a/kernel/stackleak.c b/kernel/stackleak.c index a8fc9ae1d03d..ce161a8e8d97 100644 --- a/kernel/stackleak.c +++ b/kernel/stackleak.c @@ -20,7 +20,7 @@ static DEFINE_STATIC_KEY_FALSE(stack_erasing_bypass); int stack_erasing_sysctl(struct ctl_table *table, int write, - void __user *buffer, size_t *lenp, loff_t *ppos) + void *buffer, size_t *lenp, loff_t *ppos) { int ret = 0; int state = !static_branch_unlikely(&stack_erasing_bypass); -- 2.27.0