17 Oct, 2007

2 commits

  • Implement file posix capabilities. This allows programs to be given a
    subset of root's powers regardless of who runs them, without having to use
    setuid and giving the binary all of root's powers.

    This version works with Kaigai Kohei's userspace tools, found at
    http://www.kaigai.gr.jp/index.php. For more information on how to use this
    patch, Chris Friedhoff has posted a nice page at
    http://www.friedhoff.org/fscaps.html.

    Changelog:
    Nov 27:
    Incorporate fixes from Andrew Morton
    (security-introduce-file-caps-tweaks and
    security-introduce-file-caps-warning-fix)
    Fix Kconfig dependency.
    Fix change signaling behavior when file caps are not compiled in.

    Nov 13:
    Integrate comments from Alexey: Remove CONFIG_ ifdef from
    capability.h, and use %zd for printing a size_t.

    Nov 13:
    Fix endianness warnings by sparse as suggested by Alexey
    Dobriyan.

    Nov 09:
    Address warnings of unused variables at cap_bprm_set_security
    when file capabilities are disabled, and simultaneously clean
    up the code a little, by pulling the new code into a helper
    function.

    Nov 08:
    For pointers to required userspace tools and how to use
    them, see http://www.friedhoff.org/fscaps.html.

    Nov 07:
    Fix the calculation of the highest bit checked in
    check_cap_sanity().

    Nov 07:
    Allow file caps to be enabled without CONFIG_SECURITY, since
    capabilities are the default.
    Hook cap_task_setscheduler when !CONFIG_SECURITY.
    Move capable(TASK_KILL) to end of cap_task_kill to reduce
    audit messages.

    Nov 05:
    Add secondary calls in selinux/hooks.c to task_setioprio and
    task_setscheduler so that selinux and capabilities with file
    cap support can be stacked.

    Sep 05:
    As Seth Arnold points out, uid checks are out of place
    for capability code.

    Sep 01:
    Define task_setscheduler, task_setioprio, cap_task_kill, and
    task_setnice to make sure a user cannot affect a process in which
    they called a program with some fscaps.

    One remaining question is the note under task_setscheduler: are we
    ok with CAP_SYS_NICE being sufficient to confine a process to a
    cpuset?

    It is a semantic change, as without fsccaps, attach_task doesn't
    allow CAP_SYS_NICE to override the uid equivalence check. But since
    it uses security_task_setscheduler, which elsewhere is used where
    CAP_SYS_NICE can be used to override the uid equivalence check,
    fixing it might be tough.

    task_setscheduler
    note: this also controls cpuset:attach_task. Are we ok with
    CAP_SYS_NICE being used to confine to a cpuset?
    task_setioprio
    task_setnice
    sys_setpriority uses this (through set_one_prio) for another
    process. Need same checks as setrlimit

    Aug 21:
    Updated secureexec implementation to reflect the fact that
    euid and uid might be the same and nonzero, but the process
    might still have elevated caps.

    Aug 15:
    Handle endianness of xattrs.
    Enforce capability version match between kernel and disk.
    Enforce that no bits beyond the known max capability are
    set, else return -EPERM.
    With this extra processing, it may be worth reconsidering
    doing all the work at bprm_set_security rather than
    d_instantiate.

    Aug 10:
    Always call getxattr at bprm_set_security, rather than
    caching it at d_instantiate.

    [morgan@kernel.org: file-caps clean up for linux/capability.h]
    [bunk@kernel.org: unexport cap_inode_killpriv]
    Signed-off-by: Serge E. Hallyn
    Cc: Stephen Smalley
    Cc: James Morris
    Cc: Chris Wright
    Cc: Andrew Morgan
    Signed-off-by: Andrew Morgan
    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Serge E. Hallyn
     
  • I'm going to be modifying nfsd_rename() shortly to support read-only bind
    mounts. This #ifdef is around the area I'm patching, and it starts to get
    really ugly if I just try to add my new code by itself. Using this little
    helper makes things a lot cleaner to use.

    Signed-off-by: Dave Hansen
    Acked-by: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Hansen
     

