28 Jul, 2008

2 commits

  • Piss-poor sysctl registration API strikes again, film at 11...

    What we really need is _pathname_ required to be present in already
    registered table, so that kernel could warn about bad order. That's the
    next target for sysctl stuff (and generally saner and more explicit
    order of initialization of ipv[46] internals wouldn't hurt either).

    For the time being, here are full fixups required by ..._rotable()
    stuff; we make per-net sysctl sets descendents of "ro" one and make sure
    that sufficient skeleton is there before we start registering per-net
    sysctls.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • try_attach() should walk into the matching subdirectory, not the first one...

    Signed-off-by: Al Viro
    Tested-by: Valdis.Kletnieks@vt.edu
    Tested-by: Ingo Molnar
    Signed-off-by: Linus Torvalds

    Al Viro
     

27 Jul, 2008

38 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    mlx4: Update/add Mellanox Technologies copyright lines to mlx4 driver files
    mlx4_core: Add VLAN tag field to WQE control segment struct
    RDMA/nes: CM connection setup/teardown rework
    IPoIB: Correct help text for INFINIBAND_IPOIB_DEBUG
    IPoIB/cm: Connected mode is no longer EXPERIMENTAL
    RDMA/ucm: BKL is not needed for ib_ucm_open()
    RDMA/ucma: BKL is not needed for ucma_open()

    Linus Torvalds
     
  • The fix NULLed a pointer without freeing it.

    Signed-off-by: Oliver Neukum
    Reported-by: Juha Motorsportcom
    Signed-off-by: Linus Torvalds

    Oliver Neukum
     
  • * git://git.infradead.org/mtd-2.6: (57 commits)
    [MTD] [NAND] subpage read feature as a way to increase performance.
    CPUFREQ: S3C24XX NAND driver frequency scaling support.
    [MTD][NAND] au1550nd: remove unused variable
    [MTD] jedec_probe: Fix SST 16-bit chip detection
    [MTD][MTDPART] Fix a division by zero bug
    [MTD][MTDPART] Cleanup and document the erase region handling
    [MTD][MTDPART] Handle most checkpatch findings
    [MTD][MTDPART] Seperate main loop from per-partition code in add_mtd_partition
    [MTD] physmap: resume already suspended chips on failure to suspend
    [MTD] physmap: Fix suspend/resume/shutdown bugs.
    [MTD] [NOR] Fix -ETIMEO errors in CFI driver
    [MTD] [NAND] fsl_elbc_nand: fix section mismatch with CONFIG_MTD_OF_PARTS=y
    [JFFS2] Use .unlocked_ioctl
    [MTD] Fix const assignment in the MTD command line partitioning driver
    [MTD] [NOR] gen_probe: No debug message when debugging is disabled
    [MTD] [NAND] remove __PPC__ hardcoded address from DiskOnChip drivers
    [MTD] [MAPS] Remove the bast-flash driver.
    [MTD] [NAND] fsl_elbc_nand: ecclayout cleanups
    [MTD] [NAND] fsl_elbc_nand: implement support for flash-based BBT
    [MTD] [NAND] fsl_elbc_nand: fix OOB workability for large page NAND chips
    ...

    Linus Torvalds
     
  • * 'tracehook' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-utrace:
    tracehook: comment fixes

    Linus Torvalds
     
  • commit b5391e29f428d11755ca2c91074c6db6f5c69d7c ("gs: use tty_port")
    forgot to update the m68k gs serial drivers.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:
    atmel-mci: debugfs support
    mmc: Add per-card debugfs support
    mmc: Export internal host state through debugfs
    imxmmc: fix crash when no platform data is provided
    imxmmc: fix platform resources
    imxmmc: remove DEBUG definition
    mmc_spi: put signals to low power off fix

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (39 commits)
    [PATCH] fix RLIM_NOFILE handling
    [PATCH] get rid of corner case in dup3() entirely
    [PATCH] remove remaining namei_{32,64}.h crap
    [PATCH] get rid of indirect users of namei.h
    [PATCH] get rid of __user_path_lookup_open
    [PATCH] f_count may wrap around
    [PATCH] dup3 fix
    [PATCH] don't pass nameidata to __ncp_lookup_validate()
    [PATCH] don't pass nameidata to gfs2_lookupi()
    [PATCH] new (local) helper: user_path_parent()
    [PATCH] sanitize __user_walk_fd() et.al.
    [PATCH] preparation to __user_walk_fd cleanup
    [PATCH] kill nameidata passing to permission(), rename to inode_permission()
    [PATCH] take noexec checks to very few callers that care
    Re: [PATCH 3/6] vfs: open_exec cleanup
    [patch 4/4] vfs: immutable inode checking cleanup
    [patch 3/4] fat: dont call notify_change
    [patch 2/4] vfs: utimes cleanup
    [patch 1/4] vfs: utimes: move owner check into inode_change_ok()
    [PATCH] vfs: use kstrdup() and check failing allocation
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6:
    Add layer1 over IP support
    Add mISDN HFC multiport driver
    Add mISDN HFC PCI driver
    Add mISDN DSP
    Add mISDN core files
    Define AF_ISDN and PF_ISDN
    Add mISDN driver

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
    netns: fix ip_rt_frag_needed rt_is_expired
    netfilter: nf_conntrack_extend: avoid unnecessary "ct->ext" dereferences
    netfilter: fix double-free and use-after free
    netfilter: arptables in netns for real
    netfilter: ip{,6}tables_security: fix future section mismatch
    selinux: use nf_register_hooks()
    netfilter: ebtables: use nf_register_hooks()
    Revert "pkt_sched: sch_sfq: dump a real number of flows"
    qeth: use dev->ml_priv instead of dev->priv
    syncookies: Make sure ECN is disabled
    net: drop unused BUG_TRAP()
    net: convert BUG_TRAP to generic WARN_ON
    drivers/net: convert BUG_TRAP to generic WARN_ON

    Linus Torvalds
     
  • Fix firmware/memmap printk format warnings:

    drivers/firmware/memmap.c:156: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'resource_size_t'
    drivers/firmware/memmap.c:161: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'resource_size_t'

    Signed-off-by: Randy Dunlap
    Cc: Bernhard Walle
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • mm/util.c: In function 'arch_pick_mmap_layout':
    mm/util.c:144: error: dereferencing pointer to incomplete type
    mm/util.c:145: error: 'arch_get_unmapped_area' undeclared (first use in this function)
    mm/util.c:145: error: (Each undeclared identifier is reported only once
    mm/util.c:145: error: for each function it appears in.)
    mm/util.c:146: error: 'arch_unmap_area' undeclared (first use in this function)

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Remove the following warning when CONFIG_HUGETLB_PAGE is not set:

    ipc/shm.c: In function `shm_get_stat':
    ipc/shm.c:565: warning: unused variable `h'

    [akpm@linux-foundation.org: use tabs, not spaces]
    Signed-off-by: Andrea Righi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrea Righi
     
  • Oleg Nesterov points out that we should check that the task is still alive
    before we iterate over the threads. This patch includes a fixup for this.

    Also simplify do_io_accounting() implementation.

    Signed-off-by: Andrea Righi
    Signed-off-by: Oleg Nesterov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrea Righi
     
  • This fixes an off-by-one error in a comment.

    Signed-off-by: Michael Buesch
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Buesch
     
  • * dup2() should return -EBADF on exceeded sysctl_nr_open
    * dup() should *not* return -EINVAL even if you have rlimit set to 0;
    it should get -EMFILE instead.

    Check for orig_start exceeding rlimit taken to sys_fcntl().
    Failing expand_files() in dup{2,3}() now gets -EMFILE remapped to -EBADF.
    Consequently, remaining checks for rlimit are taken to expand_files().

    Signed-off-by: Al Viro

    Al Viro
     
  • Since Ulrich is OK with getting rid of dup3(fd, fd, flags) completely,
    to hell the damn thing goes. Corner case for dup2() is handled in
    sys_dup2() (complete with -EBADF if dup2(fd, fd) is called with fd
    that is not open), the rest is done in dup3().

    Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • fs.h needs path.h, not namei.h; nfs_fs.h doesn't need it at all.
    Several places in the tree needed direct include.

    Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • make it atomic_long_t; while we are at it, get rid of useless checks in affs,
    hfs and hpfs - ->open() always has it equal to 1, ->release() - to 0.

    Signed-off-by: Al Viro

    Al Viro
     
  • Al Viro notice one cornercase that the new dup3() code. The dup2()
    function, as a special case, handles dup-ing to the same file
    descriptor. In this case the current dup3() code does nothing at
    all. I.e., it ingnores the flags parameter. This shouldn't happen,
    the close-on-exec flag should be set if requested.

    In case the O_CLOEXEC bit in the flags parameter is not set the
    dup3() function should behave in this respect identical to dup2().
    This means dup3(fd, fd, 0) should not actively reset the c-o-e
    flag.

    The patch below implements this minor change.

    [AV: credits to Artur Grabowski for bringing that up as potential subtle point
    in dup2() behaviour]

    Signed-off-by: Ulrich Drepper
    Signed-off-by: Al Viro

    Ulrich Drepper
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • Preparation to untangling intents mess: reduce the number of do_path_lookup()
    callers.

    Signed-off-by: Al Viro

    Al Viro
     
  • * do not pass nameidata; struct path is all the callers want.
    * switch to new helpers:
    user_path_at(dfd, pathname, flags, &path)
    user_path(pathname, &path)
    user_lpath(pathname, &path)
    user_path_dir(pathname, &path) (fail if not a directory)
    The last 3 are trivial macro wrappers for the first one.
    * remove nameidata in callers.

    Signed-off-by: Al Viro

    Al Viro
     
  • Almost all users __user_walk_fd() and friends care only about struct path.
    Get rid of the few that do not.

    Signed-off-by: Al Viro

    Al Viro
     
  • Incidentally, the name that gives hundreds of false positives on grep
    is not a good idea...

    Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • On Mon, May 19, 2008 at 12:01:49AM +0200, Marcin Slusarz wrote:
    > open_exec is needlessly indented, calls ERR_PTR with 0 argument
    > (which is not valid errno) and jumps into middle of function
    > just to return value.
    > So clean it up a bit.

    Still looks rather messy. See below for a better version.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Al Viro

    Christoph Hellwig
     
  • Move the immutable and append-only checks from chmod, chown and utimes
    into notify_change(). Checks for immutable and append-only files are
    always performed by the VFS and not by the filesystem (see
    permission() and may_...() in namei.c), so these belong in
    notify_change(), and not in inode_change_ok().

    This should be completely equivalent.

    CC: Ulrich Drepper
    CC: Michael Kerrisk
    Signed-off-by: Miklos Szeredi
    Signed-off-by: Al Viro

    Miklos Szeredi
     
  • The FAT_IOCTL_SET_ATTRIBUTES ioctl() calls notify_change() to change
    the file mode before changing the inode attributes. Replace with
    explicit calls to security_inode_setattr(), fat_setattr() and
    fsnotify_change().

    This is equivalent to the original. The reason it is needed, is that
    later in the series we move the immutable check into notify_change().
    That would break the FAT_IOCTL_SET_ATTRIBUTES ioctl, as it needs to
    perform the mode change regardless of the immutability of the file.

    [Fix error if fat is built as a module. Thanks to OGAWA Hirofumi for
    noticing.]

    Signed-off-by: Miklos Szeredi
    Acked-by: OGAWA Hirofumi
    Signed-off-by: Al Viro

    Miklos Szeredi
     
  • Untange the mess that is do_utimes(). Add kerneldoc comment to
    do_utimes().

    CC: Ulrich Drepper
    CC: Michael Kerrisk
    Signed-off-by: Miklos Szeredi
    Signed-off-by: Al Viro

    Miklos Szeredi
     
  • Add a new ia_valid flag: ATTR_TIMES_SET, to handle the
    UTIMES_OMIT/UTIMES_NOW and UTIMES_NOW/UTIMES_OMIT cases. In these
    cases neither ATTR_MTIME_SET nor ATTR_ATIME_SET is in the flags, yet
    the POSIX draft specifies that permission checking is performed the
    same way as if one or both of the times was explicitly set to a
    timestamp.

    See the path "vfs: utimensat(): fix error checking for
    {UTIME_NOW,UTIME_OMIT} case" by Michael Kerrisk for the patch
    introducing this behavior.

    This is a cleanup, as well as allowing filesystems (NFS/fuse/...) to
    perform their own permission checking instead of the default.

    CC: Ulrich Drepper
    CC: Michael Kerrisk
    Signed-off-by: Miklos Szeredi
    Signed-off-by: Al Viro

    Miklos Szeredi
     
  • - use kstrdup() instead of kmalloc() + memcpy()
    - return NULL if allocating ->mnt_devname failed
    - mnt_devname should be const

    Signed-off-by: Li Zefan
    Acked-by: Cyrill Gorcunov
    Signed-off-by: Al Viro

    Li Zefan
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • ... and get rid of the last "let's deduce mask from nameidata->flags"
    bit.

    Signed-off-by: Al Viro

    Al Viro
     
  • * MAY_CHDIR is redundant - it's an equivalent of MAY_ACCESS
    * MAY_ACCESS on fuse should affect only the last step of pathname resolution
    * fchdir() and chroot() should pass MAY_ACCESS, for the same reason why
    chdir() needs that.
    * now that we pass MAY_ACCESS explicitly in all cases, LOOKUP_ACCESS can be
    removed; it has no business being in nameidata.

    Signed-off-by: Al Viro

    Al Viro
     
  • long overdue...

    Signed-off-by: Al Viro

    Al Viro