From: Mauro Carvalho Chehab <mchehab@s-opensource.com>
To: Linux Media Mailing List <linux-media@vger.kernel.org>,
stable@vger.kernel.org
Cc: Ricardo Ribalda <ricardo.ribalda@gmail.com>,
Mauro Carvalho Chehab <mchehab@infradead.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Hans Verkuil <hans.verkuil@cisco.com>,
Mauro Carvalho Chehab <mchehab@s-opensource.com>,
Sasha Levin <alexander.levin@microsoft.com>
Subject: [PATCH for v3.18 02/18] vb2: V4L2_BUF_FLAG_DONE is set after DQBUF
Date: Wed, 28 Mar 2018 15:12:21 -0300 [thread overview]
Message-ID: <9afdc5aaed16638f406ea8ee062bdee5504e32a6.1522260310.git.mchehab@s-opensource.com> (raw)
In-Reply-To: <cover.1522260310.git.mchehab@s-opensource.com>
In-Reply-To: <cover.1522260310.git.mchehab@s-opensource.com>
From: Ricardo Ribalda <ricardo.ribalda@gmail.com>
commit 3171cc2b4eb9831ab4df1d80d0410a945b8bc84e upstream.
According to the doc, V4L2_BUF_FLAG_DONE is cleared after DQBUF:
V4L2_BUF_FLAG_DONE 0x00000004 ... After calling the VIDIOC_QBUF or
VIDIOC_DQBUF it is always cleared ...
Unfortunately, it seems that videobuf2 keeps it set after DQBUF. This
can be tested with vivid and dev_debug:
[257604.338082] video1: VIDIOC_DQBUF: 71:33:25.00260479 index=3,
type=vid-cap, flags=0x00002004, field=none, sequence=163,
memory=userptr, bytesused=460800, offset/userptr=0x344b000,
length=460800
This patch forces FLAG_DONE to 0 after calling DQBUF.
Reported-by: Dimitrios Katsaros <patcherwork@gmail.com>
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
---
drivers/media/v4l2-core/videobuf2-core.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/media/v4l2-core/videobuf2-core.c b/drivers/media/v4l2-core/videobuf2-core.c
index d5c300150cf4..f0811b7e900d 100644
--- a/drivers/media/v4l2-core/videobuf2-core.c
+++ b/drivers/media/v4l2-core/videobuf2-core.c
@@ -2075,6 +2075,11 @@ static int vb2_internal_dqbuf(struct vb2_queue *q, struct v4l2_buffer *b, bool n
dprintk(1, "dqbuf of buffer %d, with state %d\n",
vb->v4l2_buf.index, vb->state);
+ /*
+ * After calling the VIDIOC_DQBUF V4L2_BUF_FLAG_DONE must be
+ * cleared.
+ */
+ b->flags &= ~V4L2_BUF_FLAG_DONE;
return 0;
}
--
2.14.3
next prev parent reply other threads:[~2018-03-28 18:14 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20180328181304epcas4p2593efec8fcccbf6bf30ed30d9b5f0093@epcas4p2.samsung.com>
2018-03-28 18:12 ` [PATCH for v3.18 00/18] Backport CVE-2017-13166 fixes to Kernel 3.18 Mauro Carvalho Chehab
2018-03-28 18:12 ` [PATCH for v3.18 01/18] media: v4l2-ioctl.c: don't copy back the result for -ENOTTY Mauro Carvalho Chehab
2018-03-28 18:12 ` Mauro Carvalho Chehab [this message]
2018-03-28 18:12 ` [PATCH for v3.18 03/18] media: v4l2-compat-ioctl32.c: add missing VIDIOC_PREPARE_BUF Mauro Carvalho Chehab
2018-03-28 18:12 ` [PATCH for v3.18 04/18] media: v4l2-compat-ioctl32.c: fix the indentation Mauro Carvalho Chehab
2018-03-28 18:12 ` [PATCH for v3.18 05/18] media: v4l2-compat-ioctl32.c: move 'helper' functions to __get/put_v4l2_format32 Mauro Carvalho Chehab
2018-04-04 15:32 ` Patch "media: v4l2-compat-ioctl32.c: move 'helper' functions to __get/put_v4l2_format32" has been added to the 3.18-stable tree gregkh
2018-03-28 18:12 ` [PATCH for v3.18 06/18] media: v4l2-compat-ioctl32.c: avoid sizeof(type) Mauro Carvalho Chehab
2018-04-04 15:32 ` Patch "media: v4l2-compat-ioctl32.c: avoid sizeof(type)" has been added to the 3.18-stable tree gregkh
2018-03-28 18:12 ` [PATCH for v3.18 07/18] media: v4l2-compat-ioctl32.c: copy m.userptr in put_v4l2_plane32 Mauro Carvalho Chehab
2018-04-04 15:32 ` Patch "media: v4l2-compat-ioctl32.c: copy m.userptr in put_v4l2_plane32" has been added to the 3.18-stable tree gregkh
2018-03-28 18:12 ` [PATCH for v3.18 08/18] media: v4l2-compat-ioctl32.c: fix ctrl_is_pointer Mauro Carvalho Chehab
2018-04-04 15:32 ` Patch "media: v4l2-compat-ioctl32.c: fix ctrl_is_pointer" has been added to the 3.18-stable tree gregkh
2018-03-28 18:12 ` [PATCH for v3.18 09/18] media: v4l2-compat-ioctl32.c: make ctrl_is_pointer work for subdevs Mauro Carvalho Chehab
2018-04-04 15:32 ` Patch "media: v4l2-compat-ioctl32.c: make ctrl_is_pointer work for subdevs" has been added to the 3.18-stable tree gregkh
2018-03-28 18:12 ` [PATCH for v3.18 10/18] media: v4l2-compat-ioctl32: Copy v4l2_window->global_alpha Mauro Carvalho Chehab
2018-04-04 15:32 ` Patch "media: v4l2-compat-ioctl32: Copy v4l2_window->global_alpha" has been added to the 3.18-stable tree gregkh
2018-03-28 18:12 ` [PATCH for v3.18 11/18] media: v4l2-compat-ioctl32.c: copy clip list in put_v4l2_window32 Mauro Carvalho Chehab
2018-04-04 15:32 ` Patch "media: v4l2-compat-ioctl32.c: copy clip list in put_v4l2_window32" has been added to the 3.18-stable tree gregkh
2018-03-28 18:12 ` [PATCH for v3.18 12/18] media: v4l2-compat-ioctl32.c: drop pr_info for unknown buffer type Mauro Carvalho Chehab
2018-04-04 15:32 ` Patch "media: v4l2-compat-ioctl32.c: drop pr_info for unknown buffer type" has been added to the 3.18-stable tree gregkh
2018-03-28 18:12 ` [PATCH for v3.18 13/18] media: v4l2-compat-ioctl32.c: don't copy back the result for certain errors Mauro Carvalho Chehab
2018-04-04 15:32 ` Patch "media: v4l2-compat-ioctl32.c: don't copy back the result for certain errors" has been added to the 3.18-stable tree gregkh
2018-03-28 18:12 ` [PATCH for v3.18 14/18] media: v4l2-compat-ioctl32.c: refactor compat ioctl32 logic Mauro Carvalho Chehab
2018-04-04 15:32 ` Patch "media: v4l2-compat-ioctl32.c: refactor compat ioctl32 logic" has been added to the 3.18-stable tree gregkh
2018-03-28 18:12 ` [PATCH for v3.18 15/18] media: v4l2-ctrls: fix sparse warning Mauro Carvalho Chehab
2018-04-04 15:32 ` Patch "media: v4l2-ctrls: fix sparse warning" has been added to the 3.18-stable tree gregkh
2018-03-28 18:12 ` [PATCH for v3.18 16/18] media: media/v4l2-ctrls: volatiles should not generate CH_VALUE Mauro Carvalho Chehab
2018-04-04 15:32 ` Patch "media: media/v4l2-ctrls: volatiles should not generate CH_VALUE" has been added to the 3.18-stable tree gregkh
2018-03-28 18:12 ` [PATCH for v3.18 17/18] media: v4l2-compat-ioctl32: use compat_u64 for video standard Mauro Carvalho Chehab
2018-04-04 15:32 ` Patch "media: v4l2-compat-ioctl32: use compat_u64 for video standard" has been added to the 3.18-stable tree gregkh
2018-03-28 18:12 ` [PATCH for v3.18 18/18] media: v4l2-compat-ioctl32: initialize a reserved field Mauro Carvalho Chehab
2018-04-04 15:32 ` Patch "media: v4l2-compat-ioctl32: initialize a reserved field" has been added to the 3.18-stable tree gregkh
2018-03-28 23:22 ` [PATCH for v3.18 00/18] Backport CVE-2017-13166 fixes to Kernel 3.18 Inki Dae
2018-03-29 4:25 ` Greg KH
2018-03-29 6:39 ` Inki Dae
2018-03-29 7:00 ` Greg KH
2018-03-29 9:32 ` Inki Dae
2018-03-29 14:30 ` Mauro Carvalho Chehab
2018-04-04 15:33 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9afdc5aaed16638f406ea8ee062bdee5504e32a6.1522260310.git.mchehab@s-opensource.com \
--to=mchehab@s-opensource.com \
--cc=alexander.levin@microsoft.com \
--cc=hans.verkuil@cisco.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@infradead.org \
--cc=ricardo.ribalda@gmail.com \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®