lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Fri, 30 Mar 2007 18:01:03 +0530
From:	"Milind Arun Choudhary" <milindchoudhary@...il.com>
To:	"Richard Knutsson" <ricknu-0@...dent.ltu.se>,
	"Alexey Dobriyan" <adobriyan@...il.com>
Cc:	kernel-janitors@...ts.osdl.org, linux-kernel@...r.kernel.org,
	akpm@...ux-foundation.org, dmitry.torokhov@...il.com,
	linux-input@...ey.karlin.mff.cuni.cz,
	linux-joystick@...ey.karlin.mff.cuni.cz
Subject: Re: [KJ][PATCH] BIT macro cleanup

On 3/29/07, Richard Knutsson <ricknu-0@...dent.ltu.se> wrote:
> Alexey Dobriyan wrote:
> > On Wed, Mar 28, 2007 at 09:03:09AM +0530, Milind Arun Choudhary wrote:
> >
> >> +#define BIT(nr)	(1UL << ((nr) % BITS_PER_LONG))
> >>
> >
> > I think this would be a disaster because something like
> >
> > 	BIT(123)
> >
> > would not even generate a warning.
> >
> There were a discussion on this, at KJ, when BIT was first used with a
> modular operation. I said the same thing as you do now, but a big user
> of BIT is the input-subsystem who defined their BIT as above. Also it
> was mentioned that the compiler can only find the statical errors, a
> variable input can break it in runtime.
> + if we _really_ want to check the tree for such warnings, it is easy to
> remove the modular operation temporarily (and keep away of input/)
>
> I don't say I like this, just that it is a choose between possible errors.
as discussed in earlier thread there are two kinds of users of BIT
1. input sybsystem which needs the "% BITS_PER_LONG"
2. & all other who don't, so that they are warned when the bit no overflows
I think a simple macro cant serve both the purposes

so IMHO there should be two macros
 +#define BIT(nr)	(1UL << (nr))
which server the first case

&
 +#define XXXBITXXX(nr)	(1UL << ((nr) % BITS_PER_LONG))
for input users
earlier i suggested a name BITWRAP
but some people hate it i think
'm fine with any other name as well
inputs....suggest a name

so that we can still keep these two macros (along with LLBIT) in
bitops.h & use apporpriately

only hassle is the whole input tree is to be searched & replaced for BIT
is this OK

-- 
Milind Arun Choudhary
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