Skip to content
Permalink
Mauro-Carvalho…
Switch branches/tags

Commits on Jun 17, 2021

  1. media: xilinx: simplify get fourcc logic

    Right now, there are two calls for xvip_get_format_by_fourcc().
    If the first one fails, it is called again in order to pick
    the first available format: V4L2_PIX_FMT_YUYV.
    
    This ends by producing a smatch warnings:
    	drivers/media/platform/xilinx/xilinx-dma.c:555 __xvip_dma_try_format() error: 'info' dereferencing possible ERR_PTR()
    	drivers/media/platform/xilinx/xilinx-dma.c: drivers/media/platform/xilinx/xilinx-dma.c:664 xvip_dma_init() error: 'dma->fmtinfo' dereferencing possible ERR_PTR()
    
    as it is hard for an static analyzer to ensure that calling
    xvip_get_format_by_fourcc(XVIP_DMA_DEF_FORMAT) won't return an
    error.
    
    So, better to optimize the logic, ensuring that the function
    will never return an error.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    mchehab authored and intel-lab-lkp committed Jun 17, 2021
  2. media: dvb-core: frontend: make GET/SET safer

    The implementation for FE_SET_PROPERTY/FE_GET_PROPERTY has
    a debug code that might be explored via spectre.
    Improve the logic in order to mitigate such risk.
    
    It should be noticed that, before this patch, the logic
    which implements FE_GET_PROPERTY doesn't check the length passed
    by the user, which might lead to expose some information. This
    is probably not exploitable, though, as the frontend drivers
    won't rely on the buffer length value set by userspace, but
    it helps to return a valid value back to userspace.
    
    The code was changed to only try to access an array based on
    userspace values only when DVB debug is turned on, helping to
    reduce the attack surface, as a speculation attack would work
    only if DVB dev_dbg() macros are enabled, which is usually
    enabled only on test Kernels or by the root user.
    
    As a side effect, a const array size can now be reduced by
    ~570 bytes, as it now needs to contain just the name of each
    DTV command.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    mchehab authored and intel-lab-lkp committed Jun 17, 2021
  3. media: ttusb-dec: cleanup an error handling logic

    Simplify the logic at ttusb_dec_send_command().
    
    Besides avoiding some code duplication, as a side effect,
    this could remove this false positive return with spatch:
    
    	drivers/media/usb/ttusb-dec/ttusb_dec.c:380 ttusb_dec_send_command() warn: inconsistent returns '&dec->usb_mutex'.
    	  Locked on  : 330
    	  Unlocked on: 354,365,380
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    mchehab authored and intel-lab-lkp committed Jun 17, 2021
  4. media: adv7842: better document EDID block size

    While the logic there is correct, it leads to smatch warnings:
    	/home/hans/work/build/media-git/drivers/media/i2c/adv7842.c:2538 adv7842_set_edid() error: memcpy() '&state->vga_edid.edid' too small (128 vs 512)
    
    Because the code tricks static analyzers by doing:
    	memcpy(&state->hdmi_edid.edid, e->edid, 128 * e->blocks);
    
    for ADV7842_EDID_PORT_VGA, where a logic before that makes
    e->blocks being either 0 or 1.
    
    Yet, it is ugly to see the "128" magic number all spread about the
    EDID code. So, while here, replace 128 (and 4 x 128) by macros:
    
    And ensure that the logic which copy into the VGA block
    will use EDID_MAX_VGA_BLOCKS.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    mchehab authored and intel-lab-lkp committed Jun 17, 2021
  5. media: siano: fix device register error path

    As reported by smatch:
    	drivers/media/common/siano/smsdvb-main.c:1231 smsdvb_hotplug() warn: '&client->entry' not removed from list
    
    If an error occur at the end of the registration logic, it won't
    drop the device from the list.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    mchehab authored and intel-lab-lkp committed Jun 17, 2021
  6. media: saa7134: fix saa7134_initdev error handling logic

    Smatch reported an issue there:
    	drivers/media/pci/saa7134/saa7134-core.c:1302 saa7134_initdev() warn: '&dev->devlist' not removed from list
    
    But besides freeing the list, the media controller graph also
    needs to be cleaned up on errors. Address those issues.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    mchehab authored and intel-lab-lkp committed Jun 17, 2021
  7. media: saa7134: use more meaninful goto labels

    Instead of just numbering fail0 to fail4, use more meaninful
    goto labels.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    mchehab authored and intel-lab-lkp committed Jun 17, 2021
  8. media: sun6i-csi: add a missing return code

    As pointed by smatch, there's a missing return code:
    
    	drivers/media/platform/sunxi/sun6i-csi/sun6i_video.c:485 sun6i_video_open() warn: missing error code 'ret'
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    mchehab authored and intel-lab-lkp committed Jun 17, 2021
  9. media: dvbdev: fix error logic at dvb_register_device()

    As reported by smatch:
    
    	drivers/media/dvb-core/dvbdev.c: drivers/media/dvb-core/dvbdev.c:510 dvb_register_device() warn: '&dvbdev->list_head' not removed from list
    	drivers/media/dvb-core/dvbdev.c: drivers/media/dvb-core/dvbdev.c:530 dvb_register_device() warn: '&dvbdev->list_head' not removed from list
    	drivers/media/dvb-core/dvbdev.c: drivers/media/dvb-core/dvbdev.c:545 dvb_register_device() warn: '&dvbdev->list_head' not removed from list
    
    The error logic inside dvb_register_device() doesn't remove
    devices from the dvb_adapter_list in case of errors.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    mchehab authored and intel-lab-lkp committed Jun 17, 2021
  10. media: dvb_net: avoid speculation from net slot

    The risk of especulation is actually almost-non-existing here,
    as there are very few users of TCP/IP using the DVB stack,
    as, this is mainly used with DVB-S/S2 cards, and only by people
    that receives TCP/IP from satellite connections, which limits
    a lot the number of users of such feature(*).
    
    (*) In thesis, DVB-C cards could also benefit from it, but I'm
    yet to see a hardware that supports it.
    
    Yet, fixing it is trivial.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    mchehab authored and intel-lab-lkp committed Jun 17, 2021
  11. media: dvb_ca_en50221: avoid speculation from CA slot

    As warned by smatch:
    	drivers/media/dvb-core/dvb_ca_en50221.c:1392 dvb_ca_en50221_io_do_ioctl() warn: potential spectre issue 'ca->slot_info' [r] (local cap)
    
    There's a potential of using a CAM ioctl for speculation.
    
    The risk here is minimum, as only a small subset of DVB
    boards have CI, with a CAM module installed. Also, exploiting
    it would require an user capable of starting a DVB application.
    
    There are probably a lot of easier ways to try to exploit.
    
    Yet, it doesn't harm addressing it.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    mchehab authored and intel-lab-lkp committed Jun 17, 2021

