<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/net/rose, branch v2.6.26-rc7</title>
<subtitle>Clone of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git</subtitle>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/'/>
<entry>
<title>rose: Wrong list_lock argument in rose_node seqops</title>
<updated>2008-05-03T00:03:22+00:00</updated>
<author>
<name>Bernard Pidoux</name>
<email>f6bvp@amsat.org</email>
</author>
<published>2008-05-03T00:03:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=f37f2c62a28e848e06399ea2f9be1e098212625c'/>
<id>f37f2c62a28e848e06399ea2f9be1e098212625c</id>
<content type='text'>
In rose_node_start() as well as in rose_node_stop() __acquires() and
spin_lock_bh() were wrongly passing rose_neigh_list_lock instead of
rose_node_list_lock arguments.

Signed-off-by: Bernard Pidoux &lt;f6bvp@amsat.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In rose_node_start() as well as in rose_node_stop() __acquires() and
spin_lock_bh() were wrongly passing rose_neigh_list_lock instead of
rose_node_list_lock arguments.

Signed-off-by: Bernard Pidoux &lt;f6bvp@amsat.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[ROSE]: Fix soft lockup wrt. rose_node_list_lock</title>
<updated>2008-04-20T22:58:07+00:00</updated>
<author>
<name>Bernard Pidoux</name>
<email>f6bvp@amsat.org</email>
</author>
<published>2008-04-20T22:58:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=047f7617eba3653ff3bcfbe902986903fff2ed3b'/>
<id>047f7617eba3653ff3bcfbe902986903fff2ed3b</id>
<content type='text'>
[ INFO: possible recursive locking detected ]
2.6.25 #3
---------------------------------------------
ax25ipd/3811 is trying to acquire lock:
  (rose_node_list_lock){-+..}, at: [&lt;f8d31f1a&gt;] rose_get_neigh+0x1a/0xa0 
[rose]

but task is already holding lock:
  (rose_node_list_lock){-+..}, at: [&lt;f8d31fed&gt;] 
rose_route_frame+0x4d/0x620 [rose]

other info that might help us debug this:
6 locks held by ax25ipd/3811:
  #0:  (&amp;tty-&gt;atomic_write_lock){--..}, at: [&lt;c0259a1c&gt;] 
tty_write_lock+0x1c/0x50
  #1:  (rcu_read_lock){..--}, at: [&lt;c02aea36&gt;] net_rx_action+0x96/0x230
  #2:  (rcu_read_lock){..--}, at: [&lt;c02ac5c0&gt;] netif_receive_skb+0x100/0x2f0
  #3:  (rose_node_list_lock){-+..}, at: [&lt;f8d31fed&gt;] 
rose_route_frame+0x4d/0x620 [rose]
  #4:  (rose_neigh_list_lock){-+..}, at: [&lt;f8d31ff7&gt;] 
rose_route_frame+0x57/0x620 [rose]
  #5:  (rose_route_list_lock){-+..}, at: [&lt;f8d32001&gt;] 
rose_route_frame+0x61/0x620 [rose]

