linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] RFC: use include/asm-generic/bitops.h
@ 2006-01-25 11:26 Akinobu Mita
  2006-01-25 11:28 ` [PATCH 1/6] {set,clear,test}_bit() related cleanup Akinobu Mita
                   ` (5 more replies)
  0 siblings, 6 replies; 41+ messages in thread
From: Akinobu Mita @ 2006-01-25 11:26 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-mips, linux-ia64, Ian Molton, David Howells, linuxppc-dev,
	Greg Ungerer, sparclinux, Miles Bader, Linus Torvalds,
	Yoshinori Sato, Hirokazu Takata, linuxsh-shmedia-dev, linux-m68k,
	Ivan Kokshaysky, Richard Henderson, Chris Zankel, dev-etrax,
	ultralinux, Andi Kleen, linuxsh-dev, linux390, Russell King,
	parisc-linux

Large number of boilerplate bit operations written in C-language
are scattered around include/asm-*/bitops.h.
These patch series gather them into include/asm-generic/bitops.h. And

- kill duplicated code and comment (about 4000lines)
- use better C-language equivalents
- help porting new architecture (now include/asm-generic/bitops.h is not
  referenced from anywhere)

^ permalink raw reply	[flat|nested] 41+ messages in thread
* RE: [PATCH 5/6] fix warning on test_ti_thread_flag()
@ 2006-01-25 17:08 Chen, Kenneth W
  2006-01-25 17:19 ` Geert Uytterhoeven
  0 siblings, 1 reply; 41+ messages in thread
From: Chen, Kenneth W @ 2006-01-25 17:08 UTC (permalink / raw)
  To: Geert Uytterhoeven, Akinobu Mita
  Cc: Linux/MIPS Development, linux-m68k, linux-ia64, Ian Molton,
	Andi Kleen, David Howells, Linux/PPC Development, Greg Ungerer,
	sparclinux, Miles Bader, Yoshinori Sato, Hirokazu Takata,
	linuxsh-shmedia-dev, Linus Torvalds, Ivan Kokshaysky,
	Richard Henderson, Chris Zankel, dev-etrax, ultralinux,
	Linux Kernel Development, linuxsh-dev, linux390, Russell King,
	parisc-linux

Geert Uytterhoeven wrote on Wednesday, January 25, 2006 4:29 AM
> On Wed, 25 Jan 2006, Akinobu Mita wrote:
> > If the arechitecture is
> > - BITS_PER_LONG =3D=3D 64
> > - struct thread_info.flag 32 is bits
> > - second argument of test_bit() was void *
> >=20
> > Then compiler print error message on test_ti_thread_flags()
> > in include/linux/thread_info.h
> >=20
> > Signed-off-by: Akinobu Mita <mita@miraclelinux.com>
> > ---
> >  thread_info.h |    2 +-
> >  1 files changed, 1 insertion(+), 1 deletion(-)
> >=20
> > Index: 2.6-git/include/linux/thread_info.h
> > =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> > --- 2.6-git.orig/include/linux/thread_info.h	2006-01-25
19:07:12.000000000 +0900
> > +++ 2.6-git/include/linux/thread_info.h	2006-01-25
19:14:26.000000000 +0900
> > @@ -49,7 +49,7 @@
> > =20
> >  static inline int test_ti_thread_flag(struct thread_info *ti, int
flag)
> >  {
> > -	return test_bit(flag,&ti->flags);
> > +	return test_bit(flag, (void *)&ti->flags);
> >  }
>=20
> This is not safe. The bitops are defined to work on unsigned long
only, so
> flags should be changed to unsigned long instead, or you should use a
> temporary.
>=20
> Affected platforms:
>   - alpha: flags is unsigned int
>   - ia64, sh, x86_64: flags is __u32
>=20
> The only affected 64-platforms are little endian, so it will silently
work
> after your change, though...

I thought test_bit can operate on array beyond unsigned long.
It's perfectly legitimate to do: test_bit(999, bit_array) as
long as bit_array is indeed big enough to hold 999 bits.  It
is the responsibility of the caller to make sure that the
underlying array is big enough for the bit that is being tested.

I don't think you need to change the flags size.

- Ken

^ permalink raw reply	[flat|nested] 41+ messages in thread

end of thread, other threads:[~2006-01-30 23:03 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-01-25 11:26 [PATCH 0/6] RFC: use include/asm-generic/bitops.h Akinobu Mita
2006-01-25 11:28 ` [PATCH 1/6] {set,clear,test}_bit() related cleanup Akinobu Mita
2006-01-26 16:14   ` Pavel Machek
2006-01-26 16:47     ` Russell King
2006-01-26 19:14     ` Paul Jackson
2006-01-25 11:30 ` [PATCH 2/6] use non atomic operations for minix_*_bit() and ext2_*_bit() Akinobu Mita
2006-01-25 11:32 ` [PATCH 3/6] C-language equivalents of include/asm-*/bitops.h Akinobu Mita
2006-01-25 11:54   ` Keith Owens
2006-01-26  2:13     ` Akinobu Mita
2006-01-25 20:02   ` Russell King
2006-01-25 23:25     ` Ian Molton
2006-01-26  0:06     ` Richard Henderson
2006-01-26  4:34       ` Edgar Toernig
2006-01-26 17:30         ` Richard Henderson
2006-01-26  8:55       ` Russell King
2006-01-26 16:18         ` [parisc-linux] " Grant Grundler
2006-01-26 16:30           ` Nicolas Pitre
2006-01-26 16:40           ` Russell King
2006-01-26 23:04             ` Grant Grundler
2006-01-26 23:03               ` Russell King
2006-01-29  7:12                 ` Stuart Brady
2006-01-30  4:03                   ` David S. Miller
2006-01-30 17:06                   ` Ralf Baechle
2006-01-30 19:50                     ` Stuart Brady
2006-01-30 23:02                       ` David S. Miller
2006-01-27  0:28               ` [parisc-linux] Re: [PATCH 3/6] C-language equivalents of John David Anglin
2006-01-27 12:51   ` [PATCH 3/6] C-language equivalents of include/asm-*/bitops.h Hirokazu Takata
2006-01-30  3:29     ` Akinobu Mita
2006-01-25 11:34 ` [PATCH 5/6] fix warning on test_ti_thread_flag() Akinobu Mita
2006-01-25 12:28   ` Geert Uytterhoeven
2006-01-25 22:28   ` Paul Mackerras
2006-01-26  0:04     ` David S. Miller
2006-01-25 11:35 ` [PATCH 6/6] remove unused generic bitops in include/linux/bitops.h Akinobu Mita
     [not found] ` <20060125113336.GE18584@miraclelinux.com>
2006-01-26  1:49   ` [PATCH 4/6] use include/asm-generic/bitops for each architecture Akinobu Mita
2006-01-27 13:04     ` Hirokazu Takata
2006-01-30  3:15       ` Akinobu Mita
  -- strict thread matches above, loose matches on Subject: below --
2006-01-25 17:08 [PATCH 5/6] fix warning on test_ti_thread_flag() Chen, Kenneth W
2006-01-25 17:19 ` Geert Uytterhoeven
2006-01-25 20:02   ` Chen, Kenneth W
2006-01-26  3:50     ` Akinobu Mita
2006-01-26  4:12       ` Paul Mackerras

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).