mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 05:32:00 +00:00
media: pci: mgb4: fix potential spectre vulnerability
Fix smatch warnings: drivers/media/pci/mgb4/mgb4_sysfs_out.c:118 video_source_store() warn: potential spectre issue 'mgbdev->vin' [r] (local cap) drivers/media/pci/mgb4/mgb4_sysfs_out.c:122 video_source_store() warn: possible spectre second half. 'loopin_new' Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Reviewed-by: Martin Tůma <martin.tuma@digiteqautomotive.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
This commit is contained in:
parent
ada092e80c
commit
65b8c8cb2b
@ -8,6 +8,7 @@
|
||||
*/
|
||||
|
||||
#include <linux/device.h>
|
||||
#include <linux/nospec.h>
|
||||
#include "mgb4_core.h"
|
||||
#include "mgb4_i2c.h"
|
||||
#include "mgb4_vout.h"
|
||||
@ -114,8 +115,10 @@ static ssize_t video_source_store(struct device *dev,
|
||||
|
||||
if (((config & 0xc) >> 2) < MGB4_VIN_DEVICES)
|
||||
loopin_old = mgbdev->vin[(config & 0xc) >> 2];
|
||||
if (val < MGB4_VIN_DEVICES)
|
||||
if (val < MGB4_VIN_DEVICES) {
|
||||
val = array_index_nospec(val, MGB4_VIN_DEVICES);
|
||||
loopin_new = mgbdev->vin[val];
|
||||
}
|
||||
if (loopin_old && loopin_cnt(loopin_old) == 1)
|
||||
mgb4_mask_reg(&mgbdev->video, loopin_old->config->regs.config,
|
||||
0x2, 0x0);
|
||||
|
Loading…
Reference in New Issue
Block a user