02 Oct, 2009

1 commit


22 Sep, 2009

3 commits


12 Jun, 2009

1 commit


03 Apr, 2009

2 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
    Remove two unneeded exports and make two symbols static in fs/mpage.c
    Cleanup after commit 585d3bc06f4ca57f975a5a1f698f65a45ea66225
    Trim includes of fdtable.h
    Don't crap into descriptor table in binfmt_som
    Trim includes in binfmt_elf
    Don't mess with descriptor table in load_elf_binary()
    Get rid of indirect include of fs_struct.h
    New helper - current_umask()
    check_unsafe_exec() doesn't care about signal handlers sharing
    New locking/refcounting for fs_struct
    Take fs_struct handling to new file (fs/fs_struct.c)
    Get rid of bumping fs_struct refcount in pivot_root(2)
    Kill unsharing fs_struct in __set_personality()

    Linus Torvalds
     
  • Make omfs return f_fsid info for statfs(2).

    Signed-off-by: Coly Li
    Acked-by: Bob Copeland
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Coly Li
     

01 Apr, 2009

1 commit


22 Jan, 2009

1 commit


06 Jan, 2009

1 commit


14 Nov, 2008

1 commit

  • Wrap access to task credentials so that they can be separated more easily from
    the task_struct during the introduction of COW creds.

    Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().

    Change some task->e?[ug]id to task_e?[ug]id(). In some places it makes more
    sense to use RCU directly rather than a convenient wrapper; these will be
    addressed by later patches.

    Signed-off-by: David Howells
    Reviewed-by: James Morris
    Acked-by: Serge Hallyn
    Cc: Bob Copeland
    Cc: linux-karma-devel@lists.sourceforge.net
    Signed-off-by: James Morris

    David Howells
     

23 Oct, 2008

1 commit


14 Oct, 2008

1 commit

  • This is a much better version of a previous patch to make the parser
    tables constant. Rather than changing the typedef, we put the "const" in
    all the various places where its required, allowing the __initconst
    exception for nfsroot which was the cause of the previous trouble.

    This was posted for review some time ago and I believe its been in -mm
    since then.

    Signed-off-by: Steven Whitehouse
    Cc: Alexander Viro
    Signed-off-by: Linus Torvalds

    Steven Whitehouse
     

15 Aug, 2008

2 commits

  • A fuzzed fileystem image failed with OMFS when the extent count was
    used in a loop without being checked against the max number of extents.
    It also provoked a signed division for an array index that was checked
    as if unsigned, leading to index by -1.

    omfsck will be updated to fix these cases, in the meantime bail out
    gracefully.

    Reported-by: Eric Sesterhenn
    Signed-off-by: Bob Copeland
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bob Copeland
     
  • Testing with a modified fsfuzzer reveals a couple of locations in omfs
    where filesystem variables are ultimately used as loop counters with
    insufficient sanity checking. In this case, dir->i_size is used to
    compute the number of buckets in the directory hash. If too large,
    readdir will overrun a buffer.

    Since it's an invariant that dir->i_size is equal to the sysblock
    size, and we already sanity check that, just use that value instead.
    This fixes the following oops:

    BUG: unable to handle kernel paging request at c978e004
    IP: [] omfs_readdir+0x18e/0x32f
    Oops: 0000 [#1] PREEMPT DEBUG_PAGEALLOC
    Modules linked in:

    Pid: 4796, comm: ls Not tainted (2.6.27-rc2 #12)
    EIP: 0060:[] EFLAGS: 00010287 CPU: 0
    EIP is at omfs_readdir+0x18e/0x32f
    EAX: c978d000 EBX: 00000000 ECX: cbfcfaf8 EDX: cb2cf100
    ESI: 00001000 EDI: 00000800 EBP: cb2d3f68 ESP: cb2d3f0c
    DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068
    Process ls (pid: 4796, ti=cb2d3000 task=cb175f40 task.ti=cb2d3000)
    Stack: 00000002 00000000 00000000 c018a820 cb2d3f94 cb2cf100 cbfb0000 ffffff10
    cbfb3b80 cbfcfaf8 000001c9 00000a09 00000000 00000000 00000000 cbfcfbc8
    c9697000 cbfb3b80 22222222 00001000 c08e6cd0 cb2cf100 cbfb3b80 cb2d3f88
    Call Trace:
    [] ? filldir64+0x0/0xcd
    [] ? vfs_readdir+0x56/0x82
    [] ? filldir64+0x0/0xcd
    [] ? sys_getdents64+0x5e/0xa0
    [] ? sysenter_do_call+0x12/0x31
    =======================
    Code: 00 89 f0 89 f3 0f ac f8 14 81 e3 ff ff 0f 00 48 8d
    14 c5 b8 01 00 00 89 45 cc 89 55 f0 e9 8c 01 00 00 8b 4d c8 8b 75 f0 8b
    41 18 54 30 04 8b 04 30 31 f6 89 5d dc 89 d1 8b 55 b8 0f c8 0f c9

    Reported-by: Eric Sesterhenn
    Signed-off-by: Bob Copeland
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bob Copeland
     

06 Aug, 2008

1 commit

  • fs/omfs/inode.c:495: warning: format '%llx' expects type 'long long
    unsigned int', but argument 2 has type 'u64'
    fs/omfs/inode.c:495: warning: format '%llx' expects type 'long
    long unsigned int', but argument 3 has type '__be64'

    Signed-off-by: Alexander Beregalov
    Acked-by: Bob Copeland
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexander Beregalov
     

31 Jul, 2008

1 commit

  • Missing cpu_to_be64 on some constant assignments.
    fs/omfs/dir.c:107:16: warning: incorrect type in assignment (different base types)
    fs/omfs/dir.c:107:16: expected restricted __be64 [usertype] i_sibling
    fs/omfs/dir.c:107:16: got unsigned long long
    fs/omfs/file.c:33:13: warning: incorrect type in assignment (different base types)
    fs/omfs/file.c:33:13: expected restricted __be64 [usertype] e_next
    fs/omfs/file.c:33:13: got unsigned long long
    fs/omfs/file.c:36:24: warning: incorrect type in assignment (different base types)
    fs/omfs/file.c:36:24: expected restricted __be64 [usertype] e_cluster
    fs/omfs/file.c:36:24: got unsigned long long
    fs/omfs/file.c:37:23: warning: incorrect type in assignment (different base types)
    fs/omfs/file.c:37:23: expected restricted __be64 [usertype] e_blocks
    fs/omfs/file.c:37:23: got unsigned long long

    fs/omfs/bitmap.c:74:18: warning: incorrect type in argument 2 (different signedness)
    fs/omfs/bitmap.c:74:18: expected unsigned long volatile *addr
    fs/omfs/bitmap.c:74:18: got long *
    fs/omfs/bitmap.c:77:20: warning: incorrect type in argument 2 (different signedness)
    fs/omfs/bitmap.c:77:20: expected unsigned long volatile *addr
    fs/omfs/bitmap.c:77:20: got long *
    fs/omfs/bitmap.c:112:17: warning: incorrect type in argument 2 (different signedness)
    fs/omfs/bitmap.c:112:17: expected unsigned long volatile *addr
    fs/omfs/bitmap.c:112:17: got long *

    Signed-off-by: Harvey Harrison
    Acked-by: Bob Copeland
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Harvey Harrison
     

27 Jul, 2008

6 commits