Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965180AbcJXNXi (ORCPT ); Mon, 24 Oct 2016 09:23:38 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:44949 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S938933AbcJXNXh (ORCPT ); Mon, 24 Oct 2016 09:23:37 -0400 Date: Mon, 24 Oct 2016 15:23:41 +0200 From: Greg KH To: mzoran@crowfest.net Cc: daniels@collabora.com, eric@anholt.net, noralf@tronnes.org, popcornmix@gmail.com, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/2] staging: vc04_services: Fix unportable cast in vchiq_copy_from_user Message-ID: <20161024132341.GA20116@kroah.com> References: <20161024052918.28205-1-mzoran@crowfest.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20161024052918.28205-1-mzoran@crowfest.net> User-Agent: Mutt/1.7.1 (2016-10-04) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1271 Lines: 34 On Sun, Oct 23, 2016 at 10:29:18PM -0700, mzoran@crowfest.net wrote: > From: Michael Zoran > > Signed-off-by: Michael Zoran > --- > drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c > index 32d12e6..98c6819 100644 > --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c > +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c > @@ -219,7 +219,7 @@ remote_event_signal(REMOTE_EVENT_T *event) > int > vchiq_copy_from_user(void *dst, const void *src, int size) > { > - if ((uint32_t)src < TASK_SIZE) { > + if ((unsigned long)src < TASK_SIZE) { > return copy_from_user(dst, src, size); > } else { > memcpy(dst, src, size); Ick, that's horrid. And I can't take patches without a changelog text. Please fix up the callers to do the right thing, this shouldn't be a wrapper function at all, especially given the mess of a cast as Dan points out. Just call the correct copy_from_user() call and handle the correct error return value. thanks, greg k-h