https://github.com/torvalds/linux
Revision 323ef68faf1bbd9b1e66aea268fd09d358d7e8ab authored by Andy Whitcroft on 16 February 2011, 04:49:59 UTC, committed by Tyler Hicks on 21 February 2011, 20:46:36 UTC
read() calls against a file descriptor connected to a directory are
incorrectly returning EINVAL rather than EISDIR:

  [EISDIR]
    [XSI] [Option Start] The fildes argument refers to a directory and the
    implementation does not allow the directory to be read using read()
    or pread(). The readdir() function should be used instead. [Option End]

This occurs because we do not have a .read operation defined for
ecryptfs directories.  Connect this up to generic_read_dir().

BugLink: http://bugs.launchpad.net/bugs/719691
Signed-off-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
1 parent 70b8902
History
Tip revision: 323ef68faf1bbd9b1e66aea268fd09d358d7e8ab authored by Andy Whitcroft on 16 February 2011, 04:49:59 UTC
ecryptfs: read on a directory should return EISDIR if not supported
Tip revision: 323ef68
File Mode Size
Kconfig -rw-r--r-- 11.2 KB
Kconfig.debug -rw-r--r-- 1014 bytes
Makefile -rw-r--r-- 1.7 KB
backing-dev.c -rw-r--r-- 20.9 KB
bootmem.c -rw-r--r-- 24.4 KB
bounce.c -rw-r--r-- 6.5 KB
compaction.c -rw-r--r-- 18.9 KB
debug-pagealloc.c -rw-r--r-- 2.5 KB
dmapool.c -rw-r--r-- 13.0 KB
fadvise.c -rw-r--r-- 3.5 KB
failslab.c -rw-r--r-- 1.6 KB
filemap.c -rw-r--r-- 66.7 KB
filemap_xip.c -rw-r--r-- 11.0 KB
fremap.c -rw-r--r-- 6.7 KB
highmem.c -rw-r--r-- 10.3 KB
huge_memory.c -rw-r--r-- 60.7 KB
hugetlb.c -rw-r--r-- 75.9 KB
hwpoison-inject.c -rw-r--r-- 3.3 KB
init-mm.c -rw-r--r-- 647 bytes
internal.h -rw-r--r-- 7.3 KB
kmemcheck.c -rw-r--r-- 2.8 KB
kmemleak-test.c -rw-r--r-- 3.3 KB
kmemleak.c -rw-r--r-- 49.7 KB
ksm.c -rw-r--r-- 54.7 KB
maccess.c -rw-r--r-- 1.6 KB
madvise.c -rw-r--r-- 11.5 KB
memblock.c -rw-r--r-- 22.4 KB
memcontrol.c -rw-r--r-- 131.1 KB
memory-failure.c -rw-r--r-- 40.0 KB
memory.c -rw-r--r-- 102.3 KB
memory_hotplug.c -rw-r--r-- 22.3 KB
mempolicy.c -rw-r--r-- 67.5 KB
mempool.c -rw-r--r-- 8.9 KB
migrate.c -rw-r--r-- 31.4 KB
mincore.c -rw-r--r-- 7.7 KB
mlock.c -rw-r--r-- 15.8 KB
mm_init.c -rw-r--r-- 3.7 KB
mmap.c -rw-r--r-- 70.0 KB
mmu_context.c -rw-r--r-- 1.4 KB
mmu_notifier.c -rw-r--r-- 9.1 KB
mmzone.c -rw-r--r-- 1.8 KB
mprotect.c -rw-r--r-- 7.9 KB
mremap.c -rw-r--r-- 13.1 KB
msync.c -rw-r--r-- 2.4 KB
nommu.c -rw-r--r-- 50.3 KB
oom_kill.c -rw-r--r-- 21.2 KB
page-writeback.c -rw-r--r-- 39.1 KB
page_alloc.c -rw-r--r-- 154.2 KB
page_cgroup.c -rw-r--r-- 11.4 KB
page_io.c -rw-r--r-- 3.2 KB
page_isolation.c -rw-r--r-- 3.6 KB
pagewalk.c -rw-r--r-- 4.7 KB
percpu-km.c -rw-r--r-- 2.8 KB
percpu-vm.c -rw-r--r-- 13.0 KB
percpu.c -rw-r--r-- 55.4 KB
pgtable-generic.c -rw-r--r-- 3.3 KB
prio_tree.c -rw-r--r-- 6.3 KB
quicklist.c -rw-r--r-- 2.4 KB
readahead.c -rw-r--r-- 15.4 KB
rmap.c -rw-r--r-- 46.2 KB
shmem.c -rw-r--r-- 71.8 KB
slab.c -rw-r--r-- 117.7 KB
slob.c -rw-r--r-- 17.1 KB
slub.c -rw-r--r-- 110.2 KB
sparse-vmemmap.c -rw-r--r-- 5.9 KB
sparse.c -rw-r--r-- 20.5 KB
swap.c -rw-r--r-- 16.1 KB
swap_state.c -rw-r--r-- 10.6 KB
swapfile.c -rw-r--r-- 65.5 KB
thrash.c -rw-r--r-- 1.9 KB
truncate.c -rw-r--r-- 16.4 KB
util.c -rw-r--r-- 6.8 KB
vmalloc.c -rw-r--r-- 62.6 KB
vmscan.c -rw-r--r-- 92.1 KB
vmstat.c -rw-r--r-- 32.5 KB

back to top