kernel-fxtec-pro1x/drivers/staging
Jerome Marchand c5bde2388e Staging: zram: Replace mutex lock by a R/W semaphore
Currently, nothing protects zram table from concurrent access.
For instance, ZRAM_UNCOMPRESSED bit can be cleared by zram_free_page()
called from a concurrent write between the time ZRAM_UNCOMPRESSED has
been set and the time it is tested to unmap KM_USER0 in
zram_bvec_write(). This ultimately leads to kernel panic.

Also, a read request can occurs when the page has been freed by a
running write request and before it has been updated, leading to
zero filled block being incorrectly read and "Read before write"
error message.

This patch replace the current mutex by a rw_semaphore. It extends
the protection to zram table (currently, only compression buffers are
protected) and read requests (currently, only write requests are
protected).

Signed-off-by: Jerome Marchand <jmarchan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-07-05 10:07:13 -07:00
..
altera-stapl staging: altera-stapl: Fix memory leak of altera_init() 2011-06-28 13:26:23 -07:00
asus_oled
ath6kl ath6kl: Add PMKSA cache management commands 2011-06-28 13:17:25 -07:00
bcm staging: Fix recieve/receive typos 2011-06-28 14:54:17 -07:00
brcm80211 staging: brmc80211: cleaned up sdio related error codes 2011-07-05 10:01:16 -07:00
comedi Staging: comedi: das1800: fixed multiple brace coding style issues and pointer declaration style errors 2011-07-05 09:40:30 -07:00
cptm1217
crystalhd
cx25821
cxd2099
cxt1e1
dt3155v4l staging: use videobuf2 framework for drivers/staging/dt3155v4l driver 2011-06-28 13:24:27 -07:00
easycap
echo
et131x staging: et131x: Removing '_t' from ce_stats_t struct 2011-06-28 14:34:38 -07:00
frontier
ft1000
generic_serial
gma500 gma500: fix build without backlight device support 2011-07-05 08:55:42 -07:00
go7007
hv staging: hv: fix some white spaces in netvsc driver 2011-07-05 09:10:47 -07:00
iio Merge Linux 3.0-rc6 into staging-next 2011-07-05 07:35:09 -07:00
intel_sst staging: intel_sst: Fix memory leak 2011-06-28 13:27:19 -07:00
keucr
line6
lirc
mei Merge Linux 3.0-rc6 into staging-next 2011-07-05 07:35:09 -07:00
msm staging: msm: Use angle brackets for system includes 2011-06-28 14:28:06 -07:00
nvec
octeon staging: octeon: use printk_ratelimited instead of printk_ratelimit 2011-06-28 14:29:19 -07:00
olpc_dcon
panel
phison
pohmelfs
quatech_usb2
quickstart
rtl8187se
rtl8192e Staging: rtl8192e: Fixed numerous coding style issues 2011-06-28 14:33:37 -07:00
rtl8192u
rtl8712
rts_pstor staging: Convert vmalloc/memset to vzalloc 2011-06-28 13:23:57 -07:00
sbe-2t3e3
sep staging: sep: fix function name in kernel-doc 2011-06-28 13:23:57 -07:00
serqt_usb2
slicoss
sm7xx
solo6x10
speakup staging: speakup: Use kstrtoul_from_user 2011-06-28 14:35:41 -07:00
spectra
ste_rmi4 staging: synaptics: Implement error handling for rmi4 touch regulator 2011-06-28 13:23:57 -07:00
tidspbridge
tm6000 tm6000: Cleaned up code style in tm6000-alsa.c 2011-06-28 14:27:24 -07:00
tty Staging: tty: epca: fixing return code-style issue 2011-06-28 14:29:19 -07:00
usbip staging: Fix recieve/receive typos 2011-06-28 14:54:17 -07:00
vme Staging: VME: Introduce IOCTL to generate VME interrupts. 2011-06-28 14:13:05 -07:00
vt6655
vt6656
westbridge
winbond Staging: Winbond: Fix assorted spacing issues. 2011-06-28 14:35:40 -07:00
wlags49_h2
wlags49_h25
wlan-ng Staging: wlan-ng: fix brace coding style issue in prism2fw.c 2011-06-28 14:31:16 -07:00
xgifb
zcache
zram Staging: zram: Replace mutex lock by a R/W semaphore 2011-07-05 10:07:13 -07:00
Kconfig staging: remove obsoleted CS5535/CS5536 GPIO driver 2011-06-28 14:57:01 -07:00
Makefile staging: remove reference to cs5535_gpio makefile 2011-07-05 08:56:33 -07:00
staging.c