stack backtrace:
Pid: 3811, comm: ax25ipd Not tainted 2.6.25 #3
  [&lt;c0147e27&gt;] print_deadlock_bug+0xc7/0xd0
  [&lt;c0147eca&gt;] check_deadlock+0x9a/0xb0
  [&lt;c0149cd2&gt;] validate_chain+0x1e2/0x310
  [&lt;c0149b95&gt;] ? validate_chain+0xa5/0x310
  [&lt;c010a7d8&gt;] ? native_sched_clock+0x88/0xc0
  [&lt;c0149fa1&gt;] __lock_acquire+0x1a1/0x750
  [&lt;c014a5d1&gt;] lock_acquire+0x81/0xa0
  [&lt;f8d31f1a&gt;] ? rose_get_neigh+0x1a/0xa0 [rose]
  [&lt;c03201a3&gt;] _spin_lock_bh+0x33/0x60
  [&lt;f8d31f1a&gt;] ? rose_get_neigh+0x1a/0xa0 [rose]
  [&lt;f8d31f1a&gt;] rose_get_neigh+0x1a/0xa0 [rose]
  [&lt;f8d32404&gt;] rose_route_frame+0x464/0x620 [rose]
  [&lt;c031ffdd&gt;] ? _read_unlock+0x1d/0x20
  [&lt;f8d31fa0&gt;] ? rose_route_frame+0x0/0x620 [rose]
  [&lt;f8d1c396&gt;] ax25_rx_iframe+0x66/0x3b0 [ax25]
  [&lt;f8d1f42f&gt;] ? ax25_start_t3timer+0x1f/0x40 [ax25]
  [&lt;f8d1e65b&gt;] ax25_std_frame_in+0x7fb/0x890 [ax25]
  [&lt;c0320005&gt;] ? _spin_unlock_bh+0x25/0x30
  [&lt;f8d1bdf6&gt;] ax25_kiss_rcv+0x2c6/0x800 [ax25]
  [&lt;c02a4769&gt;] ? sock_def_readable+0x59/0x80
  [&lt;c014a8a7&gt;] ? __lock_release+0x47/0x70
  [&lt;c02a4769&gt;] ? sock_def_readable+0x59/0x80
  [&lt;c031ffdd&gt;] ? _read_unlock+0x1d/0x20
  [&lt;c02a4769&gt;] ? sock_def_readable+0x59/0x80
  [&lt;c02a4d3a&gt;] ? sock_queue_rcv_skb+0x13a/0x1d0
  [&lt;c02a4c45&gt;] ? sock_queue_rcv_skb+0x45/0x1d0
  [&lt;f8d1bb30&gt;] ? ax25_kiss_rcv+0x0/0x800 [ax25]
  [&lt;c02ac715&gt;] netif_receive_skb+0x255/0x2f0
  [&lt;c02ac5c0&gt;] ? netif_receive_skb+0x100/0x2f0
  [&lt;c02af05c&gt;] process_backlog+0x7c/0xf0
  [&lt;c02aeb0c&gt;] net_rx_action+0x16c/0x230
  [&lt;c02aea36&gt;] ? net_rx_action+0x96/0x230
  [&lt;c012bd53&gt;] __do_softirq+0x93/0x120
  [&lt;f8d2a68a&gt;] ? mkiss_receive_buf+0x33a/0x3f0 [mkiss]
  [&lt;c012be37&gt;] do_softirq+0x57/0x60
  [&lt;c012c265&gt;] local_bh_enable_ip+0xa5/0xe0
  [&lt;c0320005&gt;] _spin_unlock_bh+0x25/0x30
  [&lt;f8d2a68a&gt;] mkiss_receive_buf+0x33a/0x3f0 [mkiss]
  [&lt;c025ea37&gt;] pty_write+0x47/0x60
  [&lt;c025c620&gt;] write_chan+0x1b0/0x220
  [&lt;c0259a1c&gt;] ? tty_write_lock+0x1c/0x50
  [&lt;c011fec0&gt;] ? default_wake_function+0x0/0x10
  [&lt;c0259bea&gt;] tty_write+0x12a/0x1c0
  [&lt;c025c470&gt;] ? write_chan+0x0/0x220
  [&lt;c018bbc6&gt;] vfs_write+0x96/0x130
  [&lt;c0259ac0&gt;] ? tty_write+0x0/0x1c0
  [&lt;c018c24d&gt;] sys_write+0x3d/0x70
  [&lt;c0104d1e&gt;] 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:[&lt;c010a9db&gt;] 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
  [&lt;c0204937&gt;] delay_tsc+0x17/0x30
  [&lt;c02048e9&gt;] __delay+0x9/0x10
  [&lt;c02127f6&gt;] __spin_lock_debug+0x76/0xf0
  [&lt;c0212618&gt;] ? spin_bug+0x18/0x100
  [&lt;c0147923&gt;] ? __lock_contended+0xa3/0x110
  [&lt;c0212998&gt;] _raw_spin_lock+0x68/0x90
  [&lt;c03201bf&gt;] _spin_lock_bh+0x4f/0x60
  [&lt;f8d31f1a&gt;] ? rose_get_neigh+0x1a/0xa0 [rose]
  [&lt;f8d31f1a&gt;] rose_get_neigh+0x1a/0xa0 [rose]
  [&lt;f8d32404&gt;] rose_route_frame+0x464/0x620 [rose]
  [&lt;c031ffdd&gt;] ? _read_unlock+0x1d/0x20
  [&lt;f8d31fa0&gt;] ? rose_route_frame+0x0/0x620 [rose]
  [&lt;f8d1c396&gt;] ax25_rx_iframe+0x66/0x3b0 [ax25]
  [&lt;f8d1f42f&gt;] ? ax25_start_t3timer+0x1f/0x40 [ax25]
  [&lt;f8d1e65b&gt;] ax25_std_frame_in+0x7fb/0x890 [ax25]
  [&lt;c0320005&gt;] ? _spin_unlock_bh+0x25/0x30
  [&lt;f8d1bdf6&gt;] ax25_kiss_rcv+0x2c6/0x800 [ax25]
  [&lt;c02a4769&gt;] ? sock_def_readable+0x59/0x80
  [&lt;c014a8a7&gt;] ? __lock_release+0x47/0x70
  [&lt;c02a4769&gt;] ? sock_def_readable+0x59/0x80
  [&lt;c031ffdd&gt;] ? _read_unlock+0x1d/0x20
  [&lt;c02a4769&gt;] ? sock_def_readable+0x59/0x80
  [&lt;c02a4d3a&gt;] ? sock_queue_rcv_skb+0x13a/0x1d0
  [&lt;c02a4c45&gt;] ? sock_queue_rcv_skb+0x45/0x1d0
  [&lt;f8d1bb30&gt;] ? ax25_kiss_rcv+0x0/0x800 [ax25]
  [&lt;c02ac715&gt;] netif_receive_skb+0x255/0x2f0
  [&lt;c02ac5c0&gt;] ? netif_receive_skb+0x100/0x2f0
  [&lt;c02af05c&gt;] process_backlog+0x7c/0xf0
  [&lt;c02aeb0c&gt;] net_rx_action+0x16c/0x230
  [&lt;c02aea36&gt;] ? net_rx_action+0x96/0x230
  [&lt;c012bd53&gt;] __do_softirq+0x93/0x120
  [&lt;f8d2a68a&gt;] ? mkiss_receive_buf+0x33a/0x3f0 [mkiss]
  [&lt;c012be37&gt;] do_softirq+0x57/0x60
  [&lt;c012c265&gt;] local_bh_enable_ip+0xa5/0xe0
  [&lt;c0320005&gt;] _spin_unlock_bh+0x25/0x30
  [&lt;f8d2a68a&gt;] mkiss_receive_buf+0x33a/0x3f0 [mkiss]
  [&lt;c025ea37&gt;] pty_write+0x47/0x60
  [&lt;c025c620&gt;] write_chan+0x1b0/0x220
  [&lt;c0259a1c&gt;] ? tty_write_lock+0x1c/0x50
  [&lt;c011fec0&gt;] ? default_wake_function+0x0/0x10
  [&lt;c0259bea&gt;] tty_write+0x12a/0x1c0
  [&lt;c025c470&gt;] ? write_chan+0x0/0x220
  [&lt;c018bbc6&gt;] vfs_write+0x96/0x130
  [&lt;c0259ac0&gt;] ? tty_write+0x0/0x1c0
  [&lt;c018c24d&gt;] sys_write+0x3d/0x70
  [&lt;c0104d1e&gt;] 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: Bernard Pidoux &lt;f6bvp@amsat.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ INFO: possible recursive locking detected ]
