linux/drivers/video
Tomi Valkeinen 229d5b12c9 video/logo: prevent use of logos after they have been freed
commit 92b004d1aa upstream.

If the probe of an fb driver has been deferred due to missing
dependencies, and the probe is later ran when a module is loaded, the
fbdev framework will try to find a logo to use.

However, the logos are __initdata, and have already been freed. This
causes sometimes page faults, if the logo memory is not mapped,
sometimes other random crashes as the logo data is invalid, and
sometimes nothing, if the fbdev decides to reject the logo (e.g. the
random value depicting the logo's height is too big).

This patch adds a late_initcall function to mark the logos as freed. In
reality the logos are freed later, and fbdev probe may be ran between
this late_initcall and the freeing of the logos. In that case we will
miss drawing the logo, even if it would be possible.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-27 07:52:31 -08:00
..
aty mach64: fix cursor when character width is not a multiple of 8 pixels 2014-05-13 13:59:43 +02:00
backlight backlight: atmel-pwm-bl: fix reported brightness 2013-12-04 10:55:47 -08:00
console framebuffer: fix border color 2014-11-14 08:47:56 -08:00
exynos Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-04-30 09:36:50 -07:00
geode drivers/video/geode: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:52:46 -08:00
i810 Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
intelfb Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
kyro video: kyro: fix incorrect sizes when copying to userspace 2013-12-08 07:29:27 -08:00
logo video/logo: prevent use of logos after they have been freed 2015-01-27 07:52:31 -08:00
matrox matroxfb: perform a dummy read of M_STATUS 2014-06-30 20:09:42 -07:00
mb862xx Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
mbx Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
mmp drivers/video/mmp: remove legacy hw definitions 2013-04-29 15:54:27 -07:00
msm new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
nvidia Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
omap ARM: OMAP: remove "config FB_OMAP_CONSISTENT_DMA_SIZE" 2013-04-10 15:03:31 +03:00
omap2 Merge branch 'fbdev-3.10-fixes' of git://gitorious.org/linux-omap-dss2/linux into linux-fbdev/for-3.10-fixes 2013-05-29 17:00:34 +08:00
riva Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
savage Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sis Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
vermilion fbdev/vermillion: use vm_iomap_memory() 2013-04-24 08:41:42 +03:00
via viafb: rename display_timing to via_display_timing 2013-01-24 08:59:44 +01:00
68328fb.c mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
acornfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
acornfb.h
amba-clcd.c
amifb.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-04-30 09:36:50 -07:00
arcfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
arkfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
asiliantfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atafb.c
atafb.h
atmel_lcdfb.c atmel_lcdfb: blank the backlight on remove 2013-06-01 03:18:55 +08:00
au1100fb.c Fix a few incorrectly checked [io_]remap_pfn_range() calls 2013-11-13 12:05:33 +09:00
au1100fb.h
au1200fb.c Fix a few incorrectly checked [io_]remap_pfn_range() calls 2013-11-13 12:05:33 +09:00
au1200fb.h
auo_k190x.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-04-30 09:36:50 -07:00
auo_k190x.h
auo_k1900fb.c AUO-K190x: add runtime-pm calls to controller init functions 2013-04-04 13:08:06 +03:00
auo_k1901fb.c AUO-K190x: add runtime-pm calls to controller init functions 2013-04-04 13:08:06 +03:00
bf54x-lq043fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
bf537-lq035.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
bfin_adv7393fb.c procfs: new helper - PDE_DATA(inode) 2013-04-09 14:13:32 -04:00
bfin_adv7393fb.h
bfin-lq035q1-fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
bfin-t350mcqb-fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
broadsheetfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
bt431.h
bt455.h
bw2.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
c2p_core.h
c2p_iplan2.c
c2p_planar.c
c2p.h
carminefb_regs.h
carminefb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
carminefb.h
cfbcopyarea.c framebuffer: fix cfb_copyarea 2014-05-13 13:59:42 +02:00
cfbfillrect.c
cfbimgblt.c
cg3.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
cg6.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
cg14.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
chipsfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
cirrusfb.c powerpc: remove PReP platform 2013-04-18 13:03:53 +10:00
clps711xfb.c ARM defconfigs: add missing inclusions of linux/platform_device.h 2013-02-14 15:14:32 -08:00
cobalt_lcdfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
controlfb.c fbdev/controlfb: use vm_iomap_memory() 2013-04-24 08:41:41 +03:00
controlfb.h
cyber2000fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
cyber2000fb.h
da8xx-fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
display_timing.c video: add display_timing and videomode 2013-01-24 09:03:04 +01:00
dnfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
edid.h
efifb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
ep93xx-fb.c drivers/video/ep93xx-fb.c: fix section mismatch and use module_platform_driver 2013-04-29 15:54:26 -07:00
fb_ddc.c
fb_defio.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
fb_draw.h
fb_notify.c
fb_sys_fops.c
fb-puv3.c drivers/video/fbdev/fb-puv3.c: Add header files for function unifb_mmap 2014-07-09 11:14:03 -07:00
fbcmap.c
fbcvt.c
fbmem.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2013-05-02 19:40:34 -07:00
fbmon.c Merge branch '3.10/fb-mmap' into for-next 2013-04-26 09:14:47 +03:00
fbsysfs.c fb: rework locking to fix lock ordering on takeover 2013-02-08 12:02:40 +10:00
ffb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
fm2fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
fsl-diu-fb.c drivers/video: fsl-diu-fb: add hardware cursor support 2013-04-10 15:03:32 +03:00
g364fb.c
gbefb.c fbdev: improve fb_mmap bounds checks 2013-04-26 08:28:56 +03:00
goldfishfb.c treewide: Fix typos in printk 2013-03-20 16:26:32 +01:00
grvga.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
gxt4500.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
hdmi.c video: hdmi: Relicense under MIT 2013-04-12 14:01:40 +10:00
hecubafb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
hgafb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
hitfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
hpfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
hyperv_fb.c hyperv-fb: add pci stub 2013-11-20 12:27:47 -08:00
i740_reg.h
i740fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
igafb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
imsttfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
imxfb.c This is yet another critical imxfb fixes held off by absence of FB 2013-01-23 20:35:02 -08:00
jz4740_fb.c video: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
Kconfig fbdev: FB_GOLDFISH should depend on HAS_DMA 2013-05-24 16:22:52 -07:00
leo.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
macfb.c
macmodes.c
macmodes.h
Makefile drivers/video: implement a simple framebuffer driver 2013-05-24 16:22:51 -07:00
maxinefb.c
metronomefb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
modedb.c
mx3fb.c drivers/video/mx3fb.c: use NULL for pointer 2013-02-21 17:22:19 -08:00
mxsfb.c video: mxsfb: Adapt to new videomode API 2013-05-09 13:06:00 -07:00
n411.c
neofb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
nuc900fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
nuc900fb.h ARM: w90x900: move platform_data definitions 2012-09-14 11:18:59 +02:00
of_display_timing.c videomode: combine videomode dmt_flags and data_flags 2013-03-12 15:46:52 +02:00
of_videomode.c videomode: videomode_from_timing work 2013-03-21 14:34:33 +02:00
offb.c
output.c
p9100.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
platinumfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
platinumfb.h
pm2fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pm3fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pmag-aa-fb.c
pmag-ba-fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pmagb-b-fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
ps3fb.c fbdev/ps3fb: fix compile warning 2013-05-02 14:59:21 +03:00
pvr2fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pxa3xx-gcu.c pxa3xx-gcu: stop embedding file_operations into device-private object 2013-04-09 14:16:40 -04:00
pxa3xx-gcu.h
pxa168fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pxa168fb.h
pxafb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pxafb.h
q40fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
s1d13xxxfb.c treewide: Fix typo in printks 2013-04-12 15:21:36 +02:00
s3c-fb.c video/s3c: move platform_data out of arch/arm 2013-04-11 14:49:20 +03:00
s3c2410fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
s3c2410fb.h
s3fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sa1100fb.c fbdev/sa1100fb: use vm_iomap_memory() 2013-04-24 08:41:41 +03:00
sa1100fb.h
sbuslib.c mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
sbuslib.h
sgivwfb.c fbdev/sgivwfb: use vm_iomap_memory() 2013-04-24 08:41:42 +03:00
sh_mipi_dsi.c drivers: video: use module_platform_driver_probe() 2013-04-10 15:03:31 +03:00
sh_mobile_hdmi.c drivers: video: use module_platform_driver_probe() 2013-04-10 15:03:31 +03:00
sh_mobile_lcdcfb.c fbdev: sh_mobile_lcdc: fixup B side hsync adjust settings 2013-03-27 22:47:24 +09:00
sh_mobile_lcdcfb.h fbdev: sh_mobile_lcdc: Store the backlight brightness internally 2012-11-21 15:50:01 +01:00
sh_mobile_meram.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sh7760fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
simplefb.c drivers/video: implement a simple framebuffer driver 2013-05-24 16:22:51 -07:00
skeletonfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sm501fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
smscufx.c fbdev: improve fb_mmap bounds checks 2013-04-26 08:28:56 +03:00
ssd1307fb.c treewide: Fix typo in printks 2013-04-12 15:21:36 +02:00
sstfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sticore.h parisc: sticon - unbreak on 64bit kernel 2013-12-04 10:55:46 -08:00
stifb.c parisc: sticon - unbreak on 64bit kernel 2013-12-04 10:55:46 -08:00
sunxvr500.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sunxvr1000.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sunxvr2500.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
svgalib.c
syscopyarea.c
sysfillrect.c
sysimgblt.c
tcx.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
tdfxfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
tgafb.c tgafb: fix mode setting with fbset 2014-05-30 21:52:12 -07:00
tmiofb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
tridentfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
udlfb.c fbdev: improve fb_mmap bounds checks 2013-04-26 08:28:56 +03:00
uvesafb.c video/uvesafb: rename random32() to prandom_u32() 2013-04-29 18:28:43 -07:00
valkyriefb.c
valkyriefb.h
vesafb.c
vfb.c fbdev: improve fb_mmap bounds checks 2013-04-26 08:28:56 +03:00
vga16fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
vgastate.c
videomode.c videomode: videomode_from_timing work 2013-03-21 14:34:33 +02:00
vt8500lcdfb.c video: fb: vt8500: Convert framebuffer drivers to standardized binding 2013-04-04 13:07:34 +03:00
vt8500lcdfb.h
vt8623fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
w100fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
w100fb.h
wm8505fb_regs.h
wm8505fb.c video: wm8505fb: Convert to devm_ioremap_resource() 2013-04-10 11:15:49 +03:00
wmt_ge_rops.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
wmt_ge_rops.h video: vt8500: Make wmt_ge_rops optional 2013-04-04 13:07:33 +03:00
xen-fbfront.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
xilinxfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00