16 Oct, 2007

1 commit

  • * 'locks' of git://linux-nfs.org/~bfields/linux:
    nfsd: remove IS_ISMNDLCK macro
    Rework /proc/locks via seq_files and seq_list helpers
    fs/locks.c: use list_for_each_entry() instead of list_for_each()
    NFS: clean up explicit check for mandatory locks
    AFS: clean up explicit check for mandatory locks
    9PFS: clean up explicit check for mandatory locks
    GFS2: clean up explicit check for mandatory locks
    Cleanup macros for distinguishing mandatory locks
    Documentation: move locks.txt in filesystems/
    locks: add warning about mandatory locking races
    Documentation: move mandatory locking documentation to filesystems/
    locks: Fix potential OOPS in generic_setlease()
    Use list_first_entry in locks_wake_up_blocks
    locks: fix flock_lock_file() comment
    Memory shortage can result in inconsistent flocks state
    locks: kill redundant local variable
    locks: reverse order of posix_locks_conflict() arguments

    Linus Torvalds
     

10 Oct, 2007

3 commits

  • This macro is only used in one place; in this place it seems simpler to
    put open-code it and move the comment to where it's used.

    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     
  • The combination of S_ISGID bit set and S_IXGRP bit unset is used to mark the
    inode as "mandatory lockable" and there's a macro for this check called
    MANDATORY_LOCK(inode). However, fs/locks.c and some filesystems still perform
    the explicit i_mode checking. Besides, Andrew pointed out, that this macro is
    buggy itself, as it dereferences the inode arg twice.

    Convert this macro into static inline function and switch its users to it,
    making the code shorter and more readable.

    The __mandatory_lock() helper is to be used in places where the IS_MANDLOCK()
    for superblock is already known to be true.

    Signed-off-by: Pavel Emelyanov
    Cc: Trond Myklebust
    Cc: "J. Bruce Fields"
    Cc: David Howells
    Cc: Eric Van Hensbergen
    Cc: Ron Minnich
    Cc: Latchesar Ionkov
    Cc: Steven Whitehouse
    Signed-off-by: Andrew Morton

    Pavel Emelyanov
     
  • Signed-off-by: Christoph Hellwig
    Signed-off-by: J. Bruce Fields
    Acked-by: Neil Brown

    Christoph Hellwig
     

11 Sep, 2007

1 commit

  • Recent changes in NFSd cause a directory which is mounted-on
    to not appear properly when the filesystem containing it is exported.

    *exp_get* now returns -ENOENT rather than NULL and when
    commit 5d3dbbeaf56d0365ac6b5c0a0da0bd31cc4781e1
    removed the NULL checks, it didn't add a check for -ENOENT.

    Signed-off-by: Neil Brown
    Signed-off-by: J. Bruce Fields
    Signed-off-by: Linus Torvalds

    Neil Brown
     

01 Aug, 2007

1 commit

  • RFC 3530 says:

    If the server uses an attribute to store the exclusive create verifier, it
    will signify which attribute by setting the appropriate bit in the attribute
    mask that is returned in the results.

    Linux uses the atime and mtime to store the verifier, but sends a zeroed out
    bitmask back to the client. This patch makes sure that we set the correct
    bits in the bitmask in this situation.

    Signed-off-by: Jeff Layton
    Signed-off-by: J. Bruce Fields
    Cc: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Layton
     

20 Jul, 2007

