[bug report] media: amphion: implement windsor encoder rpc interface

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Ming Qian,

The patch d82977796c48: "media: amphion: implement windsor encoder
rpc interface" from Feb 24, 2022, leads to the following Smatch
static checker warning:

	drivers/media/platform/amphion/vpu_windsor.c:823 vpu_windsor_config_memory_resource()
	error: buffer overflow 'pool->enc_frames' 6 <= 7

drivers/media/platform/amphion/vpu_windsor.c
    807 int vpu_windsor_config_memory_resource(struct vpu_shared_addr *shared,
    808                                        u32 instance,
    809                                        u32 type,
    810                                        u32 index,
    811                                        struct vpu_buffer *buf)
    812 {
    813         struct vpu_enc_mem_pool *pool;
    814         struct vpu_enc_memory_resource *res;
    815 
    816         if (instance >= VID_API_NUM_STREAMS)
                                ^^^^^^^^^^^^^^^^^^^
This is 8.

    817                 return -EINVAL;
    818 
    819         pool = get_mem_pool(shared, instance);
    820 
    821         switch (type) {
    822         case MEM_RES_ENC:
--> 823                 res = &pool->enc_frames[index];

This only has WINDSOR_MAX_SRC_FRAMES elements.

    824                 break;
    825         case MEM_RES_REF:
    826                 res = &pool->ref_frames[index];
    827                 break;
    828         case MEM_RES_ACT:
    829                 res = &pool->act_frame;
    830                 break;
    831         default:
    832                 return -EINVAL;
    833         }
    834 
    835         res->phys = buf->phys;
    836         res->virt = buf->phys - shared->boot_addr;
    837         res->size = buf->length;
    838 
    839         return 0;
    840 }

regards,
dan carpenter



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux