Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a87a87ccdc541e0a0cc8c7d01a365be8d9153a7b
Commit:     a87a87ccdc541e0a0cc8c7d01a365be8d9153a7b
Parent:     1b678347121001c3c230c6eccfdf9f65c3ec1a4e
Author:     Benjamin Herrenschmidt <[EMAIL PROTECTED]>
AuthorDate: Fri Oct 19 00:30:05 2007 +0200
Committer:  Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
CommitDate: Fri Oct 19 00:30:05 2007 +0200

    ide: Fix siimage driver accessing beyond array boundary
    
    The siimage uses an incorrect construct to access the other drive of a pair,
    causing it to access beyond an array boundary on the secondary interface.
    
    This fixes it by using the new ide_get_paired_drive() helper instead.
    
    Bart: patch description fixes
    
    Signed-off-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]>
    Cc: Andrew Morton <[EMAIL PROTECTED]>
    Acked-by: Sergei Shtylyov <[EMAIL PROTECTED]>
    Signed-off-by: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
---
 drivers/ide/pci/siimage.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/ide/pci/siimage.c b/drivers/ide/pci/siimage.c
index 85d0afd..8254260 100644
--- a/drivers/ide/pci/siimage.c
+++ b/drivers/ide/pci/siimage.c
@@ -180,7 +180,7 @@ static void sil_set_pio_mode(ide_drive_t *drive, u8 pio)
        const u16 data_speed[]  = { 0x328a, 0x2283, 0x1104, 0x10c3, 0x10c1 };
 
        ide_hwif_t *hwif        = HWIF(drive);
-       ide_drive_t *pair       = &hwif->drives[drive->dn ^ 1];
+       ide_drive_t *pair       = ide_get_paired_drive(drive);
        u32 speedt              = 0;
        u16 speedp              = 0;
        unsigned long addr      = siimage_seldev(drive, 0x04);
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to