https://github.com/torvalds/linux
Revision 9fe79d7600497ed8a95c3981cbe5b73ab98222f0 authored by Tyler Hicks on 12 June 2012, 18:17:01 UTC, committed by Tyler Hicks on 03 July 2012, 23:34:09 UTC
If the first attempt at opening the lower file read/write fails,
eCryptfs will retry using a privileged kthread. However, the privileged
retry should not happen if the lower file's inode is read-only because a
read/write open will still be unsuccessful.

The check for determining if the open should be retried was intended to
be based on the access mode of the lower file's open flags being
O_RDONLY, but the check was incorrectly performed. This would cause the
open to be retried by the privileged kthread, resulting in a second
failed open of the lower file. This patch corrects the check to
determine if the open request should be handled by the privileged
kthread.

Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Dan Carpenter <dan.carpenter@oracle.com>
1 parent ff826b2
History
Tip revision: 9fe79d7600497ed8a95c3981cbe5b73ab98222f0 authored by Tyler Hicks on 12 June 2012, 18:17:01 UTC
eCryptfs: Properly check for O_RDONLY flag before doing privileged open
Tip revision: 9fe79d7
File Mode Size
include
Kconfig -rw-r--r-- 8.5 KB
Makefile -rw-r--r-- 10.2 KB
Makefile.boot -rw-r--r-- 86 bytes
am35xx-emac.c -rw-r--r-- 3.5 KB
am35xx-emac.h -rw-r--r-- 530 bytes
board-2430sdp.c -rw-r--r-- 7.3 KB
board-3430sdp.c -rw-r--r-- 14.9 KB
board-3630sdp.c -rw-r--r-- 5.3 KB
board-4430sdp.c -rw-r--r-- 22.1 KB
board-am3517crane.c -rw-r--r-- 2.8 KB
board-am3517evm.c -rw-r--r-- 9.7 KB
board-apollon.c -rw-r--r-- 9.0 KB
board-cm-t35.c -rw-r--r-- 18.9 KB
board-cm-t3517.c -rw-r--r-- 7.8 KB
board-devkit8000.c -rw-r--r-- 18.8 KB
board-flash.c -rw-r--r-- 6.0 KB
board-flash.h -rw-r--r-- 1.6 KB
board-generic.c -rw-r--r-- 3.4 KB
board-h4.c -rw-r--r-- 10.0 KB
board-igep0020.c -rw-r--r-- 17.3 KB
board-ldp.c -rw-r--r-- 10.5 KB
board-n8x0.c -rw-r--r-- 15.7 KB
board-omap3beagle.c -rw-r--r-- 13.8 KB
board-omap3evm.c -rw-r--r-- 18.5 KB
board-omap3logic.c -rw-r--r-- 7.3 KB
board-omap3pandora.c -rw-r--r-- 16.3 KB
board-omap3stalker.c -rw-r--r-- 11.1 KB
board-omap3touchbook.c -rw-r--r-- 9.6 KB
board-omap4panda.c -rw-r--r-- 14.4 KB
board-overo.c -rw-r--r-- 13.9 KB
board-rm680.c -rw-r--r-- 4.1 KB
board-rx51-peripherals.c -rw-r--r-- 32.2 KB
board-rx51-video.c -rw-r--r-- 2.4 KB
board-rx51.c -rw-r--r-- 3.2 KB
board-ti8168evm.c -rw-r--r-- 1.9 KB
board-zoom-debugboard.c -rw-r--r-- 3.3 KB
board-zoom-display.c -rw-r--r-- 3.6 KB
board-zoom-peripherals.c -rw-r--r-- 7.6 KB
board-zoom.c -rw-r--r-- 4.5 KB
clkt2xxx_apll.c -rw-r--r-- 3.2 KB
clkt2xxx_dpll.c -rw-r--r-- 1.4 KB
clkt2xxx_dpllcore.c -rw-r--r-- 4.4 KB
clkt2xxx_osc.c -rw-r--r-- 1.9 KB
clkt2xxx_sys.c -rw-r--r-- 1.0 KB
clkt2xxx_virt_prcm_set.c -rw-r--r-- 4.5 KB
clkt34xx_dpll3m2.c -rw-r--r-- 3.1 KB
clkt_clksel.c -rw-r--r-- 14.6 KB
clkt_dpll.c -rw-r--r-- 10.3 KB
clkt_iclk.c -rw-r--r-- 2.0 KB
clock.c -rw-r--r-- 14.9 KB
clock.h -rw-r--r-- 5.2 KB
clock2420_data.c -rw-r--r-- 59.9 KB
clock2430.c -rw-r--r-- 1.8 KB
clock2430_data.c -rw-r--r-- 62.8 KB
clock2xxx.c -rw-r--r-- 1.5 KB
clock2xxx.h -rw-r--r-- 1.3 KB
clock34xx.c -rw-r--r-- 5.1 KB
clock34xx.h -rw-r--r-- 626 bytes
clock3517.c -rw-r--r-- 4.2 KB
clock3517.h -rw-r--r-- 355 bytes
clock36xx.c -rw-r--r-- 2.0 KB
clock36xx.h -rw-r--r-- 313 bytes
clock3xxx.c -rw-r--r-- 2.5 KB
clock3xxx.h -rw-r--r-- 563 bytes
clock3xxx_data.c -rw-r--r-- 109.5 KB
clock44xx.h -rw-r--r-- 517 bytes
clock44xx_data.c -rw-r--r-- 104.7 KB
clock_common_data.c -rw-r--r-- 1.3 KB
clockdomain.c -rw-r--r-- 30.1 KB
clockdomain.h -rw-r--r-- 8.1 KB
clockdomain2xxx_3xxx.c -rw-r--r-- 7.1 KB
clockdomain44xx.c -rw-r--r-- 3.7 KB
clockdomains2420_data.c -rw-r--r-- 4.0 KB
clockdomains2430_data.c -rw-r--r-- 4.9 KB
clockdomains2xxx_3xxx_data.c -rw-r--r-- 2.6 KB
clockdomains3xxx_data.c -rw-r--r-- 10.0 KB
clockdomains44xx_data.c -rw-r--r-- 13.5 KB
clockdomains_common_data.c -rw-r--r-- 536 bytes
cm-regbits-24xx.h -rw-r--r-- 14.9 KB
cm-regbits-34xx.h -rw-r--r-- 27.6 KB
cm-regbits-44xx.h -rw-r--r-- 53.6 KB
cm.h -rw-r--r-- 1.2 KB
cm1_44xx.h -rw-r--r-- 13.3 KB
cm2_44xx.h -rw-r--r-- 28.8 KB
cm2xxx_3xxx.c -rw-r--r-- 17.6 KB
cm2xxx_3xxx.h -rw-r--r-- 5.0 KB
cm44xx.c -rw-r--r-- 1.3 KB
cm44xx.h -rw-r--r-- 710 bytes
cminst44xx.c -rw-r--r-- 11.0 KB
cminst44xx.h -rw-r--r-- 2.2 KB
common-board-devices.c -rw-r--r-- 3.6 KB
common-board-devices.h -rw-r--r-- 437 bytes
common.c -rw-r--r-- 4.6 KB
common.h -rw-r--r-- 8.2 KB
control.c -rw-r--r-- 18.1 KB
control.h -rw-r--r-- 18.5 KB
cpuidle34xx.c -rw-r--r-- 9.2 KB
cpuidle44xx.c -rw-r--r-- 4.9 KB
devices.c -rw-r--r-- 18.1 KB
devices.h -rw-r--r-- 515 bytes
display.c -rw-r--r-- 12.2 KB
display.h -rw-r--r-- 893 bytes
dma.c -rw-r--r-- 7.7 KB
dpll3xxx.c -rw-r--r-- 15.7 KB
dpll44xx.c -rw-r--r-- 3.7 KB
dsp.c -rw-r--r-- 2.9 KB
emu.c -rw-r--r-- 1.3 KB
gpio.c -rw-r--r-- 5.2 KB
gpmc-nand.c -rw-r--r-- 3.2 KB
gpmc-onenand.c -rw-r--r-- 10.4 KB
gpmc-smc91x.c -rw-r--r-- 4.9 KB
gpmc-smsc911x.c -rw-r--r-- 2.6 KB
gpmc.c -rw-r--r-- 27.6 KB
hdq1w.c -rw-r--r-- 2.3 KB
hsmmc.c -rw-r--r-- 15.3 KB
hsmmc.h -rw-r--r-- 1.7 KB
hwspinlock.c -rw-r--r-- 1.7 KB
i2c.c -rw-r--r-- 2.9 KB
id.c -rw-r--r-- 12.2 KB
io.c -rw-r--r-- 10.7 KB
iomap.h -rw-r--r-- 6.6 KB
iommu2.c -rw-r--r-- 8.5 KB
irq.c -rw-r--r-- 8.9 KB
mailbox.c -rw-r--r-- 10.2 KB
mcbsp.c -rw-r--r-- 5.7 KB
msdi.c -rw-r--r-- 2.6 KB
mux.c -rw-r--r-- 26.0 KB
mux.h -rw-r--r-- 9.5 KB
mux2420.c -rw-r--r-- 24.8 KB
mux2420.h -rw-r--r-- 15.2 KB
mux2430.c -rw-r--r-- 30.0 KB
mux2430.h -rw-r--r-- 19.9 KB
mux34xx.c -rw-r--r-- 78.0 KB
mux34xx.h -rw-r--r-- 20.3 KB
mux44xx.c -rw-r--r-- 61.6 KB
mux44xx.h -rw-r--r-- 15.3 KB
omap-headsmp.S -rw-r--r-- 1.2 KB
omap-hotplug.c -rw-r--r-- 1.5 KB
omap-iommu.c -rw-r--r-- 3.6 KB
omap-mpuss-lowpower.c -rw-r--r-- 10.4 KB
omap-secure.c -rw-r--r-- 1.6 KB
omap-smc.S -rw-r--r-- 1.8 KB
omap-smp.c -rw-r--r-- 4.6 KB
omap-wakeupgen.c -rw-r--r-- 9.6 KB
omap4-common.c -rw-r--r-- 6.0 KB
omap4-sar-layout.h -rw-r--r-- 1.8 KB
omap_hwmod.c -rw-r--r-- 94.2 KB
omap_hwmod_2420_data.c -rw-r--r-- 14.2 KB
omap_hwmod_2430_data.c -rw-r--r-- 23.3 KB
omap_hwmod_2xxx_3xxx_interconnect_data.c -rw-r--r-- 3.4 KB
omap_hwmod_2xxx_3xxx_ipblock_data.c -rw-r--r-- 7.4 KB
omap_hwmod_2xxx_interconnect_data.c -rw-r--r-- 9.0 KB
omap_hwmod_2xxx_ipblock_data.c -rw-r--r-- 17.3 KB
omap_hwmod_3xxx_data.c -rw-r--r-- 83.8 KB
omap_hwmod_44xx_data.c -rw-r--r-- 153.9 KB
omap_hwmod_common_data.c -rw-r--r-- 1.7 KB
omap_hwmod_common_data.h -rw-r--r-- 8.0 KB
omap_l3_noc.c -rw-r--r-- 6.7 KB
omap_l3_noc.h -rw-r--r-- 3.4 KB
omap_l3_smx.c -rw-r--r-- 7.3 KB
omap_l3_smx.h -rw-r--r-- 8.0 KB
omap_opp_data.h -rw-r--r-- 3.3 KB
omap_phy_internal.c -rw-r--r-- 6.9 KB
omap_twl.c -rw-r--r-- 10.4 KB
opp.c -rw-r--r-- 2.5 KB
opp2420_data.c -rw-r--r-- 4.9 KB
opp2430_data.c -rw-r--r-- 4.8 KB
opp2xxx.h -rw-r--r-- 15.2 KB
opp3xxx_data.c -rw-r--r-- 6.0 KB
opp4xxx_data.c -rw-r--r-- 3.7 KB
pm-debug.c -rw-r--r-- 5.9 KB
pm.c -rw-r--r-- 7.0 KB
pm.h -rw-r--r-- 3.1 KB
pm24xx.c -rw-r--r-- 9.6 KB
pm34xx.c -rw-r--r-- 21.7 KB
pm44xx.c -rw-r--r-- 5.9 KB
powerdomain-common.c -rw-r--r-- 3.1 KB
powerdomain.c -rw-r--r-- 27.5 KB
powerdomain.h -rw-r--r-- 8.8 KB
powerdomain2xxx_3xxx.c -rw-r--r-- 6.7 KB
powerdomain44xx.c -rw-r--r-- 5.6 KB
powerdomains2xxx_3xxx_data.c -rw-r--r-- 1.9 KB
powerdomains2xxx_3xxx_data.h -rw-r--r-- 596 bytes
powerdomains2xxx_data.c -rw-r--r-- 2.9 KB
powerdomains3xxx_data.c -rw-r--r-- 7.9 KB
powerdomains44xx_data.c -rw-r--r-- 9.8 KB
prcm-common.h -rw-r--r-- 18.0 KB
prcm.c -rw-r--r-- 4.9 KB
prcm44xx.h -rw-r--r-- 1.1 KB
prcm_mpu44xx.c -rw-r--r-- 1006 bytes
prcm_mpu44xx.h -rw-r--r-- 4.7 KB
prm-regbits-24xx.h -rw-r--r-- 8.3 KB
prm-regbits-34xx.h -rw-r--r-- 20.2 KB
prm-regbits-44xx.h -rw-r--r-- 80.1 KB
prm.h -rw-r--r-- 1.5 KB
prm2xxx_3xxx.c -rw-r--r-- 9.2 KB
prm2xxx_3xxx.h -rw-r--r-- 16.4 KB
prm44xx.c -rw-r--r-- 7.0 KB
prm44xx.h -rw-r--r-- 48.9 KB
prm_common.c -rw-r--r-- 8.6 KB
prminst44xx.c -rw-r--r-- 5.5 KB
prminst44xx.h -rw-r--r-- 1.2 KB
scrm44xx.h -rw-r--r-- 6.2 KB
sdram-hynix-h8mbx00u0mer-0em.h -rw-r--r-- 1.2 KB
sdram-micron-mt46h32m32lf-6.h -rw-r--r-- 1.3 KB
sdram-nokia.c -rw-r--r-- 6.3 KB
sdram-nokia.h -rw-r--r-- 327 bytes
sdram-numonyx-m65kxxxxam.h -rw-r--r-- 1.1 KB
sdram-qimonda-hyb18m512160af-6.h -rw-r--r-- 1.2 KB
sdrc.c -rw-r--r-- 4.4 KB
sdrc.h -rw-r--r-- 1.9 KB
sdrc2xxx.c -rw-r--r-- 4.3 KB
serial.c -rw-r--r-- 10.2 KB
sleep24xx.S -rw-r--r-- 3.9 KB
sleep34xx.S -rw-r--r-- 15.9 KB
sleep44xx.S -rw-r--r-- 9.7 KB
smartreflex-class3.c -rw-r--r-- 1.4 KB
smartreflex.c -rw-r--r-- 30.6 KB
smartreflex.h -rw-r--r-- 7.6 KB
sr_device.c -rw-r--r-- 3.5 KB
sram242x.S -rw-r--r-- 10.3 KB
sram243x.S -rw-r--r-- 10.3 KB
sram34xx.S -rw-r--r-- 10.7 KB
timer.c -rw-r--r-- 14.8 KB
twl-common.c -rw-r--r-- 15.3 KB
twl-common.h -rw-r--r-- 2.0 KB
usb-fs.c -rw-r--r-- 7.7 KB
usb-host.c -rw-r--r-- 16.3 KB
usb-musb.c -rw-r--r-- 3.0 KB
usb-tusb6010.c -rw-r--r-- 8.7 KB
vc.c -rw-r--r-- 10.2 KB
vc.h -rw-r--r-- 4.1 KB
vc3xxx_data.c -rw-r--r-- 2.4 KB
vc44xx_data.c -rw-r--r-- 3.1 KB
voltage.c -rw-r--r-- 11.6 KB
voltage.h -rw-r--r-- 5.4 KB
voltagedomains2xxx_data.c -rw-r--r-- 699 bytes
voltagedomains3xxx_data.c -rw-r--r-- 2.9 KB
voltagedomains44xx_data.c -rw-r--r-- 2.7 KB
vp.c -rw-r--r-- 7.2 KB
vp.h -rw-r--r-- 4.2 KB
vp3xxx_data.c -rw-r--r-- 2.4 KB
vp44xx_data.c -rw-r--r-- 2.8 KB
wd_timer.c -rw-r--r-- 2.9 KB
wd_timer.h -rw-r--r-- 550 bytes

back to top