android_kernel_xiaomi_sm8350/drivers/media/video
Suresh Siddha d522af581c V4L/DVB (9356): [PATCH] saa7134: fix resource map sanity check conflict
Impact: driver could possibly stomp on resources outside of its scope

{mchehab@redhat.com: I got two versions of the same patch (identical,
except for whitespacing). One authored by Andy Burns and another
authored by Suresh Siddha. Due to that, I'm applying the one that has
less CodingStyle errors. I'm also adding both comments and the SOB's for
both patches, since they are both interesting}

Suresh Siddha commented:

  Alexey Fisher reported:

  > resource map sanity check conflict: 0xcfeff800 0xcff007ff 0xcfe00000
  > 0xcfefffff PCI Bus 0000:01

  BAR base is located in the middle of the 4K page and the hardcoded
  size argument makes the request span two pages causing the conflict.

  Fix the hard coded size argument in ioremap().

Andy Burns commented:

  I have already sent this patch on the linux-dvb list, but it didn't get
  much attention, so re-sending direct, I hope you all don't mind.

  While attempting to run mythtv in a xen domU, I encountered problems
  loading the driver for my saa7134 card, with an error from ioremap().

  This error was due to the driver allocating an incorrectly sized mmio
  area, which was trapped by xen's permission checks, but this would go
  un-noticed on a kernel without xen.

  My card has a 1K sized mmio area, I've had information that other cards
  have 2K areas, perhaps others have different sizes, yet the driver
  always attempts to map 4K.  I realise that the granularity of mapping is
  the page size, which typically would be 4K, but unless the card's base
  address happens to fall on a 4K boundary (mine does not) then the
  base+4K will end up spanning two pages, and this is when the error
  occurs under xen.

  My patch uses the pci_resource_len macro to determine the size required
  for the user's particular card, instead of the hardcoded 4K value. I've
  tested with a couple of printk() inside ioremap() that the start address
  and size do get rounded to the closest page boundary.

  With this patch I am able to successfully load the saa7134 driver and
  run mythtv under xen with my card, subject to correct pollirq settings
  in case of shared IRQ, I am still seeing occasional DMA panics, which I
  think are related to swiotlb handling by dom0/domU, usually the panic
  occurs when changing mux, once tuned to a mux, 12 hour continuous
  recordings are possible without errors.

