From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olivier Sobrie Subject: Re: [can:for-davem 2/3] drivers/net/can/usb/kvaser_usb.c:431 kvaser_usb_send_simple_msg() error: doing dma on the stack ((null)) Date: Thu, 22 Nov 2012 15:46:48 +0100 Message-ID: <20121122144648.GA11612@hposo> References: <50ae18f9.g1Qzcmfv5xzx4tke%fengguang.wu@intel.com> <50AE231A.2040306@pengutronix.de> Reply-To: Olivier Sobrie Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from mail-ee0-f46.google.com ([74.125.83.46]:43122 "EHLO mail-ee0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756102Ab2KVS5u (ORCPT ); Thu, 22 Nov 2012 13:57:50 -0500 Received: by mail-ee0-f46.google.com with SMTP id e53so3046322eek.19 for ; Thu, 22 Nov 2012 10:57:49 -0800 (PST) Content-Disposition: inline In-Reply-To: <50AE231A.2040306@pengutronix.de> Sender: linux-can-owner@vger.kernel.org List-ID: To: Marc Kleine-Budde Cc: linux-can@vger.kernel.org Hi Marc, Argh. On Thu, Nov 22, 2012 at 02:05:30PM +0100, Marc Kleine-Budde wrote: > Hello Olivier, > > can you please ask on the usb mailinglist how to fix this problem (given > this isn't a false positive) Ok I'll ask. By googling I found this which looks to be a similar problem fixed in another driver. http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=32ec4576c3fb37316b1d11a04b220527822f3f0d I assume I've to kmalloc the kvaser_msg I send through kvaser_usb_send_msg(). I'll ask to people of linux-usb to be sure. By the way I installed smatch (which I never used) and ran the command make CHECK="~/bin/smatch -p=kernel" C=1" in my kernel dir but I didn't get the error: CHECK drivers/net/can/usb/kvaser_usb.c CC [M] drivers/net/can/usb/kvaser_usb.o Do I've to give a specific option to smatch to get this error? Thanks, Olivier > > Marc > > On 11/22/2012 01:22 PM, kbuild test robot wrote: > > tree: git://gitorious.org/linux-can/linux-can-next for-davem > > head: 21c837dccb1b249864b9c8475f51dad355b42554 > > commit: f0fbcc3bab6ff298bbb8c91de2ddf2824996181f [2/3] can: kvaser_usb: Add support for Kvaser CAN/USB devices > > > > > > smatch warnings: > > > > + drivers/net/can/usb/kvaser_usb.c:431 kvaser_usb_send_simple_msg() error: doing dma on the stack ((null)) > > + drivers/net/can/usb/kvaser_usb.c:1073 kvaser_usb_set_opt_mode() error: doing dma on the stack ((null)) > > + drivers/net/can/usb/kvaser_usb.c:1174 kvaser_usb_flush_queue() error: doing dma on the stack ((null)) > > + drivers/net/can/usb/kvaser_usb.c:1384 kvaser_usb_set_bittiming() error: doing dma on the stack ((null)) > > > > vim +431 drivers/net/can/usb/kvaser_usb.c > > > > f0fbcc3b Olivier Sobrie 2012-11-21 415 end: > > f0fbcc3b Olivier Sobrie 2012-11-21 416 kfree(buf); > > f0fbcc3b Olivier Sobrie 2012-11-21 417 > > f0fbcc3b Olivier Sobrie 2012-11-21 418 return err; > > f0fbcc3b Olivier Sobrie 2012-11-21 419 } > > f0fbcc3b Olivier Sobrie 2012-11-21 420 > > f0fbcc3b Olivier Sobrie 2012-11-21 421 static int kvaser_usb_send_simple_msg(const struct kvaser_usb *dev, > > f0fbcc3b Olivier Sobrie 2012-11-21 422 u8 msg_id, int channel) > > f0fbcc3b Olivier Sobrie 2012-11-21 423 { > > f0fbcc3b Olivier Sobrie 2012-11-21 424 struct kvaser_msg msg = { > > f0fbcc3b Olivier Sobrie 2012-11-21 425 .len = MSG_HEADER_LEN + sizeof(struct kvaser_msg_simple), > > f0fbcc3b Olivier Sobrie 2012-11-21 426 .id = msg_id, > > f0fbcc3b Olivier Sobrie 2012-11-21 427 .u.simple.channel = channel, > > f0fbcc3b Olivier Sobrie 2012-11-21 428 .u.simple.tid = 0xff, > > f0fbcc3b Olivier Sobrie 2012-11-21 429 }; > > f0fbcc3b Olivier Sobrie 2012-11-21 430 > > f0fbcc3b Olivier Sobrie 2012-11-21 @431 return kvaser_usb_send_msg(dev, &msg); > > f0fbcc3b Olivier Sobrie 2012-11-21 432 } > > f0fbcc3b Olivier Sobrie 2012-11-21 433 > > f0fbcc3b Olivier Sobrie 2012-11-21 434 static int kvaser_usb_get_software_info(struct kvaser_usb *dev) > > f0fbcc3b Olivier Sobrie 2012-11-21 435 { > > f0fbcc3b Olivier Sobrie 2012-11-21 436 struct kvaser_msg msg; > > f0fbcc3b Olivier Sobrie 2012-11-21 437 int err; > > f0fbcc3b Olivier Sobrie 2012-11-21 438 > > f0fbcc3b Olivier Sobrie 2012-11-21 439 err = kvaser_usb_send_simple_msg(dev, CMD_GET_SOFTWARE_INFO, 0); > > > > --- > > 0-DAY kernel build testing backend Open Source Technology Center > > Fengguang Wu, Yuanhan Liu Intel Corporation > > > > > -- > Pengutronix e.K. | Marc Kleine-Budde | > Industrial Linux Solutions | Phone: +49-231-2826-924 | > Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | > Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de | > -- Olivier