2.6.25 #3
---------------------------------------------
ax25ipd/3811 is trying to acquire lock:
  (rose_node_list_lock){-+..}, at: [&lt;f8d31f1a&gt;] rose_get_neigh+0x1a/0xa0 
[rose]

but task is already holding lock:
  (rose_node_list_lock){-+..}, at: [&lt;f8d31fed&gt;] 
rose_route_frame+0x4d/0x620 [rose]

other info that might help us debug this:
6 locks held by ax25ipd/3811:
  #0:  (&amp;tty-&gt;atomic_write_lock){--..}, at: [&lt;c0259a1c&gt;] 
tty_write_lock+0x1c/0x50
  #1:  (rcu_read_lock){..--}, at: [&lt;c02aea36&gt;] net_rx_action+0x96/0x230
  #2:  (rcu_read_lock){..--}, at: [&lt;c02ac5c0&gt;] netif_receive_skb+0x100/0x2f0
  #3:  (rose_node_list_lock){-+..}, at: [&lt;f8d31fed&gt;] 
rose_route_frame+0x4d/0x620 [rose]
  #4:  (rose_neigh_list_lock){-+..}, at: [&lt;f8d31ff7&gt;] 
rose_route_frame+0x57/0x620 [rose]
  #5:  (rose_route_list_lock){-+..}, at: [&lt;f8d32001&gt;] 
