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]
Message-ID: <20100126150609.GA24349@emergent.ellipticsemi.com>
Date:	Tue, 26 Jan 2010 10:06:09 -0500
From:	Nick Bowler <nbowler@...iptictech.com>
To:	James Kosin <james.kosin.04@....edu>
Cc:	Joe Perches <joe@...ches.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 23/24] drivers/block/floppy.c: Add function
 is_ready_state

On 20:26 Mon 25 Jan     , James Kosin wrote:
> On 1/23/2010 3:46 PM, Joe Perches wrote:
> > On Sat, 2010-01-23 at 12:32 -0500, James Kosin wrote:
> >    
> >> On 1/22/2010 12:00 AM, Joe Perches wrote:
> >>      
> >>> +static bool is_ready_state(int status)
> >>> +{
> >>> +	int state = status&   (STATUS_READY | STATUS_DIR | STATUS_DMA);
> >>> +	return state == STATUS_READY;
> >>> +}
> >>> +
> >>>        
> >> This should probably be simplified to:
> >>
> >> static bool is_ready_state(int status)
> >> {
> >> 	return ((state&  STATUS_READY) == STATUS_READY);
> >> }
> >>      
> > Certainly not.
> > That wouldn't be the same code.
> >
> > include/linux/fdreg.h:#define STATUS_DMA	0x20		/* 0- DMA mode */
> > include/linux/fdreg.h:#define STATUS_DIR	0x40		/* 0- cpu->fdc */
> > include/linux/fdreg.h:#define STATUS_READY	0x80		/* Data reg ready */
> >    
> Read the code....
> 
> It simplifies what is already there.  The two other status flags make no 
> difference in the test for equality with STATUS_READY.

Sure they do: the old code tests that the STATUS_READY is set and
both STATUS_DMA and STATUS_DIR bits are clear.  So, for example, if
STATUS_READY and STATUS_DMA are both set, then the old test will return
false.

Your "simplification" has removed the check for those clear bits, and
will return true even if all three bits are set.

-- 
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)
--
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