From: Mauro Carvalho Chehab Date: Tue, 28 Apr 2015 22:02:19 +0000 (-0300) Subject: [media] af9013: Don't accept invalid bandwidth X-Git-Tag: firefly_0821_release~176^2~795^2~957 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=d7b76c91f471413de9ded837bddeca2164786571;p=firefly-linux-kernel-4.4.55.git [media] af9013: Don't accept invalid bandwidth If userspace sends an invalid bandwidth, it should either return EINVAL or switch to auto mode. This driver will go past an array and program the hardware on a wrong way if this happens. Cc: stable@vger.kernel.org Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/dvb-frontends/af9013.c b/drivers/media/dvb-frontends/af9013.c index 8001690d7576..ba6c8f6c42a1 100644 --- a/drivers/media/dvb-frontends/af9013.c +++ b/drivers/media/dvb-frontends/af9013.c @@ -605,6 +605,10 @@ static int af9013_set_frontend(struct dvb_frontend *fe) } } + /* Return an error if can't find bandwidth or the right clock */ + if (i == ARRAY_SIZE(coeff_lut)) + return -EINVAL; + ret = af9013_wr_regs(state, 0xae00, coeff_lut[i].val, sizeof(coeff_lut[i].val)); }