mirror of https://gitee.com/openkylin/linux.git
media: dvb_vb2: limit reqbufs size to a sane value
It is not a good idea to let users to request a very high buffer size. So, add an upper limit. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
parent
7b6c96d59e
commit
2c06aa7c31
|
@ -18,6 +18,8 @@
|
|||
#include "dvbdev.h"
|
||||
#include "dvb_vb2.h"
|
||||
|
||||
#define DVB_V2_MAX_SIZE (4096 * 188)
|
||||
|
||||
static int vb2_debug;
|
||||
module_param(vb2_debug, int, 0644);
|
||||
|
||||
|
@ -330,6 +332,12 @@ int dvb_vb2_reqbufs(struct dvb_vb2_ctx *ctx, struct dmx_requestbuffers *req)
|
|||
{
|
||||
int ret;
|
||||
|
||||
/* Adjust size to a sane value */
|
||||
if (req->size > DVB_V2_MAX_SIZE)
|
||||
req->size = DVB_V2_MAX_SIZE;
|
||||
|
||||
/* FIXME: round req->size to a 188 or 204 multiple */
|
||||
|
||||
ctx->buf_siz = req->size;
|
||||
ctx->buf_cnt = req->count;
|
||||
ret = vb2_core_reqbufs(&ctx->vb_q, VB2_MEMORY_MMAP, &req->count);
|
||||
|
|
Loading…
Reference in New Issue