diff options
author | Stefan Schmidt <stefan@datenfreihafen.org> | 2018-08-06 10:04:48 +0300 |
---|---|---|
committer | Stefan Schmidt <stefan@datenfreihafen.org> | 2018-08-06 10:04:48 +0300 |
commit | a30461080366214b690a367225a48c95d7a6a189 (patch) | |
tree | 02cd7cfb8cea14cebe1ab2a1638edd8c9b9e0d3f /drivers/ata/libahci.c | |
parent | 811e299f4645588cc7a1b78d97b6847c155324b9 (diff) | |
parent | 981467033a37d916649647fa3afe1fe99bba1817 (diff) | |
download | linux-a30461080366214b690a367225a48c95d7a6a189.tar.xz |
Merge remote-tracking branch 'net-next/master'
Diffstat (limited to 'drivers/ata/libahci.c')
-rw-r--r-- | drivers/ata/libahci.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c index 965842a08743..09620c2ffa0f 100644 --- a/drivers/ata/libahci.c +++ b/drivers/ata/libahci.c @@ -35,6 +35,7 @@ #include <linux/kernel.h> #include <linux/gfp.h> #include <linux/module.h> +#include <linux/nospec.h> #include <linux/blkdev.h> #include <linux/delay.h> #include <linux/interrupt.h> @@ -1146,10 +1147,12 @@ static ssize_t ahci_led_store(struct ata_port *ap, const char *buf, /* get the slot number from the message */ pmp = (state & EM_MSG_LED_PMP_SLOT) >> 8; - if (pmp < EM_MAX_SLOTS) + if (pmp < EM_MAX_SLOTS) { + pmp = array_index_nospec(pmp, EM_MAX_SLOTS); emp = &pp->em_priv[pmp]; - else + } else { return -EINVAL; + } /* mask off the activity bits if we are in sw_activity * mode, user should turn off sw_activity before setting |