1. 13 10月, 2012 8 次提交
    • D
      UAPI: Unexport linux/blk_types.h · 08cce05c
      David Howells 提交于
      It seems that was linux/blk_types.h incorrectly exported to fix up some missing
      bits required by the exported parts of linux/fs.h (READ, WRITE, READA, etc.).
      
      So unexport linux/blk_types.h and unexport the relevant bits of linux/fs.h.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      cc: Jens Axboe <jaxboe@fusionio.com>
      cc: Tejun Heo <tj@kernel.org>
      cc: Al Viro <viro@ZenIV.linux.org.uk>
      08cce05c
    • D
      UAPI: Unexport part of linux/ppp-comp.h · 8e4627dd
      David Howells 提交于
      Unexport part of linux/ppp-comp.h as userspace can't make use of that bit.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      cc: Paul Mackerras <paulus@samba.org>
      cc: David Miller <davem@davemloft.net>
      8e4627dd
    • J
      vfs: embed struct filename inside of names_cache allocation if possible · 7950e385
      Jeff Layton 提交于
      In the common case where a name is much smaller than PATH_MAX, an extra
      allocation for struct filename is unnecessary. Before allocating a
      separate one, try to embed the struct filename inside the buffer first. If
      it turns out that that's not long enough, then fall back to allocating a
      separate struct filename and redoing the copy.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      7950e385
    • J
      audit: make audit_inode take struct filename · adb5c247
      Jeff Layton 提交于
      Keep a pointer to the audit_names "slot" in struct filename.
      
      Have all of the audit_inode callers pass a struct filename ponter to
      audit_inode instead of a string pointer. If the aname field is already
      populated, then we can skip walking the list altogether and just use it
      directly.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      adb5c247
    • J
      vfs: make path_openat take a struct filename pointer · 669abf4e
      Jeff Layton 提交于
      ...and fix up the callers. For do_file_open_root, just declare a
      struct filename on the stack and fill out the .name field. For
      do_filp_open, make it also take a struct filename pointer, and fix up its
      callers to call it appropriately.
      
      For filp_open, add a variant that takes a struct filename pointer and turn
      filp_open into a wrapper around it.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      669abf4e
    • J
      audit: allow audit code to satisfy getname requests from its names_list · 7ac86265
      Jeff Layton 提交于
      Currently, if we call getname() on a userland string more than once,
      we'll get multiple copies of the string and multiple audit_names
      records.
      
      Add a function that will allow the audit_names code to satisfy getname
      requests using info from the audit_names list, avoiding a new allocation
      and audit_names records.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      7ac86265
    • J
      vfs: define struct filename and have getname() return it · 91a27b2a
      Jeff Layton 提交于
      getname() is intended to copy pathname strings from userspace into a
      kernel buffer. The result is just a string in kernel space. It would
      however be quite helpful to be able to attach some ancillary info to
      the string.
      
      For instance, we could attach some audit-related info to reduce the
      amount of audit-related processing needed. When auditing is enabled,
      we could also call getname() on the string more than once and not
      need to recopy it from userspace.
      
      This patchset converts the getname()/putname() interfaces to return
      a struct instead of a string. For now, the struct just tracks the
      string in kernel space and the original userland pointer for it.
      
      Later, we'll add other information to the struct as it becomes
      convenient.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      91a27b2a
    • A
      infrastructure for saner ret_from_kernel_thread semantics · a74fb73c
      Al Viro 提交于
      * allow kernel_execve() leave the actual return to userland to
      caller (selected by CONFIG_GENERIC_KERNEL_EXECVE).  Callers
      updated accordingly.
      * architecture that does select GENERIC_KERNEL_EXECVE in its
      Kconfig should have its ret_from_kernel_thread() do this:
      	call schedule_tail
      	call the callback left for it by copy_thread(); if it ever
      returns, that's because it has just done successful kernel_execve()
      	jump to return from syscall
      IOW, its only difference from ret_from_fork() is that it does call the
      callback.
      * such an architecture should also get rid of ret_from_kernel_execve()
      and __ARCH_WANT_KERNEL_EXECVE
      
      This is the last part of infrastructure patches in that area - from
      that point on work on different architectures can live independently.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      a74fb73c
  2. 12 10月, 2012 10 次提交
  3. 11 10月, 2012 7 次提交
  4. 10 10月, 2012 5 次提交
  5. 09 10月, 2012 10 次提交