[media] mxb: check register address when reading/writing a register
Prevent out-of-range register accesses.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
diff --git a/drivers/media/pci/saa7146/mxb.c b/drivers/media/pci/saa7146/mxb.c
index 8d17769..33abe33 100644
--- a/drivers/media/pci/saa7146/mxb.c
+++ b/drivers/media/pci/saa7146/mxb.c
@@ -669,6 +669,8 @@
{
struct saa7146_dev *dev = ((struct saa7146_fh *)fh)->dev;
+ if (reg->reg > pci_resource_len(dev->pci, 0) - 4)
+ return -EINVAL;
reg->val = saa7146_read(dev, reg->reg);
reg->size = 4;
return 0;
@@ -678,6 +680,8 @@
{
struct saa7146_dev *dev = ((struct saa7146_fh *)fh)->dev;
+ if (reg->reg > pci_resource_len(dev->pci, 0) - 4)
+ return -EINVAL;
saa7146_write(dev, reg->reg, reg->val);
return 0;
}