linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kishon@ti.com
Cc: linux-omap@vger.kernel.org
Subject: re: usb: musb: omap: Add device tree support for omap musb glue
Date: Tue, 10 Jun 2014 22:02:34 +0300	[thread overview]
Message-ID: <20140610182900.GA7569@mwanda> (raw)

Hello Kishon Vijay Abraham I,

The patch 00a0b1d58af873d8: "usb: musb: omap: Add device tree support
for omap musb glue", from Sep 11 2012, leads to the following static
checker warning:

	drivers/usb/musb/omap2430.c:569 omap2430_probe()
	warn: does endianness matter for 'config->num_eps'?

drivers/usb/musb/omap2430.c
   565  
   566                  of_property_read_u32(np, "mode", (u32 *)&pdata->mode);
   567                  of_property_read_u32(np, "interface-type",
   568                                                  (u32 *)&data->interface_type);
   569                  of_property_read_u32(np, "num-eps", (u32 *)&config->num_eps);
                                                                    ^^^^^^^^^^^^^^^

This is not endian safe, but more importantly ->num_eps is a u8 so when
we write 32 bits to it, we are corrupting ->dma_channels,
->dyn_fifo_size, and ->vendor_ctrl.  On little endian, it's going to be
setting them to zero so it might not cause and immediate problem.

The way to do this is to use a 32 bit temporary variable and then save
the value to ->num_eps afterward.  Create a small function to do this in
a nice way.

All the casts here are a bit scary.

   570                  of_property_read_u32(np, "ram-bits", (u32 *)&config->ram_bits);
   571                  of_property_read_u32(np, "power", (u32 *)&pdata->power);

regards,
dan carpenter

             reply	other threads:[~2014-06-10 19:02 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-10 19:02 Dan Carpenter [this message]
2014-06-13 11:11 ` usb: musb: omap: Add device tree support for omap musb glue Kishon Vijay Abraham I

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140610182900.GA7569@mwanda \
    --to=dan.carpenter@oracle.com \
    --cc=kishon@ti.com \
    --cc=linux-omap@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).