4 commits

  • Share a little common code, reverse the arguments for consistency, drop the
    unnecessary "inline", and lowercase the name.

    Signed-off-by: "J. Bruce Fields"
    Acked-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • EX_RDONLY is only called in one place; just put it there.

    Signed-off-by: "J. Bruce Fields"
    Acked-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • We can now assume that rqst_exp_get_by_name() does not return NULL; so clean
    up some unnecessary checks.

    Signed-off-by: "J. Bruce Fields"
    Acked-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • The value of nperbucket calculated here is too small--we should be rounding up
    instead of down--with the result that the index j in the following loop can
    overflow the raparm_hash array. At least in my case, the next thing in memory
    turns out to be export_table, so the symptoms I see are crashes caused by the
    appearance of four zeroed-out export entries in the first bucket of the hash
    table of exports (which were actually entries in the readahead cache, a
    pointer to which had been written to the export table in this initialization
    code).

    It looks like the bug was probably introduced with commit
    fce1456a19f5c08b688c29f00ef90fdfa074c79b ("knfsd: make the readahead params
    cache SMP-friendly").

    Cc:
    Cc: Greg Banks
    Signed-off-by: "J. Bruce Fields"
    Acked-by: NeilBrown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     

18 Jul, 2007

7 commits

  • Allow readonly access to vary depending on the pseudoflavor, using the flag
    passed with each pseudoflavor in the export downcall. The rest of the flags
    are ignored for now, though some day we might also allow id squashing to vary
    based on the flavor.

    Signed-off-by: "J. Bruce Fields"
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • Make the first actual use of the secinfo information by using it to return
    nfserr_wrongsec when an export is found that doesn't allow the flavor used on
    this request.

    Signed-off-by: J. Bruce Fields
    Signed-off-by: Andy Adamson
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Adamson
     
  • Factor nfsd_lookup into nfsd_lookup_dentry, which finds the right dentry and
    export, and a second part which composes the filehandle (and which will later
    check the security flavor on the new export).

    No change in behavior.

    Signed-off-by: "J. Bruce Fields"
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • Split the callers of exp_get_by_name(), exp_find(), and exp_parent() into
    those that are processing requests and those that are doing other stuff (like
    looking up filehandles for mountd).

    No change in behavior, just a (fairly pointless, on its own) cleanup.

    (Note this has the effect of making nfsd_cross_mnt() pass rqstp->rq_client
    instead of exp->ex_client into exp_find_by_name(). However, the two should
    have the same value at this point.)

    Signed-off-by: "J. Bruce Fields"
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • The "err" variable will only be used in the final return, which always happens
    after either the preceding

    err = fh_compose(...);

    or after the following

    err = nfserrno(host_err);

    So the earlier assignment to err is ignored.

    Signed-off-by: "J. Bruce Fields"
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • Currently exp_find(), exp_get_by_name(), and friends, return an export on
    success, and on failure return:

    errors -EAGAIN (drop this request pending an upcall) or
    -ETIMEDOUT (an upcall has timed out), or
    return NULL, which can mean either that there was a memory allocation
    failure, or that an export was not found, or that a passed-in
    export lacks an auth_domain.

    Many callers seem to assume that NULL means that an export was not found,
    which may lead to bugs in the case of a memory allocation failure.

    Modify these functions to distinguish between the two NULL cases by returning
    either -ENOENT or -ENOMEM. They now never return NULL. We get to simplify
    some code in the process.

    We return -ENOENT in the case of a missing auth_domain. This case should
    probably be removed (or converted to a bug) after confirming that it can never
    happen.

    Signed-off-by: "J. Bruce Fields"
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • nfs4_acl_nfsv4_to_posix() returns an error and returns any posix acls
    calculated in two caller-provided pointers. It was setting these pointers to
    -errno in some error cases, resulting in nfsd4_set_nfs4_acl() calling
    posix_acl_release() with a -errno as an argument.

    Fix both the caller and the callee, by modifying nfsd4_set_nfs4_acl() to
    stop relying on the passed-in-pointers being left as NULL in the error
    case, and by modifying nfs4_acl_nfsv4_to_posix() to stop returning
    garbage in those pointers.

    Thanks to Alex Soule for reporting the bug.

    Signed-off-by: "J. Bruce Fields"
    Cc: Alexander Soule
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     

14 Jul, 2007

1 commit


10 Jul, 2007

3 commits


17 Feb, 2007

1 commit


31 Jan, 2007

1 commit


27 Jan, 2007

3 commits

  • nfsd defines a type 'encode_dent_fn' which is much like 'filldir_t' except
    that the first pointer is 'struct readdir_cd *' rather than 'void *'. It
    then casts encode_dent_fn points to 'filldir_t' as needed. This hides any
    other type mismatches between the two such as the fact that the 'ino' arg
    recently changed from ino_t to u64.

    So: get rid of 'encode_dent_fn', get rid of the cast of the function type,
    change the first arg of various functions from 'struct readdir_cd *' to
    'void *', and live with the fact that we have a little less type checking
    on the calling of these functions now. Less internal (to nfsd) checking
    offset by more external checking, which is more important.

    Thanks to Gabriel Paubert for discovering this and
    providing an initial patch.

    Signed-off-by: Gabriel Paubert
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • NFS V3 (and V4) support exclusive create by passing a 'cookie' which can get
    stored with the file. If the file exists but has exactly the right cookie
    stored, then we assume this is a retransmit and the exclusive create was
    successful.

    The cookie is 64bits and is traditionally stored in the mtime and atime
    fields. This causes a problem with Solaris7 as negative mtime or atime
    confuse it. So we moved two bits into the mode word instead.

    But inherited ACLs sometimes overwrite the mode word on create, so this is a
    problem.

    So we give up and just store 62 of the 64 bits and assume that is close
    enough.

    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Staubach
     
  • NFSd assumes that largest number of pages that will be needed for a
    request+response is 2+N where N pages is the size of the largest permitted
    read/write request. The '2' are 1 for the non-data part of the request, and 1
    for the non-data part of the reply.

    However, when a read request is not page-aligned, and we choose to use
    ->sendfile to send it directly from the page cache, we may need N+1 pages to
    hold the whole reply. This can overflow and array and cause an Oops.

    This patch increases size of the array for holding pages by one and makes sure
    that entry is NULL when it is not in use.

    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     

14 Dec, 2006

1 commit

  • To avoid tying up server threads when nfsd makes an upcall (to mountd, to get
    export options, to idmapd, for nfsv4 nameid mapping, etc.), we temporarily
    "drop" the request and save enough information so that we can revisit it
    later.

    Certain failures during the deferral process can cause us to really drop the
    request and never revisit it.

    This is often less than ideal, and is unacceptable in the NFSv4 case--rfc 3530
    forbids the server from dropping a request without also closing the
    connection.

    As a first step, we modify the deferral code to return -ETIMEDOUT (which is
    translated to nfserr_jukebox in the v3 and v4 cases, and remains a drop in the
    v2 case).

    Signed-off-by: J. Bruce Fields
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J.Bruce Fields
     

09 Dec, 2006

2 commits


09 Nov, 2006

2 commits

  • Commit 6264d69d7df654ca64f625e9409189a0e50734e9 modified the nfsd_create()
    error handling in such a way that nfsd_create will usually return
    nfserr_perm even when succesful, if the export has the async export option.

    This introduced a regression that could cause mkdir() to always return a
    permissions error, even though the directory in question was actually
    succesfully created.

    Signed-off-by: J. Bruce Fields
    Acked-by: NeilBrown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • In the case where an open creates the file, we shouldn't be rechecking
    permissions to open the file; the open succeeds regardless of what the new
    file's mode bits say.

    This patch fixes the problem, but only by introducing yet another parameter
    to nfsd_create_v3. This is ugly. This will be fixed by later patches.

    Signed-off-by: J. Bruce Fields
    Acked-by: Neil Brown
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     

21 Oct, 2006

1 commit


04 Oct, 2006

3 commits

  • It is legal to have zero-length NFSv4 acls; they just deny everything.

    Also, nfs4_acl_nfsv4_to_posix will always return with pacl and dpacl set on
    success, so the caller doesn't need to check this.

    Signed-off-by: J. Bruce Fields
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J.Bruce Fields
     
  • Make the nfsd read-ahead params cache more SMP-friendly by changing the single
    global list and lock into a fixed 16-bucket hashtable with per-bucket locks.
    This reduces spinlock contention in nfsd_read() on read-heavy workloads on
    multiprocessor servers.

    Testing was on a 4 CPU 4 NIC Altix using 4 IRIX clients each doing 1K
    streaming reads at full line rate. The server had 128 nfsd threads, which
    sizes the RA cache at 256 entries, of which only a handful were used. Flat
    profiling shows nfsd_read(), including the inlined nfsd_get_raparms(), taking
    10.4% of each CPU. This patch drops the contribution from nfsd() to 1.71% for
    each CPU.

    Signed-off-by: Greg Banks
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Greg Banks
     
  • We are planning to increase RPCSVC_MAXPAGES from about 8 to about 256. This
    means we need to be a bit careful about arrays of size RPCSVC_MAXPAGES.

    struct svc_rqst contains two such arrays. However the there are never more
    that RPCSVC_MAXPAGES pages in the two arrays together, so only one array is
    needed.

    The two arrays are for the pages holding the request, and the pages holding
    the reply. Instead of two arrays, we can simply keep an index into where the
    first reply page is.

    This patch also removes a number of small inline functions that probably
    server to obscure what is going on rather than clarify it, and opencode the
    needed functionality.

    Also remove the 'rq_restailpage' variable as it is *always* 0. i.e. if the
    response 'xdr' structure has a non-empty tail it is always in the same pages
    as the head.

    check counters are initilised and incr properly
    check for consistant usage of ++ etc
    maybe extra some inlines for common approach
    general review

    Signed-off-by: Neil Brown
    Cc: Magnus Maatta
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     

02 Oct, 2006

1 commit

  • while doing a kernel make modules_install install over an NFS mount.

    =============================================
    [ INFO: possible recursive locking detected ]
    ---------------------------------------------
    nfsd/9550 is trying to acquire lock:
    (&inode->i_mutex){--..}, at: [] mutex_lock+0x1c/0x1f

    but task is already holding lock:
    (&inode->i_mutex){--..}, at: [] mutex_lock+0x1c/0x1f

    other info that might help us debug this:
    2 locks held by nfsd/9550:
    #0: (hash_sem){..--}, at: [] exp_readlock+0xd/0xf [nfsd]
    #1: (&inode->i_mutex){--..}, at: [] mutex_lock+0x1c/0x1f

    stack backtrace:
    [] show_trace_log_lvl+0x58/0x152
    [] show_trace+0xd/0x10
    [] dump_stack+0x19/0x1b
    [] __lock_acquire+0x77a/0x9a3
    [] lock_acquire+0x60/0x80
    [] __mutex_lock_slowpath+0xa7/0x20e
    [] mutex_lock+0x1c/0x1f
    [] vfs_unlink+0x34/0x8a
    [] nfsd_unlink+0x18f/0x1e2 [nfsd]
    [] nfsd3_proc_remove+0x95/0xa2 [nfsd]
    [] nfsd_dispatch+0xc0/0x178 [nfsd]
    [] svc_process+0x3a5/0x5ed
    [] nfsd+0x1a7/0x305 [nfsd]
    [] kernel_thread_helper+0x5/0xb
    DWARF2 unwinder stuck at kernel_thread_helper+0x5/0xb
    Leftover inexact backtrace:
    [] show_trace+0xd/0x10
    [] dump_stack+0x19/0x1b
    [] __lock_acquire+0x77a/0x9a3
    [] lock_acquire+0x60/0x80
    [] __mutex_lock_slowpath+0xa7/0x20e
    [] mutex_lock+0x1c/0x1f
    [] vfs_unlink+0x34/0x8a
    [] nfsd_unlink+0x18f/0x1e2 [nfsd]
    [] nfsd3_proc_remove+0x95/0xa2 [nfsd]
    [] nfsd_dispatch+0xc0/0x178 [nfsd]
    [] svc_process+0x3a5/0x5ed
    [] nfsd+0x1a7/0x305 [nfsd]
    [] kernel_thread_helper+0x5/0xb

    =============================================
    [ INFO: possible recursive locking detected ]
    ---------------------------------------------
    nfsd/9580 is trying to acquire lock:
    (&inode->i_mutex){--..}, at: [] mutex_lock+0x1c/0x1f

    but task is already holding lock:
    (&inode->i_mutex){--..}, at: [] mutex_lock+0x1c/0x1f

    other info that might help us debug this:
    2 locks held by nfsd/9580:
    #0: (hash_sem){..--}, at: [] exp_readlock+0xd/0xf [nfsd]
    #1: (&inode->i_mutex){--..}, at: [] mutex_lock+0x1c/0x1f

    stack backtrace:
    [] show_trace_log_lvl+0x58/0x152
    [] show_trace+0xd/0x10
    [] dump_stack+0x19/0x1b
    [] __lock_acquire+0x77a/0x9a3
    [] lock_acquire+0x60/0x80
    [] __mutex_lock_slowpath+0xa7/0x20e
    [] mutex_lock+0x1c/0x1f
    [] nfsd_setattr+0x2c8/0x499 [nfsd]
    [] nfsd_create_v3+0x31b/0x4ac [nfsd]
    [] nfsd3_proc_create+0x128/0x138 [nfsd]
    [] nfsd_dispatch+0xc0/0x178 [nfsd]
    [] svc_process+0x3a5/0x5ed
    [] nfsd+0x1a7/0x305 [nfsd]
    [] kernel_thread_helper+0x5/0xb
    DWARF2 unwinder stuck at kernel_thread_helper+0x5/0xb
    Leftover inexact backtrace:
    [] show_trace+0xd/0x10
    [] dump_stack+0x19/0x1b
    [] __lock_acquire+0x77a/0x9a3
    [] lock_acquire+0x60/0x80
    [] __mutex_lock_slowpath+0xa7/0x20e
    [] mutex_lock+0x1c/0x1f
    [] nfsd_setattr+0x2c8/0x499 [nfsd]
    [] nfsd_create_v3+0x31b/0x4ac [nfsd]
    [] nfsd3_proc_create+0x128/0x138 [nfsd]
    [] nfsd_dispatch+0xc0/0x178 [nfsd]
    [] svc_process+0x3a5/0x5ed
    [] nfsd+0x1a7/0x305 [nfsd]
    [] kernel_thread_helper+0x5/0xb

    Signed-off-by: Peter Zijlstra
    Cc: Neil Brown
    Cc: Ingo Molnar
    Cc: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     

01 Jul, 2006

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:
    Remove obsolete #include
    remove obsolete swsusp_encrypt
    arch/arm26/Kconfig typos
    Documentation/IPMI typos
    Kconfig: Typos in net/sched/Kconfig
    v9fs: do not include linux/version.h
    Documentation/DocBook/mtdnand.tmpl: typo fixes
    typo fixes: specfic -> specific
    typo fixes in Documentation/networking/pktgen.txt
    typo fixes: occuring -> occurring
    typo fixes: infomation -> information
    typo fixes: disadvantadge -> disadvantage
    typo fixes: aquire -> acquire
    typo fixes: mecanism -> mechanism
    typo fixes: bandwith -> bandwidth
    fix a typo in the RTC_CLASS help text
    smb is no longer maintained

    Manually merged trivial conflict in arch/um/kernel/vmlinux.lds.S

    Linus Torvalds
     
  • Add a rq_sendfile_ok flag to svc_rqst which will be cleared in the privacy
    case so that the wrapping code will get copies of the read data instead of
    real page cache pages. This makes life simpler when we encrypt the response.

    Signed-off-by: J. Bruce Fields
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    J. Bruce Fields