rose_route_frame+0x61/0x620 [rose]

stack backtrace:
Pid: 3811, comm: ax25ipd Not tainted 2.6.25 #3
  [&lt;c0147e27&gt;] print_deadlock_bug+0xc7/0xd0
  [&lt;c0147eca&gt;] check_deadlock+0x9a/0xb0
  [&lt;c0149cd2&gt;] validate_chain+0x1e2/0x310
  [&lt;c0149b95&gt;] ? validate_chain+0xa5/0x310
  [&lt;c010a7d8&gt;] ? native_sched_clock+0x88/0xc0
  [&lt;c0149fa1&gt;] __lock_acquire+0x1a1/0x750
  [&lt;c014a5d1&gt;] lock_acquire+0x81/0xa0
  [&lt;f8d31f1a&gt;] ? rose_get_neigh+0x1a/0xa0 [rose]
  [&lt;c03201a3&gt;] _spin_lock_bh+0x33/0x60
  [&lt;f8d31f1a&gt;] ? rose_get_neigh+0x1a/0xa0 [rose]
  [&lt;f8d31f1a&gt;] rose_get_neigh+0x1a/0xa0 [rose]
  [&lt;f8d32404&gt;] rose_route_frame+0x464/0x620 [rose]
  [&lt;c031ffdd&gt;] ? _read_unlock+0x1d/0x20
  [&lt;f8d31fa0&gt;] ? rose_route_frame+0x0/0x620 [rose]
  [&lt;f8d1c396&gt;] ax25_rx_iframe+0x66/0x3b0 [ax25]
  [&lt;f8d1f42f&gt;] ? ax25_start_t3timer+0x1f/0x40 [ax25]
  [&lt;f8d1e65b&gt;] ax25_std_frame_in+0x7fb/0x890 [ax25]
  [&lt;c0320005&gt;] ? _spin_unlock_bh+0x25/0x30
  [&lt;f8d1bdf6&gt;] ax25_kiss_rcv+0x2c6/0x800 [ax25]
  [&lt;c02a4769&gt;] ? sock_def_readable+0x59/0x80
  [&lt;c014a8a7&gt;] ? __lock_release+0x47/0x70
  [&lt;c02a4769&gt;] ? sock_def_readable+0x59/0x80
  [&lt;c031ffdd&gt;] ? _read_unlock+0x1d/0x20
  [&lt;c02a4769&gt;] ? sock_def_readable+0x59/0x80
  [&lt;c02a4d3a&gt;] ? sock_queue_rcv_skb+0x13a/0x1d0
  [&lt;c02a4c45&gt;] ? sock_queue_rcv_skb+0x45/0x1d0
  [&lt;f8d1bb30&gt;] ? ax25_kiss_rcv+0x0/0x800 [ax25]
  [&lt;c02ac715&gt;] netif_receive_skb+0x255/0x2f0
  [&lt;c02ac5c0&gt;] ? netif_receive_skb+0x100/0x2f0
  [&lt;c02af05c&gt;] process_backlog+0x7c/0xf0
  [&lt;c02aeb0c&gt;] net_rx_action+0x16c/0x230
  [&lt;c02aea36&gt;] ? net_rx_action+0x96/0x230
  [&lt;c012bd53&gt;] __do_softirq+0x93/0x120
  [&lt;f8d2a68a&gt;] ? mkiss_receive_buf+0x33a/0x3f0 [mkiss]
  [&lt;c012be37&gt;] do_softirq+0x57/0x60
  [&lt;c012c265&gt;] local_bh_enable_ip+0xa5/0xe0
  [&lt;c0320005&gt;] _spin_unlock_bh+0x25/0x30
  [&lt;f8d2a68a&gt;] mkiss_receive_buf+0x33a/0x3f0 [mkiss]
  [&lt;c025ea37&gt;] pty_write+0x47/0x60
  [&lt;c025c620&gt;] write_chan+0x1b0/0x220
  [&lt;c0259a1c&gt;] ? tty_write_lock+0x1c/0x50
  [&lt;c011fec0&gt;] ? default_wake_function+0x0/0x10
  [&lt;c0259bea&gt;] tty_write+0x12a/0x1c0
  [&lt;c025c470&gt;] ? write_chan+0x0/0x220
  [&lt;c018bbc6&gt;] vfs_write+0x96/0x130
  [&lt;c0259ac0&gt;] ? tty_write+0x0/0x1c0
  [&lt;c018c24d&gt;] sys_write+0x3d/0x70
  [&lt;c0104d1e&gt;] 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:[&lt;c010a9db&gt;] 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
  [&lt;c0204937&gt;] delay_tsc+0x17/0x30
  [&lt;c02048e9&gt;] __delay+0x9/0x10
  [&lt;c02127f6&gt;] __spin_lock_debug+0x76/0xf0
  [&lt;c0212618&gt;] ? spin_bug+0x18/0x100
  [&lt;c0147923&gt;] ? __lock_contended+0xa3/0x110
  [&lt;c0212998&gt;] _raw_spin_lock+0x68/0x90
  [&lt;c03201bf&gt;] _spin_lock_bh+0x4f/0x60
  [&lt;f8d31f1a&gt;] ? rose_get_neigh+0x1a/0xa0 [rose]
  [&lt;f8d31f1a&gt;] rose_get_neigh+0x1a/0xa0 [rose]
  [&lt;f8d32404&gt;] rose_route_frame+0x464/0x620 [rose]
  [&lt;c031ffdd&gt;] ? _read_unlock+0x1d/0x20
  [&lt;f8d31fa0&gt;] ? rose_route_frame+0x0/0x620 [rose]
  [&lt;f8d1c396&gt;] ax25_rx_iframe+0x66/0x3b0 [ax25]
  [&lt;f8d1f42f&gt;] ? ax25_start_t3timer+0x1f/0x40 [ax25]
  [&lt;f8d1e65b&gt;] ax25_std_frame_in+0x7fb/0x890 [ax25]
  [&lt;c0320005&gt;] ? _spin_unlock_bh+0x25/0x30
  [&lt;f8d1bdf6&gt;] ax25_kiss_rcv+0x2c6/0x800 [ax25]
  [&lt;c02a4769&gt;] ? sock_def_readable+0x59/0x80
  [&lt;c014a8a7&gt;] ? __lock_release+0x47/0x70
  [&lt;c02a4769&gt;] ? sock_def_readable+0x59/0x80
  [&lt;c031ffdd&gt;] ? _read_unlock+0x1d/0x20
  [&lt;c02a4769&gt;] ? sock_def_readable+0x59/0x80
  [&lt;c02a4d3a&gt;] ? sock_queue_rcv_skb+0x13a/0x1d0
  [&lt;c02a4c45&gt;] ? sock_queue_rcv_skb+0x45/0x1d0
  [&lt;f8d1bb30&gt;] ? ax25_kiss_rcv+0x0/0x800 [ax25]
  [&lt;c02ac715&gt;] netif_receive_skb+0x255/0x2f0
  [&lt;c02ac5c0&gt;] ? netif_receive_skb+0x100/0x2f0
  [&lt;c02af05c&gt;] process_backlog+0x7c/0xf0
  [&lt;c02aeb0c&gt;] net_rx_action+0x16c/0x230
  [&lt;c02aea36&gt;] ? net_rx_action+0x96/0x230
  [&lt;c012bd53&gt;] __do_softirq+0x93/0x120
  [&lt;f8d2a68a&gt;] ? mkiss_receive_buf+0x33a/0x3f0 [mkiss]
  [&lt;c012be37&gt;] do_softirq+0x57/0x60
  [&lt;c012c265&gt;] local_bh_enable_ip+0xa5/0xe0
  [&lt;c0320005&gt;] _spin_unlock_bh+0x25/0x30
  [&lt;f8d2a68a&gt;] mkiss_receive_buf+0x33a/0x3f0 [mkiss]
  [&lt;c025ea37&gt;] pty_write+0x47/0x60
  [&lt;c025c620&gt;] write_chan+0x1b0/0x220
  [&lt;c0259a1c&gt;] ? tty_write_lock+0x1c/0x50
  [&lt;c011fec0&gt;] ? default_wake_function+0x0/0x10
  [&lt;c0259bea&gt;] tty_write+0x12a/0x1c0
  [&lt;c025c470&gt;] ? write_chan+0x0/0x220
  [&lt;c018bbc6&gt;] vfs_write+0x96/0x130
  [&lt;c0259ac0&gt;] ? tty_write+0x0/0x1c0
  [&lt;c018c24d&gt;] sys_write+0x3d/0x70
  [&lt;c0104d1e&gt;] 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: Bernard Pidoux &lt;f6bvp@amsat.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rose: Socket lock was not released before returning to user space</title>
