[media] cx2341x: fix kernel oops
authorHans Verkuil <hverkuil@xs4all.nl>
Sat, 20 Sep 2014 12:54:06 +0000 (09:54 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Sun, 21 Sep 2014 23:56:11 +0000 (20:56 -0300)
The v4l2_ctrl_config struct must be zeroed before passing it to
v4l2_ctrl_new_custom(). This was always wrong, but with the recent
v4l2-ctrls.c changes this is now much more likely to lead to a
kernel bug.

This is the only place where this struct wasn't initialized properly.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Reported-by: Pridvorov Andrey <ua0lnj@bk.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/common/cx2341x.c

index 103ef6bad2e2267685f13b296d3012b9d447aa29..be763150b8aad014692871091e5cf702e333d3df 100644 (file)
@@ -1490,6 +1490,7 @@ static struct v4l2_ctrl *cx2341x_ctrl_new_custom(struct v4l2_ctrl_handler *hdl,
 {
        struct v4l2_ctrl_config cfg;
 
+       memset(&cfg, 0, sizeof(cfg));
        cx2341x_ctrl_fill(id, &cfg.name, &cfg.type, &min, &max, &step, &def, &cfg.flags);
        cfg.ops = &cx2341x_ops;
        cfg.id = id;