1. 21 Apr, 2008 6 commits
  2. 20 Apr, 2008 13 commits
    • David Woodhouse's avatar
      [NET]: Expose netdevice dev_id through sysfs · 9d29672c
      David Woodhouse authored
      Expose dev_id to userspace, because it helps to disambiguate between
      interfaces where the MAC address is unique.
      
      This should allow us to simplify the handling of persistent naming for
      S390 network devices in udev -- because it can depend on a simple
      attribute of the device like the other match criteria, rather than
      having a special case for SUBSYSTEMS=="ccwgroup".
      Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9d29672c
    • Randy Dunlap's avatar
      skbuff: fix missing kernel-doc notation · f7d0e5a5
      Randy Dunlap authored
      Add kernel-doc notation for ndisc_nodetype:
      
      Warning(linux-2.6.25-git2//include/linux/skbuff.h:340): No description found for parameter 'ndisc_nodetype'
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f7d0e5a5
    • Bernard Pidoux's avatar
      [ROSE]: Fix soft lockup wrt. rose_node_list_lock · 047f7617
      Bernard Pidoux authored
      [ INFO: possible recursive locking detected ]
      2.6.25 #3
      ---------------------------------------------
      ax25ipd/3811 is trying to acquire lock:
        (rose_node_list_lock){-+..}, at: [<f8d31f1a>] rose_get_neigh+0x1a/0xa0 
      [rose]
      
      but task is already holding lock:
        (rose_node_list_lock){-+..}, at: [<f8d31fed>] 
      rose_route_frame+0x4d/0x620 [rose]
      
      other info that might help us debug this:
      6 locks held by ax25ipd/3811:
        #0:  (&tty->atomic_write_lock){--..}, at: [<c0259a1c>] 
      tty_write_lock+0x1c/0x50
        #1:  (rcu_read_lock){..--}, at: [<c02aea36>] net_rx_action+0x96/0x230
        #2:  (rcu_read_lock){..--}, at: [<c02ac5c0>] netif_receive_skb+0x100/0x2f0
        #3:  (rose_node_list_lock){-+..}, at: [<f8d31fed>] 
      rose_route_frame+0x4d/0x620 [rose]
        #4:  (rose_neigh_list_lock){-+..}, at: [<f8d31ff7>] 
      rose_route_frame+0x57/0x620 [rose]
        #5:  (rose_route_list_lock){-+..}, at: [<f8d32001>] 
      rose_route_frame+0x61/0x620 [rose]
      
      stack backtrace:
      Pid: 3811, comm: ax25ipd Not tainted 2.6.25 #3
        [<c0147e27>] print_deadlock_bug+0xc7/0xd0
        [<c0147eca>] check_deadlock+0x9a/0xb0
        [<c0149cd2>] validate_chain+0x1e2/0x310
        [<c0149b95>] ? validate_chain+0xa5/0x310
        [<c010a7d8>] ? native_sched_clock+0x88/0xc0
        [<c0149fa1>] __lock_acquire+0x1a1/0x750
        [<c014a5d1>] lock_acquire+0x81/0xa0
        [<f8d31f1a>] ? rose_get_neigh+0x1a/0xa0 [rose]
        [<c03201a3>] _spin_lock_bh+0x33/0x60
        [<f8d31f1a>] ? rose_get_neigh+0x1a/0xa0 [rose]
        [<f8d31f1a>] rose_get_neigh+0x1a/0xa0 [rose]
        [<f8d32404>] rose_route_frame+0x464/0x620 [rose]
        [<c031ffdd>] ? _read_unlock+0x1d/0x20
        [<f8d31fa0>] ? rose_route_frame+0x0/0x620 [rose]
        [<f8d1c396>] ax25_rx_iframe+0x66/0x3b0 [ax25]
        [<f8d1f42f>] ? ax25_start_t3timer+0x1f/0x40 [ax25]
        [<f8d1e65b>] ax25_std_frame_in+0x7fb/0x890 [ax25]
        [<c0320005>] ? _spin_unlock_bh+0x25/0x30
        [<f8d1bdf6>] ax25_kiss_rcv+0x2c6/0x800 [ax25]
        [<c02a4769>] ? sock_def_readable+0x59/0x80
        [<c014a8a7>] ? __lock_release+0x47/0x70
        [<c02a4769>] ? sock_def_readable+0x59/0x80
        [<c031ffdd>] ? _read_unlock+0x1d/0x20
        [<c02a4769>] ? sock_def_readable+0x59/0x80
        [<c02a4d3a>] ? sock_queue_rcv_skb+0x13a/0x1d0
        [<c02a4c45>] ? sock_queue_rcv_skb+0x45/0x1d0
        [<f8d1bb30>] ? ax25_kiss_rcv+0x0/0x800 [ax25]
        [<c02ac715>] netif_receive_skb+0x255/0x2f0
        [<c02ac5c0>] ? netif_receive_skb+0x100/0x2f0
        [<c02af05c>] process_backlog+0x7c/0xf0
        [<c02aeb0c>] net_rx_action+0x16c/0x230
        [<c02aea36>] ? net_rx_action+0x96/0x230
        [<c012bd53>] __do_softirq+0x93/0x120
        [<f8d2a68a>] ? mkiss_receive_buf+0x33a/0x3f0 [mkiss]
        [<c012be37>] do_softirq+0x57/0x60
        [<c012c265>] local_bh_enable_ip+0xa5/0xe0
        [<c0320005>] _spin_unlock_bh+0x25/0x30
        [<f8d2a68a>] mkiss_receive_buf+0x33a/0x3f0 [mkiss]
        [<c025ea37>] pty_write+0x47/0x60
        [<c025c620>] write_chan+0x1b0/0x220
        [<c0259a1c>] ? tty_write_lock+0x1c/0x50
        [<c011fec0>] ? default_wake_function+0x0/0x10
        [<c0259bea>] tty_write+0x12a/0x1c0
        [<c025c470>] ? write_chan+0x0/0x220
        [<c018bbc6>] vfs_write+0x96/0x130
        [<c0259ac0>] ? tty_write+0x0/0x1c0
        [<c018c24d>] sys_write+0x3d/0x70
        [<c0104d1e>] sysenter_past_esp+0x5f/0xa5
        =======================
      BUG: soft lockup - CPU#0 stuck for 61s! [ax25ipd:3811]
      
      Pid: 3811, comm: ax25ipd Not tainted (2.6.25 #3)
      EIP: 0060:[<c010a9db>] EFLAGS: 00000246 CPU: 0
      EIP is at native_read_tsc+0xb/0x20
      EAX: b404aa2c EBX: b404a9c9 ECX: 017f1000 EDX: 0000076b
      ESI: 00000001 EDI: 00000000 EBP: ecc83afc ESP: ecc83afc
        DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
      CR0: 8005003b CR2: b7f5f000 CR3: 2cd8e000 CR4: 000006f0
      DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
      DR6: ffff0ff0 DR7: 00000400
        [<c0204937>] delay_tsc+0x17/0x30
        [<c02048e9>] __delay+0x9/0x10
        [<c02127f6>] __spin_lock_debug+0x76/0xf0
        [<c0212618>] ? spin_bug+0x18/0x100
        [<c0147923>] ? __lock_contended+0xa3/0x110
        [<c0212998>] _raw_spin_lock+0x68/0x90
        [<c03201bf>] _spin_lock_bh+0x4f/0x60
        [<f8d31f1a>] ? rose_get_neigh+0x1a/0xa0 [rose]
        [<f8d31f1a>] rose_get_neigh+0x1a/0xa0 [rose]
        [<f8d32404>] rose_route_frame+0x464/0x620 [rose]
        [<c031ffdd>] ? _read_unlock+0x1d/0x20
        [<f8d31fa0>] ? rose_route_frame+0x0/0x620 [rose]
        [<f8d1c396>] ax25_rx_iframe+0x66/0x3b0 [ax25]
        [<f8d1f42f>] ? ax25_start_t3timer+0x1f/0x40 [ax25]
        [<f8d1e65b>] ax25_std_frame_in+0x7fb/0x890 [ax25]
        [<c0320005>] ? _spin_unlock_bh+0x25/0x30
        [<f8d1bdf6>] ax25_kiss_rcv+0x2c6/0x800 [ax25]
        [<c02a4769>] ? sock_def_readable+0x59/0x80
        [<c014a8a7>] ? __lock_release+0x47/0x70
        [<c02a4769>] ? sock_def_readable+0x59/0x80
        [<c031ffdd>] ? _read_unlock+0x1d/0x20
        [<c02a4769>] ? sock_def_readable+0x59/0x80
        [<c02a4d3a>] ? sock_queue_rcv_skb+0x13a/0x1d0
        [<c02a4c45>] ? sock_queue_rcv_skb+0x45/0x1d0
        [<f8d1bb30>] ? ax25_kiss_rcv+0x0/0x800 [ax25]
        [<c02ac715>] netif_receive_skb+0x255/0x2f0
        [<c02ac5c0>] ? netif_receive_skb+0x100/0x2f0
        [<c02af05c>] process_backlog+0x7c/0xf0
        [<c02aeb0c>] net_rx_action+0x16c/0x230
        [<c02aea36>] ? net_rx_action+0x96/0x230
        [<c012bd53>] __do_softirq+0x93/0x120
        [<f8d2a68a>] ? mkiss_receive_buf+0x33a/0x3f0 [mkiss]
        [<c012be37>] do_softirq+0x57/0x60
        [<c012c265>] local_bh_enable_ip+0xa5/0xe0
        [<c0320005>] _spin_unlock_bh+0x25/0x30
        [<f8d2a68a>] mkiss_receive_buf+0x33a/0x3f0 [mkiss]
        [<c025ea37>] pty_write+0x47/0x60
        [<c025c620>] write_chan+0x1b0/0x220
        [<c0259a1c>] ? tty_write_lock+0x1c/0x50
        [<c011fec0>] ? default_wake_function+0x0/0x10
        [<c0259bea>] tty_write+0x12a/0x1c0
        [<c025c470>] ? write_chan+0x0/0x220
        [<c018bbc6>] vfs_write+0x96/0x130
        [<c0259ac0>] ? tty_write+0x0/0x1c0
        [<c018c24d>] sys_write+0x3d/0x70
        [<c0104d1e>] sysenter_past_esp+0x5f/0xa5
        =======================
      
      Since rose_route_frame() does not use rose_node_list we can safely
      remove rose_node_list_lock spin lock here and let it be free for
      rose_get_neigh().
      Signed-off-by: default avatarBernard Pidoux <f6bvp@amsat.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      047f7617
    • Bernard Pidoux's avatar
      rose: Socket lock was not released before returning to user space · 43837b1e
      Bernard Pidoux authored
      ================================================
      [ BUG: lock held when returning to user space! ]
      ------------------------------------------------
      xfbbd/3683 is leaving the kernel with locks still held!
      1 lock held by xfbbd/3683:
        #0:  (sk_lock-AF_ROSE){--..}, at: [<c8cd1eb3>] rose_connect+0x73/0x420 [rose]
      
      INFO: task xfbbd:3683 blocked for more than 120 seconds.
      "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
      xfbbd         D 00000246     0  3683   3669
              c6965ee0 00000092 c02c5c40 00000246 c0f6b5f0 c0f6b5c0 c0f6b5f0 c0f6b5c0
              c0f6b614 c6965f18 c024b74b ffffffff c06ba070 00000000 00000000 00000001
              c6ab07c0 c012d450 c0f6b634 c0f6b634 c7b5bf10 c0d6004c c7b5bf10 c6965f40
      Call Trace:
        [<c024b74b>] lock_sock_nested+0x6b/0xd0
        [<c012d450>] ? autoremove_wake_function+0x0/0x40
        [<c02488f1>] sock_fasync+0x41/0x150
        [<c0249e69>] sock_close+0x19/0x40
        [<c0175d54>] __fput+0xb4/0x170
        [<c0176018>] fput+0x18/0x20
        [<c017300e>] filp_close+0x3e/0x70
        [<c01744e9>] sys_close+0x69/0xb0
        [<c0103bda>] sysenter_past_esp+0x5f/0xa5
        =======================
      INFO: lockdep is turned off.
      Signed-off-by: default avatarBernard Pidoux <f6bvp@amsat.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      43837b1e
    • Pavel Machek's avatar
      hci_usb: remove code obfuscation · d129f188
      Pavel Machek authored
      _urb_free is an alias for kfree... making code longer & harder to
      read. Remove it.
      Signed-off-by: default avatarPavel Machek <pavel@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d129f188
    • Julia Lawall's avatar
      drivers/net/appletalk: use time_before, time_before_eq, etc · b132fba1
      Julia Lawall authored
      The functions time_before, time_before_eq, time_after, and time_after_eq
      are more robust for comparing jiffies against other values.
      
      A simplified version of the semantic patch making this change is as follows:
      (http://www.emn.fr/x-info/coccinelle/)
      
      // <smpl>
      @ change_compare_np @
      expression E;
      @@
      
      (
      - jiffies <= E
      + time_before_eq(jiffies,E)
      |
      - jiffies >= E
      + time_after_eq(jiffies,E)
      |
      - jiffies < E
      + time_before(jiffies,E)
      |
      - jiffies > E
      + time_after(jiffies,E)
      )
      
      @ include depends on change_compare_np @
      @@
      
      #include <linux/jiffies.h>
      
      @ no_include depends on !include && change_compare_np @
      @@
      
        #include <linux/...>
      + #include <linux/jiffies.h>
      // </smpl>
      Signed-off-by: default avatarJulia Lawall <julia@diku.dk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b132fba1
    • Julia Lawall's avatar
      drivers/atm: use time_before, time_before_eq, etc · 420635f5
      Julia Lawall authored
      The functions time_before, time_before_eq, time_after, and time_after_eq
      are more robust for comparing jiffies against other values.
      
      A simplified version of the semantic patch making this change is as follows:
      (http://www.emn.fr/x-info/coccinelle/)
      
      // <smpl>
      @ change_compare_np @
      expression E;
      @@
      
      (
      - jiffies <= E
      + time_before_eq(jiffies,E)
      |
      - jiffies >= E
      + time_after_eq(jiffies,E)
      |
      - jiffies < E
      + time_before(jiffies,E)
      |
      - jiffies > E
      + time_after(jiffies,E)
      )
      
      @ include depends on change_compare_np @
      @@
      
      #include <linux/jiffies.h>
      
      @ no_include depends on !include && change_compare_np @
      @@
      
        #include <linux/...>
      + #include <linux/jiffies.h>
      // </smpl>
      Signed-off-by: default avatarJulia Lawall <julia@diku.dk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      420635f5
    • Pavel Machek's avatar
      hci_usb: do not initialize static variables to 0 · a8827113
      Pavel Machek authored
      hci_usb: do not initialize static variables to 0.
      Signed-off-by: default avatarPavel Machek <pavel@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a8827113
    • Matt Carlson's avatar
      tg3: 5701 DMA corruption fix · 41588ba1
      Matt Carlson authored
      Herbert Xu's commit fb93134d, entitled
      "[TCP]: Fix size calculation in sk_stream_alloc_pskb", has triggered a
      bug in the 5701 where the 5701 DMA engine will corrupt outgoing
      packets.  This problem only happens when the starting address of the
      packet matches a certain range of offsets and only when the 5701 is
      placed downstream of a particular Intel bridge.
      
      This patch detects the problematic bridge and if present, readjusts the
      starting address of the packet data to a dword aligned boundary.
      Signed-off-by: default avatarMatt Carlson <mcarlson@broadcom.com>
      Signed-off-by: default avatarMichael Chan <mchan@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      41588ba1
    • Mark Asselstine's avatar
      atm nicstar: Removal of debug code containing deprecated calls to cli()/sti() · 36ef4080
      Mark Asselstine authored
      Code within NS_DEBUG_SPINLOCKS contained deprecated cli()/sti()
      function calls.  NS_DEBUG_SPINLOCKS and the associated code seems to
      be of little use these days so the strategy of removing this code
      rather then updating it to use spinlocks has been taken.
      Signed-off-by: default avatarMark Asselstine <mark.asselstine@windriver.com>
      Reviewed-by: default avatarMatthew Wilcox <willy@linux.intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      36ef4080
    • David S. Miller's avatar
      iwlwifi: Fix unconditional access to station->tidp[].agg. · 344234de
      David S. Miller authored
      Reportred by Ingo Molnar:
      
      drivers/net/wireless/iwlwifi/iwl-debugfs.c: In function 'iwl_dbgfs_stations_read':
      drivers/net/wireless/iwlwifi/iwl-debugfs.c:256: error: 'struct iwl4965_tid_data' has no member named 'agg'
      
      Needs CONFIG_IWL4965_HT protection.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      344234de
    • Patrick McHardy's avatar
      netfilter: Fix SIP conntrack build with NAT disabled. · e1f9a464
      Patrick McHardy authored
      Reported by Ingo Molnar.
      
      The SIP helper is also useful without NAT. This patch adds an ifdef
      around the RTP call optimization for NATed clients.
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e1f9a464
    • Patrick McHardy's avatar
      netfilter: Fix SCTP nat build. · 4e9d8a70
      Patrick McHardy authored
      We need to select LIBCRC32C.
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4e9d8a70
  3. 19 Apr, 2008 4 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of... · 3925e6fc
      Linus Torvalds authored
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
        security: fix up documentation for security_module_enable
        Security: Introduce security= boot parameter
        Audit: Final renamings and cleanup
        SELinux: use new audit hooks, remove redundant exports
        Audit: internally use the new LSM audit hooks
        LSM/Audit: Introduce generic Audit LSM hooks
        SELinux: remove redundant exports
        Netlink: Use generic LSM hook
        Audit: use new LSM hooks instead of SELinux exports
        SELinux: setup new inode/ipc getsecid hooks
        LSM: Introduce inode_getsecid and ipc_getsecid hooks
      3925e6fc
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26 · 334d0945
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26: (1090 commits)
        [NET]: Fix and allocate less memory for ->priv'less netdevices
        [IPV6]: Fix dangling references on error in fib6_add().
        [NETLABEL]: Fix NULL deref in netlbl_unlabel_staticlist_gen() if ifindex not found
        [PKT_SCHED]: Fix datalen check in tcf_simp_init().
        [INET]: Uninline the __inet_inherit_port call.
        [INET]: Drop the inet_inherit_port() call.
        SCTP: Initialize partial_bytes_acked to 0, when all of the data is acked.
        [netdrvr] forcedeth: internal simplifications; changelog removal
        phylib: factor out get_phy_id from within get_phy_device
        PHY: add BCM5464 support to broadcom PHY driver
        cxgb3: Fix __must_check warning with dev_dbg.
        tc35815: Statistics cleanup
        natsemi: fix MMIO for PPC 44x platforms
        [TIPC]: Cleanup of TIPC reference table code
        [TIPC]: Optimized initialization of TIPC reference table
        [TIPC]: Remove inlining of reference table locking routines
        e1000: convert uint16_t style integers to u16
        ixgb: convert uint16_t style integers to u16
        sb1000.c: make const arrays static
        sb1000.c: stop inlining largish static functions
        ...
      334d0945
    • James Morris's avatar
      security: fix up documentation for security_module_enable · 7cea51be
      James Morris authored
      security_module_enable() can only be called during kernel init.
      Signed-off-by: default avatarJames Morris <jmorris@namei.org>
      7cea51be
    • Ahmed S. Darwish's avatar
      Security: Introduce security= boot parameter · 076c54c5
      Ahmed S. Darwish authored
      Add the security= boot parameter. This is done to avoid LSM
      registration clashes in case of more than one bult-in module.
      
      User can choose a security module to enable at boot. If no
      security= boot parameter is specified, only the first LSM
      asking for registration will be loaded. An invalid security
      module name will be treated as if no module has been chosen.
      
      LSM modules must check now if they are allowed to register
      by calling security_module_enable(ops) first. Modify SELinux
      and SMACK to do so.
      
      Do not let SMACK register smackfs if it was not chosen on
      boot. Smackfs assumes that smack hooks are registered and
      the initial task security setup (swapper->security) is done.
      Signed-off-by: default avatarAhmed S. Darwish <darwish.07@gmail.com>
      Acked-by: default avatarJames Morris <jmorris@namei.org>
      076c54c5
  4. 18 Apr, 2008 17 commits