diff options
author | Kees Cook <keescook@chromium.org> | 2017-02-13 19:25:26 -0500 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2017-02-14 10:29:56 -0500 |
commit | 853fe1bf7554155376bb3b231112cdff9ff79177 (patch) | |
tree | 7d8b38a77574919d078443cecffcae9dd380a692 /drivers/cdrom/gdrom.c | |
parent | d1a987f35ebf859a771ac530e95a89933b6fcce8 (diff) |
cdrom: Make device operations read-only
Since function tables are a common target for attackers, it's best to keep
them in read-only memory. As such, this makes the CDROM device ops tables
const. This drops additionally n_minors, since it isn't used meaningfully,
and sets the only user of cdrom_dummy_generic_packet explicitly so the
variables can all be const.
Inspired by similar changes in grsecurity/PaX.
Signed-off-by: Kees Cook <keescook@chromium.org>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'drivers/cdrom/gdrom.c')
-rw-r--r-- | drivers/cdrom/gdrom.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/cdrom/gdrom.c b/drivers/cdrom/gdrom.c index 46ecd95d7161..1afab6558d0c 100644 --- a/drivers/cdrom/gdrom.c +++ b/drivers/cdrom/gdrom.c | |||
@@ -481,7 +481,7 @@ static int gdrom_audio_ioctl(struct cdrom_device_info *cdi, unsigned int cmd, | |||
481 | return -EINVAL; | 481 | return -EINVAL; |
482 | } | 482 | } |
483 | 483 | ||
484 | static struct cdrom_device_ops gdrom_ops = { | 484 | static const struct cdrom_device_ops gdrom_ops = { |
485 | .open = gdrom_open, | 485 | .open = gdrom_open, |
486 | .release = gdrom_release, | 486 | .release = gdrom_release, |
487 | .drive_status = gdrom_drivestatus, | 487 | .drive_status = gdrom_drivestatus, |
@@ -489,9 +489,9 @@ static struct cdrom_device_ops gdrom_ops = { | |||
489 | .get_last_session = gdrom_get_last_session, | 489 | .get_last_session = gdrom_get_last_session, |
490 | .reset = gdrom_hardreset, | 490 | .reset = gdrom_hardreset, |
491 | .audio_ioctl = gdrom_audio_ioctl, | 491 | .audio_ioctl = gdrom_audio_ioctl, |
492 | .generic_packet = cdrom_dummy_generic_packet, | ||
492 | .capability = CDC_MULTI_SESSION | CDC_MEDIA_CHANGED | | 493 | .capability = CDC_MULTI_SESSION | CDC_MEDIA_CHANGED | |
493 | CDC_RESET | CDC_DRIVE_STATUS | CDC_CD_R, | 494 | CDC_RESET | CDC_DRIVE_STATUS | CDC_CD_R, |
494 | .n_minors = 1, | ||
495 | }; | 495 | }; |
496 | 496 | ||
497 | static int gdrom_bdops_open(struct block_device *bdev, fmode_t mode) | 497 | static int gdrom_bdops_open(struct block_device *bdev, fmode_t mode) |