Reported-by: Alexey Fisher <bug-track@fisher-privat.net>
Tested-by: Alexey Fisher <bug-track@fisher-privat.net>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Andy Burns <andy@burns.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-11 08:11:21 -02:00
..
au0828 V4L/DVB (9252): au0828: Checkpatch compliance 2008-10-17 17:27:26 -03:00
bt8xx V4L/DVB (9327): v4l: use video_device.num instead of minor in video%d 2008-10-21 14:31:37 -02:00
cpia2 V4L/DVB (9327): v4l: use video_device.num instead of minor in video%d 2008-10-21 14:31:37 -02:00
cx18 V4L/DVB (9299): cx18: Don't mask many real init error codes by mapping them to ENOMEM 2008-10-21 14:20:47 -02:00
cx88 V4L/DVB (9336): cx88: always de-alloc frontends on fault condition 2008-10-21 14:32:12 -02:00
cx23885 V4L/DVB (9327): v4l: use video_device.num instead of minor in video%d 2008-10-21 14:31:37 -02:00
cx25840 V4L/DVB (9162): ivtv: fix raw/sliced VBI mixup 2008-10-13 09:08:01 -02:00
em28xx V4L/DVB (9327): v4l: use video_device.num instead of minor in video%d 2008-10-21 14:31:37 -02:00
et61x251 V4L/DVB (9327): v4l: use video_device.num instead of minor in video%d 2008-10-21 14:31:37 -02:00
gspca V4L/DVB (9294): gspca: Add a stop sequence in t613. 2008-10-17 17:41:20 -03:00
ivtv V4L/DVB (9331): Remove unused inode parameter from video_ioctl2 2008-10-21 14:31:49 -02:00
ovcamchip V4L/DVB (8906): v4l-dvb: fix assorted sparse warnings 2008-10-12 09:36:58 -02:00
pvrusb2 V4L/DVB (9330): Get rid of inode parameter at v4l_compat_translate_ioctl() 2008-10-21 14:31:45 -02:00
pwc V4L/DVB (9327): v4l: use video_device.num instead of minor in video%d 2008-10-21 14:31:37 -02:00
saa7134 V4L/DVB (9356): [PATCH] saa7134: fix resource map sanity check conflict 2008-11-11 08:11:21 -02:00
sn9c102 V4L/DVB (9327): v4l: use video_device.num instead of minor in video%d 2008-10-21 14:31:37 -02:00
usbvideo V4L/DVB (9351): ibmcam: Fix a regression caused by a482f327ff 2008-11-11 08:11:19 -02:00
usbvision V4L/DVB (9327): v4l: use video_device.num instead of minor in video%d 2008-10-21 14:31:37 -02:00
uvc V4L/DVB (9330): Get rid of inode parameter at v4l_compat_translate_ioctl() 2008-10-21 14:31:45 -02:00
zc0301 V4L/DVB (9327): v4l: use video_device.num instead of minor in video%d 2008-10-21 14:31:37 -02:00
zoran V4L/DVB (9234): zoran: Drop redundant printk 2008-10-17 17:24:49 -03:00
adv7170.c V4L/DVB (9198): adv7170: convert i2c driver for new i2c API 2008-10-17 17:15:58 -03:00
adv7175.c V4L/DVB (9199): adv7175: convert i2c driver for new i2c API 2008-10-17 17:16:08 -03:00
arv.c V4L/DVB (9327): v4l: use video_device.num instead of minor in video%d 2008-10-21 14:31:37 -02:00
bt819.c V4L/DVB (9200): bt819: convert i2c driver for new i2c API 2008-10-17 17:17:20 -03:00
bt856.c V4L/DVB (9201): bt856: convert i2c driver for new i2c API 2008-10-17 17:17:30 -03:00
bt866.c V4L/DVB (9202): bt866: convert i2c driver for new i2c API 2008-10-17 17:17:36 -03:00
btcx-risc.c V4L/DVB (8745): v4l2: fix a bunch of compile warnings. 2008-10-12 09:36:52 -02:00
btcx-risc.h V4L/DVB (8757): v4l-dvb: fix a bunch of sparse warnings 2008-09-03 18:37:13 -03:00
bw-qcam.c V4L/DVB (8783): v4l: add all missing video_device release callbacks 2008-10-12 09:36:54 -02:00
bw-qcam.h V4L/DVB (8780): v4l: replace the last uses of video_exclusive_open/release 2008-10-12 09:36:53 -02:00
c-qcam.c V4L/DVB (9327): v4l: use video_device.num instead of minor in video%d 2008-10-21 14:31:37 -02:00
cafe_ccic-regs.h
cafe_ccic.c V4L/DVB (9355): de-BKL cafe_ccic.c 2008-11-11 08:11:20 -02:00
compat_ioctl32.c V4L/DVB (9352): Add some missing compat32 ioctls 2008-11-11 08:11:20 -02:00
cpia_pp.c
cpia_usb.c
cpia.c V4L/DVB (9327): v4l: use video_device.num instead of minor in video%d 2008-10-21 14:31:37 -02:00
cpia.h V4L/DVB (8430): videodev: move some functions from v4l2-dev.h to v4l2-common.h or v4l2-ioctl.h 2008-07-23 19:00:17 -03:00
cs53l32a.c Remove newline from the description of module parameters 2008-08-01 12:46:41 -07:00
cs5345.c Remove newline from the description of module parameters 2008-08-01 12:46:41 -07:00
cs8420.h
cx2341x.c V4L/DVB (8634): v4l2: extend MPEG Encoding API with AVC and AAC 2008-10-12 09:36:47 -02:00
dabusb.c USB: remove warn() macro from usb media drivers 2008-10-17 14:41:08 -07:00
dabusb.h
font.h
hexium_gemini.c
hexium_orion.c
ibmmpeg2.h
indycam.c
indycam.h
ir-kbd-i2c.c V4L/DVB (9168): Add support for MSI TV@nywhere Plus remote 2008-10-13 09:57:34 -02:00
Kconfig V4L/DVB (9129): zoran: move zoran sources into a zoran subdirectory 2008-10-12 09:39:04 -02:00
ks0127.c V4L/DVB (9203): ks0127: convert i2c driver for new i2c API 2008-10-17 17:17:40 -03:00
ks0127.h
m52790.c V4L/DVB (8487): videodev: replace videodev.h includes by videodev2.h where possible 2008-07-26 13:11:36 -03:00
Makefile V4L/DVB (9129): zoran: move zoran sources into a zoran subdirectory 2008-10-12 09:39:04 -02:00
meye.c V4L/DVB (8780): v4l: replace the last uses of video_exclusive_open/release 2008-10-12 09:36:53 -02:00
meye.h V4L/DVB (8780): v4l: replace the last uses of video_exclusive_open/release 2008-10-12 09:36:53 -02:00
msp3400-driver.c V4L/DVB (8487): videodev: replace videodev.h includes by videodev2.h where possible 2008-07-26 13:11:36 -03:00
msp3400-driver.h
msp3400-kthreads.c V4L/DVB (8487): videodev: replace videodev.h includes by videodev2.h where possible 2008-07-26 13:11:36 -03:00
mt9m001.c V4L/DVB (8687): soc-camera: Move .power and .reset from soc_camera host to sensor driver 2008-10-12 09:36:50 -02:00
mt9m111.c V4L/DVB (8800): [v4l-dvb-maintainer] [PATCH] v4l: mt9m111.c make function static 2008-10-12 09:36:55 -02:00
mt9v022.c V4L/DVB (8687): soc-camera: Move .power and .reset from soc_camera host to sensor driver 2008-10-12 09:36:50 -02:00
mxb.c V4L/DVB (8945): mxb: use unique i2c adapter name 2008-10-12 09:37:00 -02:00
mxb.h
ov511.c USB: remove warn() macro from usb media drivers 2008-10-17 14:41:08 -07:00
ov511.h V4L/DVB (9116): USB: remove info() macro from usb media drivers 2008-10-12 09:37:14 -02:00
ov7670.c V4L/DVB (8381): ov7670: fix compile warnings 2008-07-20 07:28:27 -03:00
pms.c V4L/DVB (8783): v4l: add all missing video_device release callbacks 2008-10-12 09:36:54 -02:00
pxa_camera.c V4L/DVB: pxa-camera: Unsigned dma_chans[] cannot be negative 2008-10-12 09:37:02 -02:00
s2255drv.c V4L/DVB (8906): v4l-dvb: fix assorted sparse warnings 2008-10-12 09:36:58 -02:00
saa711x_regs.h
saa717x.c V4L/DVB (8487): videodev: replace videodev.h includes by videodev2.h where possible 2008-07-26 13:11:36 -03:00
saa5246a.c V4L/DVB (8943): saa5246a: convert i2c driver for new i2c API 2008-10-12 09:37:00 -02:00
saa5249.c V4L/DVB (9159): saa5249: fix compile errors 2008-10-13 09:07:50 -02:00
saa6588.c v4l-dvb: remove legacy checks to allow support for kernels < 2.6.10 2008-07-20 07:17:52 -03:00
saa7110.c V4L/DVB (9204): saa7110: convert i2c driver for new i2c API 2008-10-17 17:17:47 -03:00
saa7111.c V4L/DVB (9205): saa7111: convert i2c driver for new i2c API 2008-10-17 17:17:52 -03:00
saa7114.c V4L/DVB (9206): saa7114: convert i2c driver for new i2c API 2008-10-17 17:19:41 -03:00
saa7115.c V4L/DVB (9162): ivtv: fix raw/sliced VBI mixup 2008-10-13 09:08:01 -02:00
saa7121.h
saa7127.c V4L/DVB (9240): saa7127: Fix two typos 2008-10-17 17:25:11 -03:00
saa7146.h
saa7146reg.h
saa7185.c V4L/DVB (9207): saa7185: convert i2c driver for new i2c API 2008-10-17 17:20:01 -03:00
saa7191.c
saa7191.h
se401.c V4L/DVB (9327): v4l: use video_device.num instead of minor in video%d 2008-10-21 14:31:37 -02:00
se401.h V4L/DVB (8430): videodev: move some functions from v4l2-dev.h to v4l2-common.h or v4l2-ioctl.h 2008-07-23 19:00:17 -03:00
sh_mobile_ceu_camera.c V4L/DVB (9244): video: improve sh_mobile_ceu buffer handling 2008-10-17 17:26:10 -03:00
soc_camera_platform.c V4L/DVB (9241): soc-camera: move sensor power management to soc_camera_platform.c 2008-10-17 17:25:29 -03:00
soc_camera.c V4L/DVB (8610): Add suspend/resume capabilities to soc_camera. 2008-08-06 06:57:32 -03:00
stk-sensor.c
stk-webcam.c V4L/DVB (9327): v4l: use video_device.num instead of minor in video%d 2008-10-21 14:31:37 -02:00
stk-webcam.h V4L/DVB (9193): stk-webcam: minor cleanup 2008-10-17 17:14:57 -03:00
stradis.c V4L/DVB (8783): v4l: add all missing video_device release callbacks 2008-10-12 09:36:54 -02:00
stv680.c V4L/DVB (9327): v4l: use video_device.num instead of minor in video%d 2008-10-21 14:31:37 -02:00
stv680.h
tcm825x.c
tcm825x.h
tda7432.c V4L/DVB (8487): videodev: replace videodev.h includes by videodev2.h where possible 2008-07-26 13:11:36 -03:00
tda9840.c V4L/DVB (9033): drivers/media/video/tda9840.c: unbreak 2008-10-12 09:37:08 -02:00
tda9840.h V4L/DVB (8941): mxb/tda9840: cleanups, use module saa7115 instead of saa7111. 2008-10-12 09:37:00 -02:00
tda9875.c V4L/DVB (8487): videodev: replace videodev.h includes by videodev2.h where possible 2008-07-26 13:11:36 -03:00
tea6415c.c V4L/DVB (8630): First mxb cleanup phase 2008-10-12 09:36:47 -02:00
tea6415c.h
tea6420.c V4L/DVB (8630): First mxb cleanup phase 2008-10-12 09:36:47 -02:00
tea6420.h
tlv320aic23b.c V4L/DVB (8487): videodev: replace videodev.h includes by videodev2.h where possible 2008-07-26 13:11:36 -03:00
tuner-core.c V4L/DVB (9049): convert tuner drivers to use dvb_frontend->callback 2008-10-12 09:37:09 -02:00
tvaudio.c security: avoid calling a NULL function pointer in drivers/video/tvaudio.c 2008-10-11 09:54:07 -07:00
tveeprom.c V4L/DVB (9268): tuner: add FMD1216MEX tuner 2008-10-17 17:29:09 -03:00
tvp5150_reg.h
tvp5150.c V4L/DVB (8487): videodev: replace videodev.h includes by videodev2.h where possible 2008-07-26 13:11:36 -03:00
upd64031a.c
upd64083.c
v4l1-compat.c V4L/DVB (9330): Get rid of inode parameter at v4l_compat_translate_ioctl() 2008-10-21 14:31:45 -02:00
v4l2-common.c remove CONFIG_KMOD from drivers 2008-10-17 02:38:35 +11:00
v4l2-dev.c V4L/DVB (9133): v4l: disconnect kernel number from minor 2008-10-12 09:37:16 -02:00
v4l2-int-device.c V4L/DVB (9322): v4l2-int-if: Export more interfaces to modules 2008-10-21 14:31:20 -02:00
v4l2-ioctl.c V4L/DVB (9331): Remove unused inode parameter from video_ioctl2 2008-10-21 14:31:49 -02:00
videobuf-core.c PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures 2008-07-24 10:47:21 -07:00
videobuf-dma-contig.c V4L/DVB (8425): v4l: fix checkpatch errors introduced by recent commits 2008-07-23 08:09:21 -03:00
videobuf-dma-sg.c V4L/DVB (8340): videobuf: Fix gather spelling 2008-07-20 07:25:32 -03:00
videobuf-dvb.c V4L/DVB (9335): videobuf: split unregister bus creating self-contained frontend de-allocator 2008-10-21 14:32:08 -02:00
videobuf-vmalloc.c V4L/DVB (8525): fix a few assorted spelling mistakes. 2008-07-27 11:07:13 -03:00
vino.c remove CONFIG_KMOD from drivers 2008-10-17 02:38:35 +11:00
vino.h
vivi.c V4L/DVB (9327): v4l: use video_device.num instead of minor in video%d 2008-10-21 14:31:37 -02:00
vp27smpx.c V4L/DVB (8487): videodev: replace videodev.h includes by videodev2.h where possible 2008-07-26 13:11:36 -03:00
vpx3220.c V4L/DVB (9208): vpx3220: convert i2c driver for new i2c API 2008-10-17 17:20:13 -03:00
w9966.c V4L/DVB (8788): v4l: replace video_get_drvdata(video_devdata(filp)) with video_drvdata(filp) 2008-10-12 09:36:54 -02:00
w9968cf_decoder.h
w9968cf_vpp.h
w9968cf.c V4L/DVB (9327): v4l: use video_device.num instead of minor in video%d 2008-10-21 14:31:37 -02:00
w9968cf.h V4L/DVB (8487): videodev: replace videodev.h includes by videodev2.h where possible 2008-07-26 13:11:36 -03:00
wm8739.c V4L/DVB (8789): wm8739: remove wrong kfree 2008-09-10 23:18:32 -03:00
wm8775.c V4L/DVB (8487): videodev: replace videodev.h includes by videodev2.h where possible 2008-07-26 13:11:36 -03:00
zr364xx.c V4L/DVB (9327): v4l: use video_device.num instead of minor in video%d 2008-10-21 14:31:37 -02:00