28 Jul, 2008

5 commits

  • Put all i/o statistics in struct proc_io_accounting and use inline functions to
    initialize and increment statistics, removing a lot of single variable
    assignments.

    This also reduces the kernel size as following (with CONFIG_TASK_XACCT=y and
    CONFIG_TASK_IO_ACCOUNTING=y).

    text data bss dec hex filename
    11651 0 0 11651 2d83 kernel/exit.o.before
    11619 0 0 11619 2d63 kernel/exit.o.after
    10886 132 136 11154 2b92 kernel/fork.o.before
    10758 132 136 11026 2b12 kernel/fork.o.after

    3082029 807968 4818600 8708597 84e1f5 vmlinux.o.before
    3081869 807968 4818600 8708437 84e155 vmlinux.o.after

    Signed-off-by: Andrea Righi
    Acked-by: Oleg Nesterov
    Signed-off-by: Linus Torvalds

    Andrea Righi
     
  • Remove the following warning with CONFIG_TRACING=y:

    kernel/trace/trace.c: In function ‘s_next’:
    kernel/trace/trace.c:1186: warning: unused variable ‘last_ent’

    Signed-off-by: Andrea Righi
    Signed-off-by: Linus Torvalds

    Andrea Righi
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: Allow to force model to intel-mac-v3 in snd_hda_intel (sigmatel).
    ALSA: cs4232: fix crash during chip PNP detection
    ALSA: hda - Add automatic model setting for the Acer Aspire 5920G laptop
    ALSA: make snd_ac97_add_vmaster() static
    ALSA: sound/pci/azt3328.h: no variables for enums
    ALSA: soc - wm9712 mono mixer
    ALSA: hda - Add support of ASUS Eeepc P90*
    ALSA: opti9xx: no isapnp param for !CONFIG_PNP
    ALSA: opti93x - Fix NULL dereference
    ALSA: hda - Added support for Asus V1Sn
    ALSA: ASoC: Factor PGA DAPM handling into main
    ALSA: ASoC: Refactor DAPM event handler
    ALSA: ALSA: ens1370: communicate PCI device to AC97
    ALSA: ens1370: SRC stands for Sample Rate Converter
    ALSA: hda - Align BDL position adjustment parameter
    ALSA: Au1xpsc: psc not disabled when TX is idle
    ALSA: add TriTech 28023 AC97 codec ID and Wolfson 9701 name.

    Linus Torvalds
     
  • 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

35 commits

  • Currently, even if you pass model=intel-mac-v3 as a module parameter to
    snd_hda_intel, the function patch_stac922x (patch_sigmatel.c) will still
    try to auto-detect the model type. This is a problem on my MacBook Pro 1st
    generation, which needs intel-mac-v3, but sometimes incorrectly reports
    0x00000100 as subsystem id, which causes the switch in patch_stac922x to
    select intel-mac-v4.

    To fix this, I added a new model called intel-mac-auto, so in case no
    module parameter is passed, and an Intel Mac board is detected, the
    model will be automatically detected, while no detection will be done
    if the model is forced to intel-mac-v3.

    This problem has been around for quite a while, and I used to fix it
    by moving the case statement for 0x00000100 in patch_stac922x so that
    intel-mac-v3 is chosen.

    Another way to fix the problem would be to check if a module parameter
    was set directly in patch_stac922x, using something like this:
    if (spec->board_config == STAC_INTEL_MAC_V3 &&
    !codec->bus->modelname) {

    But I think it is less elegant (if you prefer that way, I can prepare a
    patch).

    Signed-off-by: Nicolas Boichat
    Signed-off-by: Takashi Iwai

    Nicolas Boichat
     
  • The acard->wss pointer is uninitialized in this function
    which leads to crash during chip PNP detection.

    Signed-off-by: Krzysztof Helt
    Acked-by: Rene Herman
    Signed-off-by: Takashi Iwai

    Krzysztof Helt
     
  • Make the Acer Aspire 5920G (1025:0121) select ALC883_ACER_ASPIRE
    by default.

    Signed-off-by: Travis Place
    Signed-off-by: Takashi Iwai

    Travis Place
     
  • This patch makes the needlessly global snd_ac97_add_vmaster() static.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Takashi Iwai

    Adrian Bunk
     
  • AZF_FREQUENCIES and AZF_GAME_CONFIGS were variables, and this doesn't
    seem to have been intended.

    Signed-off-by: Adrian Bunk
    Acked-by: Andreas Mohr
    Signed-off-by: Takashi Iwai

    Adrian Bunk
     
  • * '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