kernel_optimize_test/drivers/video
Patrick McManus 346e399b2a [PATCH] intelfb section fix
On Nov 16 2004 a change to intelfbdrv.c was commited (as part of 0.9.2 it
looks like) that added __initdata to all of the module param variables that
seems to create the opportunity for an oops.

I've recently been chasing an OOPS
(http://marc.theaimsgroup.com/?l=linux-kernel&m=111552250920370&w=2) I
created by reading every file on the /sys file system and I've traced it
back to this code in the intelfbdrv.  Though I had root privs in my initial
problem report, it turns out they are un-necessary to generate the oops -
all you've got to do is "cat /sys/module/intelfb/parameters/mode" enough
times and eventually it will oops.

This is because sysfs automatically exports all module_param declarations
to the sysfs file system..  which means those variables can be dynamically
evaluated at any later time, which of course means marking them __initdata
is a bad idea ;)..  when they happen to be char *'s it is an especially bad
idea ;).

Applying the patch below clears up the OOPS for me.

Signed-off-by: Patrick McManus <mcmanus@ducksong.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-28 16:46:09 -07:00
..
aty
backlight
console
geode
i810
intelfb
kyro
logo
matrox
nvidia
riva
savage
sis
68328fb.c
acornfb.c
acornfb.h
amba-clcd.c
amifb.c
asiliantfb.c
atafb.c
au1100fb.c
au1100fb.h
bt431.h
bt455.h
bw2.c
c2p.c
c2p.h
cfbcopyarea.c
cfbfillrect.c
cfbimgblt.c
cg3.c
cg6.c
cg14.c
chipsfb.c
cirrusfb.c
clps711xfb.c
controlfb.c
controlfb.h
cyber2000fb.c
cyber2000fb.h
cyberfb.c
cyberfb.h
dnfb.c
edid.h
epson1355fb.c
fbcmap.c
fbmem.c
fbmon.c
fbsysfs.c
ffb.c
fm2fb.c
g364fb.c
gbefb.c
hgafb.c
hitfb.c
hpfb.c
igafb.c
imsttfb.c
imxfb.c
imxfb.h
Kconfig
leo.c
macfb.c
macmodes.c
macmodes.h
Makefile
maxinefb.c
modedb.c
neofb.c
offb.c
p9100.c
platinumfb.c
platinumfb.h
pm2fb.c
pm3fb.c
pmag-aa-fb.c
pmag-ba-fb.c
pmagb-b-fb.c
pvr2fb.c
pxafb.c
pxafb.h
q40fb.c
radeonfb.c
retz3fb.c
retz3fb.h
s1d13xxxfb.c
S3triofb.c
sa1100fb.c
sa1100fb.h
sbuslib.c
sbuslib.h
sgivwfb.c
skeletonfb.c
softcursor.c
sstfb.c
sticore.h
stifb.c
sun3fb.c
tcx.c
tdfxfb.c
tgafb.c
tridentfb.c
tx3912fb.c
valkyriefb.c
valkyriefb.h
vesafb.c
vfb.c
vga16fb.c
vgastate.c
virgefb.c
virgefb.h
w100fb.c
w100fb.h