From: Andrew Morton <akpm@linux-foundation.org>
To: Michal Nazarewicz <mpn@google.com>
Cc: Evgeniy Polyakov <zbr@ioremap.net>,
linux-kernel@vger.kernel.org,
Michal Nazarewicz <mina86@mina86.com>
Subject: Re: [PATCH] drivers: w1: make w1_slave::flags long to avoid casts
Date: Wed, 30 Oct 2013 15:59:38 -0700 [thread overview]
Message-ID: <20131030155938.0f5416fe3c5c2cbd3f9cd319@linux-foundation.org> (raw)
In-Reply-To: <5083d6c8452b765cb33acdf03fa9b20b1d15c452.1382788496.git.mina86@mina86.com>
On Sat, 26 Oct 2013 12:56:11 +0100 Michal Nazarewicz <mpn@google.com> wrote:
> From: Michal Nazarewicz <mina86@mina86.com>
>
> Changing flags field of the w1_slave to unsigned long may on
> some architectures increase the size of the structure, but
> otherwise makes the code more kosher as casting is avoided
> and *_bit family of calls do not attempt to operate on an
> entity of bigger size than realy is available.
>
> The current behaviour does not introduce any bugs (since any
> bytes past flags field are preserved)
hm, what does this mean....
> --- a/drivers/w1/w1.c
> +++ b/drivers/w1/w1.c
> @@ -709,7 +709,7 @@ static int w1_attach_slave_device(struct w1_master *dev, struct w1_reg_num *rn)
>
> sl->owner = THIS_MODULE;
> sl->master = dev;
> - set_bit(W1_SLAVE_ACTIVE, (long *)&sl->flags);
> + set_bit(W1_SLAVE_ACTIVE, &sl->flags);
... I'd have though that running this code on little-endian 64-bit
would result in a scribble over ...
> --- a/drivers/w1/w1.h
> +++ b/drivers/w1/w1.h
> @@ -67,8 +67,8 @@ struct w1_slave
> struct w1_reg_num reg_num;
> atomic_t refcnt;
> u8 rom[9];
> - u32 flags;
> int ttl;
... w1_slave.ttl?
> + unsigned long flags;
>
> struct w1_master *master;
> struct w1_family *family;
>
> ...
>
next prev parent reply other threads:[~2013-10-30 22:59 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-26 11:56 Michal Nazarewicz
2013-10-30 22:59 ` Andrew Morton [this message]
2013-10-31 9:11 ` Michal Nazarewicz
2013-11-01 16:01 ` Evgeniy Polyakov
2013-11-01 19:30 ` Andrew Morton
2013-11-02 4:10 ` Рустафа Джамурахметов
2013-11-02 16:58 ` Michal Nazarewicz
2013-11-02 17:19 ` Рустафа Джамурахметов
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=20131030155938.0f5416fe3c5c2cbd3f9cd319@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mina86@mina86.com \
--cc=mpn@google.com \
--cc=zbr@ioremap.net \
/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
Powered by JetHome