Commits on Jun 8, 2021

  1. media: hantro: IMX8M: add variant for G2/HEVC codec

    Add variant to IMX8M to enable G2/HEVC codec.
    Define the capabilities for the hardware up to 3840x2160.
    G2 doesn't have a postprocessor, uses the same clocks and has it
    own interrupt.
    
    Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
    Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
    Reviewed-by: Ezequiel Garcia <ezequiel@collabora.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Benjamin Gaignard authored and mchehab committed Jun 8, 2021
  2. media: hantro: Introduce G2/HEVC decoder

    Implement all the logic to get G2 hardware decoding HEVC frames.
    It supports up level 5.1 HEVC stream.
    It doesn't support yet 10 bits formats or the scaling feature.
    
    Add HANTRO HEVC dedicated control to skip some bits at the beginning
    of the slice header. That is very specific to this hardware so can't
    go into uapi structures. Computing the needed value is complex and requires
    information from the stream that only the userland knows so let it
    provide the correct value to the driver.
    
    Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
    Co-developed-by: Adrian Ratiu <adrian.ratiu@collabora.com>
    Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
    Co-developed-by: Ezequiel Garcia <ezequiel@collabora.com>
    Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Benjamin Gaignard authored and mchehab committed Jun 8, 2021
  3. media: hantro: handle V4L2_PIX_FMT_HEVC_SLICE control

    Make sure that V4L2_PIX_FMT_HEVC_SLICE is correctly handled by the driver.
    
    Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
    Reviewed-by: Ezequiel Garcia <ezequiel@collabora.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Benjamin Gaignard authored and mchehab committed Jun 8, 2021
  4. media: uapi: Add a control for HANTRO driver

    The HEVC HANTRO driver needs to know the number of bits to skip at
    the beginning of the slice header.
    That is a hardware specific requirement so create a dedicated control
    for this purpose.
    
    Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Benjamin Gaignard authored and mchehab committed Jun 8, 2021
  5. media: hantro: Only use postproc when post processed formats are defined

    If the variant doesn't support postprocessed formats make sure it will
    be ok.
    
    Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
    Reviewed-by: Ezequiel Garcia <ezequiel@collabora.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Benjamin Gaignard authored and mchehab committed Jun 8, 2021
  6. media: hantro: Define HEVC codec profiles and supported features

    Define which HEVC profiles (up to level 5.1) and features
    (no scaling, no 10 bits) are supported by the driver.
    
    Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
    Reviewed-by: Ezequiel Garcia <ezequiel@collabora.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Benjamin Gaignard authored and mchehab committed Jun 8, 2021
  7. media: hantro: change hantro_codec_ops run prototype to return errors

    Change hantro_codec_ops run prototype from 'void' to 'int'.
    This allows the driver to cancel the job if an error occurs while configuring
    the hardware.
    
    Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
    Reviewed-by: Ezequiel Garcia <ezequiel@collabora.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Benjamin Gaignard authored and mchehab committed Jun 8, 2021
  8. media: hevc: Add decode params control

    Add decode params control and the associated structure to group
    all the information that are needed to decode a reference frame as
    is described in ITU-T Rec. H.265 section "8.3.2 Decoding process
    for reference picture set".
    
    Adapt Cedrus driver to these changes.
    
    Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
    Reviewed-by: Ezequiel Garcia <ezequiel@collabora.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Benjamin Gaignard authored and mchehab committed Jun 8, 2021
  9. media: hevc: Add fields and flags for hevc PPS

    Add fields and flags as they are defined in
    7.4.3.3.1 "General picture parameter set RBSP semantics of the
    H.265 ITU specification.
    
    Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
    Reviewed-by: Ezequiel Garcia <ezequiel@collabora.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Benjamin Gaignard authored and mchehab committed Jun 8, 2021
  10. media: imon: use DEVICE_ATTR_RW() helper macro

    Use DEVICE_ATTR_RW() helper macro instead of DEVICE_ATTR(), which is
    simpler and more readable.
    
    Due to the names of the read and write functions of the sysfs attribute is
    normalized, there is a natural association.
    
    Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Zhen Lei authored and mchehab committed Jun 8, 2021
  11. media: rc: add keymap for Toshiba CT-90405 remote

    This is an NEC remote control device shipped with some Toshiba TVs.
    
    Signed-off-by: Alexander Voronov <avv.0@ya.ru>
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    crvux authored and mchehab committed Jun 8, 2021
  12. media: st_rc: Handle errors of clk_prepare_enable()

    Hadle errors of clk_prepare_enable() in st_rc_hardware_init() and its
    callers.
    
    Found by Linux Driver Verification project (linuxtesting.org).
    
    Signed-off-by: Evgeny Novikov <novikov@ispras.ru>
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    eunovm authored and mchehab committed Jun 8, 2021
  13. media: cinergyt2: make properties const

    The dvb_usb_device_properties can be const. This makes it clear that
    the static can be shared across threads.
    
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    seanyoung authored and mchehab committed Jun 8, 2021
  14. media: dvd_usb: memory leak in cinergyt2_fe_attach

    When the driver fails to talk with the hardware with dvb_usb_generic_rw,
    it will return an error to dvb_usb_adapter_frontend_init. However, the
    driver forgets to free the resource (e.g., struct cinergyt2_fe_state),
    which leads to a memory leak.
    
    Fix this by freeing struct cinergyt2_fe_state when dvb_usb_generic_rw
    fails in cinergyt2_frontend_attach.
    
    backtrace:
      [<0000000056e17b1a>] kmalloc include/linux/slab.h:552 [inline]
      [<0000000056e17b1a>] kzalloc include/linux/slab.h:682 [inline]
      [<0000000056e17b1a>] cinergyt2_fe_attach+0x21/0x80 drivers/media/usb/dvb-usb/cinergyT2-fe.c:271
      [<00000000ae0b1711>] cinergyt2_frontend_attach+0x21/0x70 drivers/media/usb/dvb-usb/cinergyT2-core.c:74
      [<00000000d0254861>] dvb_usb_adapter_frontend_init+0x11b/0x1b0 drivers/media/usb/dvb-usb/dvb-usb-dvb.c:290
      [<0000000002e08ac6>] dvb_usb_adapter_init drivers/media/usb/dvb-usb/dvb-usb-init.c:84 [inline]
      [<0000000002e08ac6>] dvb_usb_init drivers/media/usb/dvb-usb/dvb-usb-init.c:173 [inline]
      [<0000000002e08ac6>] dvb_usb_device_init.cold+0x4d0/0x6ae drivers/media/usb/dvb-usb/dvb-usb-init.c:287
    
    Reported-by: syzbot+e1de8986786b3722050e@syzkaller.appspotmail.com
    Signed-off-by: Dongliang Mu <mudongliangabcd@gmail.com>
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    mudongliang authored and mchehab committed Jun 8, 2021
  15. media: cxd2880-spi: Fix some error messages

    Fix some erroneous function names in some error messages.
    Remove some spurious or useless trailing and leading character in some
    messages.
    
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    tititiou36 authored and mchehab committed Jun 8, 2021
  16. media: mxl692: make a const array static, makes object smaller

    Don't populate the const array fw_hdr on the stack but instead it
    static. Makes the object code smaller by 5 bytes:
    
    Before:
       text    data    bss     dec    hex filename
      31948   12072     64   44084   ac34 drivers/media/dvb-frontends/mxl692.o
    
    After:
       text    data    bss     dec    hex filename
      31879   12136     64   44079   ac2f drivers/media/dvb-frontends/mxl692.o
    
    (gcc version 10.3.0)
    
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Colin Ian King authored and mchehab committed Jun 8, 2021
  17. media: MAINTAINERS: add xisc files to isc driver entry

    Add XISC driver and binding files to the ISC driver entry.
    
    Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    ehristev authored and mchehab committed Jun 8, 2021
  18. media: MAINTAINERS: update ISC driver bindings file

    ISC driver was converted to yaml. Update maintainers file.
    
    Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    ehristev authored and mchehab committed Jun 8, 2021
  19. media: atmel: atmel-isc: add microchip-xisc driver

    Add driver for the extended variant of the isc, the microchip XISC
    present on sama7g5 product.
    
    [hverkuil: drop MODULE_SUPPORTED_DEVICE, no longer exists]
    [hverkuil: made isc_sama7g5_config_csc et al static]
    [hverkuil: made sama7g5_controller_formats et al static]
    
    Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    ehristev authored and mchehab committed Jun 8, 2021
  20. media: dt-bindings: media: add microchip,xisc device bindings

    Add bindings for the Microchip eXtended Image Sensor Controller.
    Based on the atmel,isc.yaml binding.
    
    Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    ehristev authored and mchehab committed Jun 8, 2021
  21. media: dt-bindings: media: atmel-isc: convert to yaml

    Convert the Atmel ISC to yaml binding format.
    
    Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    ehristev authored and mchehab committed Jun 8, 2021
  22. media: atmel: atmel-isc-sama5d2: remove duplicate define

    Remove a duplicate definition of clock max divider
    
    Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    ehristev authored and mchehab committed Jun 8, 2021
  23. media: atmel: atmel-isc-base: add support for more formats and additi…

    …onal pipeline modules
    
    Add support for additional formats supported by newer pipelines, and for
    additional pipeline modules.
    
    Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    ehristev authored and mchehab committed Jun 8, 2021
  24. media: atmel: atmel-isc-regs: add additional fields for sama7g5 type …

    …pipeline
    
    Add additional fields for registers present in sama7g5 type pipeline.
    Extend register masks for additional bits in sama7g5 type pipeline registers.
    
    Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    ehristev authored and mchehab committed Jun 8, 2021
Older