<updated>2008-04-20T01:41:51+00:00</updated>
<author>
<name>Bernard Pidoux</name>
<email>f6bvp@amsat.org</email>
</author>
<published>2008-04-20T01:41:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=43837b1e6c5aef803d57009a68db18df13e64892'/>
<id>43837b1e6c5aef803d57009a68db18df13e64892</id>
<content type='text'>
================================================
[ 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: [&lt;c8cd1eb3&gt;] rose_connect+0x73/0x420 [rose]

INFO: task xfbbd:3683 blocked for more than 120 seconds.
"echo 0 &gt; /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:
  [&lt;c024b74b&gt;] lock_sock_nested+0x6b/0xd0
  [&lt;c012d450&gt;] ? autoremove_wake_function+0x0/0x40
  [&lt;c02488f1&gt;] sock_fasync+0x41/0x150
  [&lt;c0249e69&gt;] sock_close+0x19/0x40
  [&lt;c0175d54&gt;] __fput+0xb4/0x170
  [&lt;c0176018&gt;] fput+0x18/0x20
  [&lt;c017300e&gt;] filp_close+0x3e/0x70
  [&lt;c01744e9&gt;] sys_close+0x69/0xb0
  [&lt;c0103bda&gt;] sysenter_past_esp+0x5f/0xa5
  =======================
INFO: lockdep is turned off.

Signed-off-by: Bernard Pidoux &lt;f6bvp@amsat.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
================================================
[ 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: [&lt;c8cd1eb3&gt;] rose_connect+0x73/0x420 [rose]

INFO: task xfbbd:3683 blocked for more than 120 seconds.
"echo 0 &gt; /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:
  [&lt;c024b74b&gt;] lock_sock_nested+0x6b/0xd0
  [&lt;c012d450&gt;] ? autoremove_wake_function+0x0/0x40
  [&lt;c02488f1&gt;] sock_fasync+0x41/0x150
  [&lt;c0249e69&gt;] sock_close+0x19/0x40
  [&lt;c0175d54&gt;] __fput+0xb4/0x170
  [&lt;c0176018&gt;] fput+0x18/0x20
  [&lt;c017300e&gt;] filp_close+0x3e/0x70
  [&lt;c01744e9&gt;] sys_close+0x69/0xb0
  [&lt;c0103bda&gt;] sysenter_past_esp+0x5f/0xa5
  =======================
INFO: lockdep is turned off.

Signed-off-by: Bernard Pidoux &lt;f6bvp@amsat.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2008-04-03T05:35:23+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2008-04-03T05:35:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=e1ec1b8ccdf0df6000faa8c2d985ca5f94157e5a'/>
<id>e1ec1b8ccdf0df6000faa8c2d985ca5f94157e5a</id>
<content type='text'>
Conflicts:

	drivers/net/s2io.c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:

	drivers/net/s2io.c
</pre>
</div>
</content>
</entry>
<entry>
<title>[ROSE/AX25] af_rose: rose_release() fix</title>
<updated>2008-04-02T06:56:17+00:00</updated>
<author>
<name>Jarek Poplawski</name>
<email>jarkao2@gmail.com</email>
</author>
<published>2008-04-02T06:56:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=4965291acf8cc2c31dcb2fc7d292a04ee08da2dd'/>
<id>4965291acf8cc2c31dcb2fc7d292a04ee08da2dd</id>
<content type='text'>
rose_release() doesn't release sockets properly, e.g. it skips
sock_orphan(), so OOPSes are triggered in sock_def_write_space(),
which was observed especially while ROSE skbs were kfreed from
ax25_frames_acked(). There is also sock_hold() and lock_sock() added -
similarly to ax25_release(). Thanks to Bernard Pidoux for substantial
help in debugging this problem.

Signed-off-by: Jarek Poplawski &lt;jarkao2@gmail.com&gt;
Reported-and-tested-by: Bernard Pidoux &lt;bpidoux@free.fr&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
rose_release() doesn't release sockets properly, e.g. it skips
sock_orphan(), so OOPSes are triggered in sock_def_write_space(),
which was observed especially while ROSE skbs were kfreed from
ax25_frames_acked(). There is also sock_hold() and lock_sock() added -
similarly to ax25_release(). Thanks to Bernard Pidoux for substantial
help in debugging this problem.

Signed-off-by: Jarek Poplawski &lt;jarkao2@gmail.com&gt;
Reported-and-tested-by: Bernard Pidoux &lt;bpidoux@free.fr&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[NET] NETNS: Omit sock-&gt;sk_net without CONFIG_NET_NS.</title>
<updated>2008-03-25T19:39:55+00:00</updated>
<author>
<name>YOSHIFUJI Hideaki</name>
<email>yoshfuji@linux-ipv6.org</email>
</author>
<published>2008-03-25T17:26:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9'/>
<id>3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9</id>
<content type='text'>
Introduce per-sock inlines: sock_net(), sock_net_set()
and per-inet_timewait_sock inlines: twsk_net(), twsk_net_set().
Without CONFIG_NET_NS, no namespace other than &amp;init_net exists.
Let's explicitly define them to help compiler optimizations.

Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Introduce per-sock inlines: sock_net(), sock_net_set()
and per-inet_timewait_sock inlines: twsk_net(), twsk_net_set().
Without CONFIG_NET_NS, no namespace other than &amp;init_net exists.
Let's explicitly define them to help compiler optimizations.

Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[NET] NETNS: Omit net_device-&gt;nd_net without CONFIG_NET_NS.</title>
<updated>2008-03-25T19:39:53+00:00</updated>
<author>
<name>YOSHIFUJI Hideaki</name>
<email>yoshfuji@linux-ipv6.org</email>
</author>
<published>2008-03-25T12:47:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=c346dca10840a874240c78efe3f39acf4312a1f2'/>
<id>c346dca10840a874240c78efe3f39acf4312a1f2</id>
<content type='text'>
Introduce per-net_device inlines: dev_net(), dev_net_set().
Without CONFIG_NET_NS, no namespace other than &amp;init_net exists.
Let's explicitly define them to help compiler optimizations.

Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Introduce per-net_device inlines: dev_net(), dev_net_set().
Without CONFIG_NET_NS, no namespace other than &amp;init_net exists.
Let's explicitly define them to help compiler optimizations.

Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[ROSE]: Supress sparse warnings</title>
<updated>2008-01-28T23:02:44+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>dada1@cosmosbay.com</email>
</author>
<published>2008-01-15T11:30:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=95b7d924a589dbefc7ae2ea6c7144b86b75d6a47'/>
<id>95b7d924a589dbefc7ae2ea6c7144b86b75d6a47</id>
<content type='text'>
  CHECK   net/rose/af_rose.c
net/rose/af_rose.c:125:11: warning: expensive signed divide
net/rose/af_rose.c:976:46: warning: expensive signed divide
net/rose/af_rose.c:1379:13: warning: context imbalance in 'rose_info_start' - wrong count at exit
net/rose/af_rose.c:1406:13: warning: context imbalance in 'rose_info_stop' - unexpected unlock
  CHECK   net/rose/rose_in.c
net/rose/rose_in.c:185:25: warning: expensive signed divide
  CHECK   net/rose/rose_route.c
net/rose/rose_route.c:997:46: warning: expensive signed divide
net/rose/rose_route.c:1070:13: warning: context imbalance in 'rose_node_start' - wrong count at exit
net/rose/rose_route.c:1093:13: warning: context imbalance in 'rose_node_stop' - unexpected unlock
net/rose/rose_route.c:1146:13: warning: context imbalance in 'rose_neigh_start' - wrong count at exit
net/rose/rose_route.c:1169:13: warning: context imbalance in 'rose_neigh_stop' - unexpected unlock
net/rose/rose_route.c:1229:13: warning: context imbalance in 'rose_route_start' - wrong count at exit
net/rose/rose_route.c:1252:13: warning: context imbalance in 'rose_route_stop' - unexpected unlock

Signed-off-by: Eric Dumazet &lt;dada1@cosmosbay.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  CHECK   net/rose/af_rose.c
net/rose/af_rose.c:125:11: warning: expensive signed divide
net/rose/af_rose.c:976:46: warning: expensive signed divide
net/rose/af_rose.c:1379:13: warning: context imbalance in 'rose_info_start' - wrong count at exit
net/rose/af_rose.c:1406:13: warning: context imbalance in 'rose_info_stop' - unexpected unlock
  CHECK   net/rose/rose_in.c
net/rose/rose_in.c:185:25: warning: expensive signed divide
  CHECK   net/rose/rose_route.c
net/rose/rose_route.c:997:46: warning: expensive signed divide
net/rose/rose_route.c:1070:13: warning: context imbalance in 'rose_node_start' - wrong count at exit
net/rose/rose_route.c:1093:13: warning: context imbalance in 'rose_node_stop' - unexpected unlock
net/rose/rose_route.c:1146:13: warning: context imbalance in 'rose_neigh_start' - wrong count at exit
net/rose/rose_route.c:1169:13: warning: context imbalance in 'rose_neigh_stop' - unexpected unlock
net/rose/rose_route.c:1229:13: warning: context imbalance in 'rose_route_start' - wrong count at exit
net/rose/rose_route.c:1252:13: warning: context imbalance in 'rose_route_stop' - unexpected unlock

Signed-off-by: Eric Dumazet &lt;dada1@cosmosbay.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[NET]: Simple ctl_table to ctl_path conversions.</title>
<updated>2008-01-28T23:01:07+00:00</updated>
<author>
<name>Pavel Emelyanov</name>
<email>xemul@openvz.org</email>
</author>
<published>2008-01-09T08:30:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=b5ccd792fa413f9336273cb8fa3b9dd3a7ec1735'/>
<id>b5ccd792fa413f9336273cb8fa3b9dd3a7ec1735</id>
<content type='text'>
This patch includes many places, that only required
replacing the ctl_table-s with appropriate ctl_paths
and call register_sysctl_paths().

Nothing special was done with them.

Signed-off-by: Pavel Emelyanov &lt;xemul@openvz.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch includes many places, that only required
replacing the ctl_table-s with appropriate ctl_paths
and call register_sysctl_paths().

Nothing special was done with them.

Signed-off-by: Pavel Emelyanov &lt;xemul@openvz.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[NET]: Convert init_timer into setup_timer</title>
<updated>2008-01-28T22:53:35+00:00</updated>
<author>
<name>Pavel Emelyanov</name>
<email>xemul@openvz.org</email>
</author>
<published>2008-01-24T05:20:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=b24b8a247ff65c01b252025926fe564209fae4fc'/>
<id>b24b8a247ff65c01b252025926fe564209fae4fc</id>
<content type='text'>
Many-many code in the kernel initialized the timer-&gt;function
and  timer-&gt;data together with calling init_timer(timer). There
is already a helper for this. Use it for networking code.

The patch is HUGE, but makes the code 130 lines shorter
(98 insertions(+), 228 deletions(-)).

Signed-off-by: Pavel Emelyanov &lt;xemul@openvz.org&gt;
Acked-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Many-many code in the kernel initialized the timer-&gt;function
and  timer-&gt;data together with calling init_timer(timer). There
is already a helper for this. Use it for networking code.

The patch is HUGE, but makes the code 130 lines shorter
(98 insertions(+), 228 deletions(-)).

Signed-off-by: Pavel Emelyanov &lt;xemul@openvz.org&gt;
Acked-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
