aboutsummaryrefslogtreecommitdiff
path: root/drivers/ide/ide-ioctls.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-06-29 20:07:43 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2009-06-29 20:07:43 -0700
commit5a4f13fad1ab5bd08dea78fc55321e429d83cddf (patch)
tree4474bf39b945b5a672e940080b17bdcbc04e1d15 /drivers/ide/ide-ioctls.c
parentec9c45d456fd7f1e400c75e6c8040d1deb9d4fff (diff)
parente18ed145c7f556f1de8350c32739bf35b26df705 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6: ide: memory overrun in ide_get_identity_ioctl() on big endian machines using ioctl HDIO_OBSOLETE_IDENTITY ide: fix resume for CONFIG_BLK_DEV_IDEACPI=y ide-cd: handle fragmented packet commands gracefully ide: always kill the whole request on error ide: fix ide_kill_rq() for special ide-{floppy,tape} driver requests
Diffstat (limited to 'drivers/ide/ide-ioctls.c')
-rw-r--r--drivers/ide/ide-ioctls.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/ide/ide-ioctls.c b/drivers/ide/ide-ioctls.c
index 82f252c3ee6..e246d3d3fbc 100644
--- a/drivers/ide/ide-ioctls.c
+++ b/drivers/ide/ide-ioctls.c
@@ -64,7 +64,8 @@ static int ide_get_identity_ioctl(ide_drive_t *drive, unsigned int cmd,
goto out;
}
- id = kmalloc(size, GFP_KERNEL);
+ /* ata_id_to_hd_driveid() relies on 'id' to be fully allocated. */
+ id = kmalloc(ATA_ID_WORDS * 2, GFP_KERNEL);
if (id == NULL) {
rc = -ENOMEM;
goto out;