summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2011-07-26 11:23:58 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2011-07-26 11:23:58 +0200
commit60bd09e8e8e819acc73d8d6ff42f0140e1d18c27 (patch)
tree7317f42c5801e294526c0551737d1bb313c29a1c
parent15249d89a61851f6e5538993c577b69b92ddc433 (diff)
downloadgst-plugins-fsl-vpu-60bd09e8e8e819acc73d8d6ff42f0140e1d18c27.tar.gz
gst-plugins-fsl-vpu-60bd09e8e8e819acc73d8d6ff42f0140e1d18c27.tar.xz
kernel module: Check for maximum number of framebuffers
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--module/imx-vpu.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/module/imx-vpu.c b/module/imx-vpu.c
index e342c5a..402b547 100644
--- a/module/imx-vpu.c
+++ b/module/imx-vpu.c
@@ -848,6 +848,10 @@ static int noinline vpu_dec_get_initial_info(struct vpu_instance *instance)
do_div(f, (val >> 16) + 1);
instance->frame_duration = ktime_set(0, (u32)f);
instance->num_fb = vpu_read(vpu, RET_DEC_SEQ_FRAME_NEED);
+ if (instance->num_fb > VPU_MAX_FB) {
+ dev_err(vpu->dev, "num_fb exceeds max fb\n");
+ return -EINVAL;
+ }
if (instance->format == VPU_CODEC_AVC_DEC) {
int top, right;