Re: [PATCH] ide_dma_speed() fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello.

Andrew Morton wrote:

ide_dma_speed() fails to actually honor the IDE drivers' mode support masks) because of the bogus checks -- thus, selecting the DMA transfer mode that the driver explicitly refuses to support is possible. Additionally, there is no check for validity of the UltraDMA mode data in the drive ID, and the function is misdocumented.

drivers/ide/ide-lib.c: In function `ide_dma_speed':
drivers/ide/ide-lib.c:86: warning: `ultra_mask' might be used uninitialized in this function

Looks like a real bug to me - it depends up on the values of `mode' and
id->field_value.

Anyway, I'll drop it, please review and fix.  I assume that warning was
occurring for you as well - please spend more time over these things. Especially when working on IDE, where bugs are slow to show themselves and
have particularly bad consequences.

That's what gcc thinks. The code is 100% correct -- it will never reach the switch statement with mode > 0 (in which case ultra_mask isn't used) and ultra_mask unitialized. I may add an explicit initializer in the declaration if you like...

MBR, Sergei
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux