mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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;
>
> ...
>

  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