1. 27 Sep, 2009 10 commits
  2. 25 Sep, 2009 4 commits
  3. 24 Sep, 2009 26 commits
    • Johannes Berg's avatar
      genetlink: fix netns vs. netlink table locking (2) · b8273570
      Johannes Berg authored
      Similar to commit d136f1bd,
      there's a bug when unregistering a generic netlink family,
      which is caught by the might_sleep() added in that commit:
      
          BUG: sleeping function called from invalid context at net/netlink/af_netlink.c:183
          in_atomic(): 1, irqs_disabled(): 0, pid: 1510, name: rmmod
          2 locks held by rmmod/1510:
           #0:  (genl_mutex){+.+.+.}, at: [<ffffffff8138283b>] genl_unregister_family+0x2b/0x130
           #1:  (rcu_read_lock){.+.+..}, at: [<ffffffff8138270c>] __genl_unregister_mc_group+0x1c/0x120
          Pid: 1510, comm: rmmod Not tainted 2.6.31-wl #444
          Call Trace:
           [<ffffffff81044ff9>] __might_sleep+0x119/0x150
           [<ffffffff81380501>] netlink_table_grab+0x21/0x100
           [<ffffffff813813a3>] netlink_clear_multicast_users+0x23/0x60
           [<ffffffff81382761>] __genl_unregister_mc_group+0x71/0x120
           [<ffffffff81382866>] genl_unregister_family+0x56/0x130
           [<ffffffffa0007d85>] nl80211_exit+0x15/0x20 [cfg80211]
           [<ffffffffa000005a>] cfg80211_exit+0x1a/0x40 [cfg80211]
      
      Fix in the same way by grabbing the netlink table lock
      before doing rcu_read_lock().
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b8273570
    • Anton Vorontsov's avatar
      3c59x: Get rid of "Trying to free already-free IRQ" · 704cc92e
      Anton Vorontsov authored
      Following trace pops up if we try to suspend with 3c59x ethernet NIC
      brought down:
      
        root@b1:~# ifconfig eth16 down
        root@b1:~# echo mem > /sys/power/state
        ...
        3c59x 0000:00:10.0: suspend
        3c59x 0000:00:10.0: PME# disabled
        Trying to free already-free IRQ 48
        ------------[ cut here ]------------
        Badness at c00554e4 [verbose debug info unavailable]
        NIP: c00554e4 LR: c00554e4 CTR: c019a098
        REGS: c7975c60 TRAP: 0700   Not tainted  (2.6.31-rc4)
        MSR: 00021032 <ME,CE,IR,DR>  CR: 28242422  XER: 20000000
        TASK = c79cb0c0[1746] 'bash' THREAD: c7974000
        ...
        NIP [c00554e4] __free_irq+0x108/0x1b0
        LR [c00554e4] __free_irq+0x108/0x1b0
        Call Trace:
        [c7975d10] [c00554e4] __free_irq+0x108/0x1b0 (unreliable)
        [c7975d30] [c005559c] free_irq+0x10/0x24
        [c7975d40] [c01e21ec] vortex_suspend+0x70/0xc4
        [c7975d60] [c017e584] pci_legacy_suspend+0x58/0x100
      
      This is because the driver manages interrupts without checking for
      netif_running().
      
      Though, there are few other issues with suspend/resume in this driver.
      The intention of calling free_irq() in suspend() was to avoid any
      possible spurious interrupts (see commit 5b039e68
      "3c59x PM fixes"). But,
      
      - On resume, the driver was requesting IRQ just after pci_set_master(),
        but before vortex_up() (which actually resets 3c59x chips).
      
      - Issuing free_irq() on a shared IRQ doesn't guarantee that a buggy
        HW won't trigger spurious interrupts in another driver that
        requested the same interrupt. So, if we want to protect from
        unexpected interrupts, then on suspend we should issue disable_irq(),
        not free_irq().
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      704cc92e
    • Eric Dumazet's avatar
      tunnel: eliminate recursion field · a43912ab
      Eric Dumazet authored
      It seems recursion field from "struct ip_tunnel" is not anymore needed.
      recursion prevention is done at the upper level (in dev_queue_xmit()),
      since we use HARD_TX_LOCK protection for tunnels.
      
      This avoids a cache line ping pong on "struct ip_tunnel" : This structure
      should be now mostly read on xmit and receive paths.
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a43912ab
    • Sebastian Haas's avatar
      ems_pci: fix size of CAN controllers BAR mapping for CPC-PCI v2 · edf42a27
      Sebastian Haas authored
      The driver mapped only 128 bytes of the CAN controller address space when a
      CPC-PCI v2 was detected (incl. CPC-104P). This patch will fix it by always
      mapping the whole address space (4096 bytes on all boards) of the
      corresponding PCI BAR.
      Signed-off-by: default avatarSebastian Haas <haas@ems-wuensche.com>
      Signed-off-by: default avatarWolfgang Grandegger <wg@grandegger.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      edf42a27
    • Jaswinder Singh Rajput's avatar
      net: fix htmldocs sunrpc, clnt.c · 0c01695d
      Jaswinder Singh Rajput authored
      DOCPROC Documentation/DocBook/networking.xml
        Warning(net/sunrpc/clnt.c:647): No description found for parameter 'req'
        Warning(net/sunrpc/clnt.c:647): No description found for parameter 'tk_ops'
        Warning(net/sunrpc/clnt.c:647): Excess function parameter 'ops' description in 'rpc_run_bc_task'
      Signed-off-by: default avatarJaswinder Singh Rajput <jaswinderrajput@gmail.com>
      Cc: Ricardo Labiaga <Ricardo.Labiaga@netapp.com>
      Cc: Benny Halevy <bhalevy@panasas.com>
      Cc: Andy Adamson <andros@netapp.com>
      Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0c01695d
    • Rémi Denis-Courmont's avatar
      Phonet: error on broadcast sending (unimplemented) · 18a1166d
      Rémi Denis-Courmont authored
      If we ever implement this, then we can stop returning an error.
      Signed-off-by: default avatarRémi Denis-Courmont <remi.denis-courmont@nokia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      18a1166d
    • Rémi Denis-Courmont's avatar
      Phonet: fix race for port number in concurrent bind() · 582b0b61
      Rémi Denis-Courmont authored
      Allocating a port number to a socket and hashing that socket shall be
      an atomic operation with regards to other port allocation. Otherwise,
      we could allocate a port that is already being allocated to another
      socket.
      Signed-off-by: default avatarRémi Denis-Courmont <remi.denis-courmont@nokia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      582b0b61
    • Stephen Hemminger's avatar
      pktgen: better scheduler friendliness · ef87979c
      Stephen Hemminger authored
      Previous update did not resched in inner loop causing watchdogs.
      Rewrite inner loop to:
        * account for delays better with less clock calls
        * more accurate timing of delay:
          - only delay if packet was successfully sent
          - if delay is 100ns and it takes 10ns to build packet then
            account for that
        * use wait_event_interruptible_timeout rather than open coding it.
      Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ef87979c
    • Stephen Hemminger's avatar
      pktgen: T_TERMINATE flag is unused · 6b80d6a6
      Stephen Hemminger authored
      Get rid of unused flag bit.
      Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6b80d6a6
    • Shan Wei's avatar
      ipv4: check optlen for IP_MULTICAST_IF option · 0915921b
      Shan Wei authored
      Due to man page of setsockopt, if optlen is not valid, kernel should return
      -EINVAL. But a simple testcase as following, errno is 0, which means setsockopt
      is successful.
      	addr.s_addr = inet_addr("192.1.2.3");
      	setsockopt(s, IPPROTO_IP, IP_MULTICAST_IF, &addr, 1);
      	printf("errno is %d\n", errno);
      
      Xiaotian Feng(dfeng@redhat.com) caught the bug. We fix it firstly checking
      the availability of optlen and then dealing with the logic like other options.
      Reported-by: default avatarXiaotian Feng <dfeng@redhat.com>
      Signed-off-by: default avatarShan Wei <shanwei@cn.fujitsu.com>
      Acked-by: default avatarAlexey Kuznetsov <kuznet@ms2.inr.ac.ru>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0915921b
    • David S. Miller's avatar
      Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ · 8b3f6af8
      David S. Miller authored
      Conflicts:
      	drivers/staging/Kconfig
      	drivers/staging/Makefile
      	drivers/staging/cpc-usb/TODO
      	drivers/staging/cpc-usb/cpc-usb_drv.c
      	drivers/staging/cpc-usb/cpc.h
      	drivers/staging/cpc-usb/cpc_int.h
      	drivers/staging/cpc-usb/cpcusb.h
      8b3f6af8
    • Linus Torvalds's avatar
      Merge branch 'drm-intel-next' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel · 94e0fb08
      Linus Torvalds authored
      * 'drm-intel-next' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: (57 commits)
        drm/i915: Handle ERESTARTSYS during page fault
        drm/i915: Warn before mmaping a purgeable buffer.
        drm/i915: Track purged state.
        drm/i915: Remove eviction debug spam
        drm/i915: Immediately discard any backing storage for uneeded objects
        drm/i915: Do not mis-classify clean objects as purgeable
        drm/i915: Whitespace correction for madv
        drm/i915: BUG_ON page refleak during unbind
        drm/i915: Search harder for a reusable object
        drm/i915: Clean up evict from list.
        drm/i915: Add tracepoints
        drm/i915: framebuffer compression for GM45+
        drm/i915: split display functions by chip type
        drm/i915: Skip the sanity checks if the current relocation is valid
        drm/i915: Check that the relocation points to within the target
        drm/i915: correct FBC update when pipe base update occurs
        drm/i915: blacklist Acer AspireOne lid status
        ACPI: make ACPI button funcs no-ops if not built in
        drm/i915: prevent FIFO calculation overflows on 32 bits with high dotclocks
        drm/i915: intel_display.c handle latency variable efficiently
        ...
      
      Fix up trivial conflicts in drivers/gpu/drm/i915/{i915_dma.c|i915_drv.h}
      94e0fb08
    • Linus Torvalds's avatar
      Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 · b7f21bb2
      Linus Torvalds authored
      * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (21 commits)
        x86/PCI: make 32 bit NUMA node array int, not unsigned char
        x86/PCI: default pcibus cpumask to all cpus if it lacks affinity
        MAINTAINTERS: remove hotplug driver entries
        PCI: pciehp: remove slot capabilities definitions
        PCI: pciehp: remove error message definitions
        PCI: pciehp: remove number field
        PCI: pciehp: remove hpc_ops
        PCI: pciehp: remove pci_dev field
        PCI: pciehp: remove crit_sect mutex
        PCI: pciehp: remove slot_bus field
        PCI: pciehp: remove first_slot field
        PCI: pciehp: remove slot_device_offset field
        PCI: pciehp: remove hp_slot field
        PCI: pciehp: remove device field
        PCI: pciehp: remove bus field
        PCI: pciehp: remove slot_num_inc field
        PCI: pciehp: remove num_slots field
        PCI: pciehp: remove slot_list field
        PCI: fix VGA arbiter header file
        PCI: Disable AER with pci=nomsi
        ...
      
      Fixed up trivial conflicts in MAINTAINERS
      b7f21bb2
    • Linus Torvalds's avatar
      Merge branch 'cputime' of git://git390.marist.edu/pub/scm/linux-2.6 · 7ca263cd
      Linus Torvalds authored
      * 'cputime' of git://git390.marist.edu/pub/scm/linux-2.6:
        [PATCH] Fix idle time field in /proc/uptime
      7ca263cd
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze · a6b49cb2
      Linus Torvalds authored
      * 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze: (24 commits)
        microblaze: Disable heartbeat/enable emaclite in defconfigs
        microblaze: Support simpleImage.dts make target
        microblaze: Fix _start symbol to physical address
        microblaze: Use LOAD_OFFSET macro to get correct LMA for all sections
        microblaze: Create the LOAD_OFFSET macro used to compute VMA vs LMA offsets
        microblaze: Copy ppc asm-compat.h for clean handling of constants in asm and C
        microblaze: Actually show KiB rather than pages in "Freeing initrd memory:"
        microblaze: Support ptrace syscall tracing.
        microblaze: Updated CPU version and FPGA family codes in PVR
        microblaze: Generate correct signal and siginfo for integer div-by-zero
        microblaze: Don't be noisy when userspace causes hardware exceptions
        microblaze: Remove ipc.h file which points to non-existing asm-generic file
        microblaze: Clear sticky FSR register after generating exception signals
        microblaze: Ensure CPU usermode is set on new userspace processes
        microblaze: Use correct kbuild variable KBUILD_CFLAGS
        microblaze: Save and restore msr in hw exception
        microblaze: Add architectural support for USB EHCI host controllers
        microblaze: Implement include/asm/syscall.h.
        microblaze: Improve checking mechanism for MSR instruction
        microblaze: Add checking mechanism for MSR instruction
        ...
      a6b49cb2
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus · 2c9871de
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
        module: don't call percpu_modfree on NULL pointer.
        module: fix memory leak when load fails after srcversion/version allocated
        module: preferred way to use MODULE_AUTHOR
        param: allow whitespace as kernel parameter separator
        module: reduce string table for loaded modules (v2)
        module: reduce symbol table for loaded modules (v2)
      2c9871de
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable · dc2af6a6
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (42 commits)
        Btrfs: hash the btree inode during  fill_super
        Btrfs: relocate file extents in clusters
        Btrfs: don't rename file into dummy directory
        Btrfs: check size of inode backref before adding hardlink
        Btrfs: fix releasepage to avoid unlocking extents we haven't locked
        Btrfs: Fix test_range_bit for whole file extents
        Btrfs: fix errors handling cached state in set/clear_extent_bit
        Btrfs: fix early enospc during balancing
        Btrfs: deal with NULL space info
        Btrfs: account for space used by the super mirrors
        Btrfs: fix extent entry threshold calculation
        Btrfs: remove dead code
        Btrfs: fix bitmap size tracking
        Btrfs: don't keep retrying a block group if we fail to allocate a cluster
        Btrfs: make balance code choose more wisely when relocating
        Btrfs: fix arithmetic error in clone ioctl
        Btrfs: add snapshot/subvolume destroy ioctl
        Btrfs: change how subvolumes are organized
        Btrfs: do not reuse objectid of deleted snapshot/subvol
        Btrfs: speed up snapshot dropping
        ...
      dc2af6a6
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 · 6c5daf01
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
        truncate: use new helpers
        truncate: new helpers
        fs: fix overflow in sys_mount() for in-kernel calls
        fs: Make unload_nls() NULL pointer safe
        freeze_bdev: grab active reference to frozen superblocks
        freeze_bdev: kill bd_mount_sem
        exofs: remove BKL from super operations
        fs/romfs: correct error-handling code
        vfs: seq_file: add helpers for data filling
        vfs: remove redundant position check in do_sendfile
        vfs: change sb->s_maxbytes to a loff_t
        vfs: explicitly cast s_maxbytes in fiemap_check_ranges
        libfs: return error code on failed attr set
        seq_file: return a negative error code when seq_path_root() fails.
        vfs: optimize touch_time() too
        vfs: optimization for touch_atime()
        vfs: split generic_forget_inode() so that hugetlbfs does not have to copy it
        fs/inode.c: add dev-id and inode number for debugging in init_special_inode()
        libfs: make simple_read_from_buffer conventional
      6c5daf01
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current · 6d39b27f
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:
        lsm: Use a compressed IPv6 string format in audit events
        Audit: send signal info if selinux is disabled
        Audit: rearrange audit_context to save 16 bytes per struct
        Audit: reorganize struct audit_watch to save 8 bytes
      6d39b27f
    • Rusty Russell's avatar
      module: don't call percpu_modfree on NULL pointer. · ffa9f12a
      Rusty Russell authored
      The general one handles NULL, the static obsolescent
      (CONFIG_HAVE_LEGACY_PER_CPU_AREA) one in module.c doesn't; Eric's
      commit 720eba31 assumed it did, and various frobbings since then kept
      that assumption.
      
      All other callers in module.c all protect it with an if; this effectively
      does the same as free_init is only goto if we fail percpu_modalloc().
      Reported-by: default avatarKamalesh Babulal <kamalesh@linux.vnet.ibm.com>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      Cc: Eric Dumazet <dada1@cosmosbay.com>
      Cc: Masami Hiramatsu <mhiramat@redhat.com>
      Cc: Américo Wang <xiyou.wangcong@gmail.com>
      Tested-by: default avatarKamalesh Babulal <kamalesh@linux.vnet.ibm.com>
      ffa9f12a
    • Rusty Russell's avatar
      module: fix memory leak when load fails after srcversion/version allocated · a263f776
      Rusty Russell authored
      Normally the twisty paths of sysfs will free the attributes, but not if
      we fail before we hook it into sysfs (which is the last thing we do in
      load_module).
      
      (This sysfs code is a turd, no doubt there are other issues lurking too).
      Reported-by: default avatarTetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Tested-by: default avatarTetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
      a263f776
    • Johannes Berg's avatar
      module: preferred way to use MODULE_AUTHOR · 1d7015ca
      Johannes Berg authored
      For the longest time now we've been using multiple MODULE_AUTHOR()
      statements when a module has more than one author, but the comment here
      disagrees.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Cc: Jiri Kosina <jkosina@suse.cz>
      Cc: Luciano Coelho <luciano.coelho@nokia.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      1d7015ca
    • Peter Oberparleiter's avatar
      param: allow whitespace as kernel parameter separator · 26d052bf
      Peter Oberparleiter authored
      Some boot mechanisms require that kernel parameters are stored in a
      separate file which is loaded to memory without further processing
      (e.g. the "Load from FTP" method on s390). When such a file contains
      newline characters, the kernel parameter preceding the newline might
      not be correctly parsed (due to the newline being stuck to the end of
      the actual parameter value) which can lead to boot failures.
      
      This patch improves kernel command line usability in such a situation
      by allowing generic whitespace characters as separators between kernel
      parameters.
      Signed-off-by: default avatarPeter Oberparleiter <oberpar@linux.vnet.ibm.com>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      26d052bf
    • Jan Beulich's avatar
      module: reduce string table for loaded modules (v2) · 554bdfe5
      Jan Beulich authored
      Also remove all parts of the string table (referenced by the symbol
      table) that are not needed for kallsyms use (i.e. which were only
      referenced by symbols discarded by the previous patch, or not
      referenced at all for whatever reason).
      Signed-off-by: default avatarJan Beulich <jbeulich@novell.com>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      554bdfe5
    • Jan Beulich's avatar
      module: reduce symbol table for loaded modules (v2) · 4a496226
      Jan Beulich authored
      Discard all symbols not interesting for kallsyms use: absolute,
      section, and in the common case (!KALLSYMS_ALL) data ones.
      Signed-off-by: default avatarJan Beulich <jbeulich@novell.com>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      4a496226
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://neil.brown.name/md · a487b670
      Linus Torvalds authored
      * 'for-linus' of git://neil.brown.name/md: (97 commits)
        md: raid-1/10: fix RW bits manipulation
        md: remove unnecessary memset from multipath.
        md: report device as congested when suspended
        md: Improve name of threads created by md_register_thread
        md: remove sparse warnings about lock context.
        md: remove sparse waring "symbol xxx shadows an earlier one"
        async_tx/raid6: add missing dma_unmap calls to the async fail case
        ioat3: fix uninitialized var warnings
        drivers/dma/ioat/dma_v2.c: fix warnings
        raid6test: fix stack overflow
        ioat2: clarify ring size limits
        md/raid6: cleanup ops_run_compute6_2
        md/raid6: eliminate BUG_ON with side effect
        dca: module load should not be an error message
        ioat: driver version 4.0
        dca: registering requesters in multiple dca domains
        async_tx: remove HIGHMEM64G restriction
        dmaengine: sh: Add Support SuperH DMA Engine driver
        dmaengine: Move all map_sg/unmap_sg for slave channel to its client
        fsldma: Add DMA_SLAVE support
        ...
      a487b670