linux_dsm_epyc7002/drivers/media/platform
Shuah Khan b16a2d872d [media] s5p-mfc: fix null pointer deference in clk_core_enable()
Fix null pointer deference in clk_core_enable() when driver unbind is run
when there is an application has an active pipeline playing.

s5p_mfc_release() gets called after s5p_mfc_final_pm() disables and does
clk_put() and s5p_mfc_release() attempts to enable clock and runs into
null pointer deference accessing invalid pointer.

[ 4869.434709] Unable to handle kernel NULL pointer dereference at virtual addr0
[ 4869.441312] pgd = e91ac000
[ 4869.443996] [00000010] *pgd=ba4f7835
[ 4869.447552] Internal error: Oops: 17 [#1] PREEMPT SMP ARM
[ 4869.452921] Modules linked in: cpufreq_userspace cpufreq_powersave cpufreq_ca
[ 4869.471728] CPU: 4 PID: 2965 Comm: lt-gst-launch-1 Not tainted 4.7.0-rc2-nex0
[ 4869.481778] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[ 4869.487844] task: e91f1e00 ti: ed650000 task.ti: ed650000
[ 4869.493227] PC is at clk_core_enable+0x4c/0x98
[ 4869.497637] LR is at clk_core_enable+0x40/0x98
[ 4869.502056] pc : [<c0559714>]    lr : [<c0559708>]    psr: 60060093
[ 4869.502056] sp : ed651f18  ip : 00000000  fp : 002641b4
[ 4869.513493] r10: e9088c08  r9 : 00000008  r8 : ed676d68
[ 4869.518692] r7 : ee3ac000  r6 : bf16b3c0  r5 : a0060013  r4 : ee37a8c0
[ 4869.525191] r3 : 00000000  r2 : 00000001  r1 : 00000004  r0 : 00000000
[ 4869.531692] Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment noe
[ 4869.538883] Control: 10c5387d  Table: 691ac06a  DAC: 00000051
[ 4869.544603] Process lt-gst-launch-1 (pid: 2965, stack limit = 0xed650210)
[ 4869.551361] Stack: (0xed651f18 to 0xed652000)
[ 4869.555694] 1f00:                                                       ee373
[ 4869.563841] 1f20: bf16b3c0 c055a0e0 ee3ac004 ed676c10 bf16b3c0 bf1558e0 e9080
[ 4869.571986] 1f40: 00000000 ee98a510 ee502e40 bf047344 e9088c00 ee986938 00004
[ 4869.580132] 1f60: 00000000 00000000 e91f2204 00000000 c0b4658c e91f1e00 c0100
[ 4869.588277] 1f80: 00000000 c0135c58 ed650000 c0107904 ed651fb0 00000006 c0104
[ 4869.596423] 1fa0: 00229500 b6581000 b6f7b544 c0107794 00000000 00000002 b6f90
[ 4869.604568] 1fc0: 00229500 b6581000 b6f7b544 00000006 0017b600 0002c038 00264
[ 4869.612714] 1fe0: 00000000 bee56ef0 00000000 b6d49612 00060030 00000006 00000
[ 4869.620865] [<c0559714>] (clk_core_enable) from [<c055a0e0>] (clk_enable+0x2)
[ 4869.628509] [<c055a0e0>] (clk_enable) from [<bf1558e0>] (s5p_mfc_release+0x3)
[ 4869.637111] [<bf1558e0>] (s5p_mfc_release [s5p_mfc]) from [<bf047344>] (v4l2)
[ 4869.646706] [<bf047344>] (v4l2_release [videodev]) from [<c01e4274>] (__fput)
[ 4869.654745] [<c01e4274>] (__fput) from [<c0135c58>] (task_work_run+0x94/0xc8)
[ 4869.661852] [<c0135c58>] (task_work_run) from [<c010a9d4>] (do_work_pending+)
[ 4869.669735] [<c010a9d4>] (do_work_pending) from [<c0107794>] (slow_work_pend)
[ 4869.677878] Code: ebffffef e3500000 18bd8070 e5943004 (e5933010)

Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-08 14:26:21 -03:00
..
am437x [media] am437x-vpfe: fix an uninitialized variable bug 2016-04-13 17:09:55 -03:00
blackfin [media] media: videobuf2: Move timestamp to vb2_buffer 2015-12-18 13:53:31 -02:00
coda media updates for v4.6-rc1 2016-03-16 18:27:32 -07:00
davinci [media] davinci: ccdc_update_raw_params() frees the wrong thing 2016-01-25 15:15:26 -02:00
exynos4-is exynos4-is: remove some unused vars 2016-06-24 08:36:13 -03:00
exynos-gsc media: set proper max seg size for devices on Exynos SoCs 2016-06-03 11:13:11 +02:00
marvell-ccic [media] media: videobuf2: Move timestamp to vb2_buffer 2015-12-18 13:53:31 -02:00
mtk-vcodec [media] vcodec: mediatek: Add Mediatek H264 Video Encoder Driver 2016-07-08 14:12:51 -03:00
mtk-vpu [media] VPU: mediatek: support Mediatek VPU 2016-07-08 14:04:48 -03:00
omap fbdev changes for 4.5 2016-01-18 11:58:31 -08:00
omap3isp [media] media: Rename is_media_entity_v4l2_io to is_media_entity_v4l2_video_device 2016-04-13 17:20:48 -03:00
rcar-vin [media] media: rcar-vin: add DV timings support 2016-06-28 09:06:40 -03:00
s3c-camif [media] media: s3c-camif: fix deadlock on driver probe() 2016-05-02 10:39:58 -03:00
s5p-g2d media: set proper max seg size for devices on Exynos SoCs 2016-06-03 11:13:11 +02:00
s5p-jpeg media: set proper max seg size for devices on Exynos SoCs 2016-06-03 11:13:11 +02:00
s5p-mfc [media] s5p-mfc: fix null pointer deference in clk_core_enable() 2016-07-08 14:26:21 -03:00
s5p-tv media: set proper max seg size for devices on Exynos SoCs 2016-06-03 11:13:11 +02:00
soc_camera [media] rcar-vin: add Renesas R-Car VIN driver 2016-06-16 07:42:32 -03:00
sti bdisp: move the V/H filter spec to bdisp-hw.c 2016-06-24 12:27:51 -03:00
ti-vpe [media] media: ti-vpe: cal: Fix warning: variable dereference before being checked 2016-02-23 07:17:27 -03:00
vivid vivid: remove some unused vars 2016-06-24 12:09:49 -03:00
vsp1 [media] v4l: vsp1: Update WPF and LIF maximum sizes for Gen3 2016-04-13 19:16:10 -03:00
xilinx [media] xilinx-vipp: remove unnecessary of_node_put 2016-05-07 11:45:38 -03:00
arv.c [media] media: remove the setting of the flag V4L2_FL_USE_FH_PRIO 2014-07-04 16:14:59 -03:00
fsl-viu.c [media] fsl-viu: drop format names 2015-08-11 06:59:09 -03:00
Kconfig [media] vcodec: mediatek: Add Mediatek V4L2 Video Encoder Driver 2016-07-08 14:10:51 -03:00
m2m-deinterlace.c [media] media: videobuf2: Move timestamp to vb2_buffer 2015-12-18 13:53:31 -02:00
Makefile [media] vcodec: mediatek: Add Mediatek V4L2 Video Encoder Driver 2016-07-08 14:10:51 -03:00
mx2_emmaprp.c [media] media: videobuf2: Move timestamp to vb2_buffer 2015-12-18 13:53:31 -02:00
rcar_jpu.c [media] rcar_jpu: Add R-Car Gen2 Fallback Compatibility String 2016-02-01 09:48:19 -02:00
sh_veu.c [media] media: videobuf2: Move timestamp to vb2_buffer 2015-12-18 13:53:31 -02:00
sh_vou.c [media] media: videobuf2: Move timestamp to vb2_buffer 2015-12-18 13:53:31 -02:00
via-camera.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
via-camera.h
vim2m.c [media] vim2m: return error if driver registration fails 2016-02-01 07:37:46 -02:00