History

Merge tag 'firewire-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394

Pull firewire fix from Stefan Richter: "IEEE 1394 (FireWire) subsystem fix: The character device file interface for raw 1394 I/O took uninitialized kernel stack as substitute for missing ioctl() argument data. This could partially show up in subsequent read() output" * tag 'firewire-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394: firewire: cdev: prevent kernel stack leaking into ioctl arguments

Linus Torvalds committed 12 years ago

Commit f720d7d2 parents 3865efc eaca2d81 file · +1 −2Browse files

Unified · Split

drivers/firewire/core-cdev.c+1−2
@@ -1637,8 +1637,7 @@ static int dispatch_ioctl(struct client *client, · 1636 unmodified lines
1637 _IOC_SIZE(cmd) > sizeof(buffer))1637 _IOC_SIZE(cmd) > sizeof(buffer))
1638 return -ENOTTY;1638 return -ENOTTY;
1639 1639
1640 if (_IOC_DIR(cmd) == _IOC_READ)1640 memset(&buffer, 0, sizeof(buffer));
1641 memset(&buffer, 0, _IOC_SIZE(cmd));
1642 1641
1643 if (_IOC_DIR(cmd) & _IOC_WRITE)1642 if (_IOC_DIR(cmd) & _IOC_WRITE)
1644 if (copy_from_user(&buffer, arg, _IOC_SIZE(cmd)))1643 if (copy_from_user(&buffer, arg, _IOC_SIZE(cmd)))