<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/include/net, branch v2.6.30.4</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/include/net?h=v2.6.30.4</id>
<link rel='self' href='https://git.amat.us/linux/atom/include/net?h=v2.6.30.4'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2009-07-30T21:40:27Z</updated>
<entry>
<title>netfilter: tcp conntrack: fix unacknowledged data detection with NAT</title>
<updated>2009-07-30T21:40:27Z</updated>
<author>
<name>Patrick McHardy</name>
<email>kaber@trash.net</email>
</author>
<published>2009-06-29T12:07:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7500f93f415a2fc07e0031d99fa3964bf8981cfc'/>
<id>urn:sha1:7500f93f415a2fc07e0031d99fa3964bf8981cfc</id>
<content type='text'>
commit a3a9f79e361e864f0e9d75ebe2a0cb43d17c4272 upstream.

When NAT helpers change the TCP packet size, the highest seen sequence
number needs to be corrected. This is currently only done upwards, when
the packet size is reduced the sequence number is unchanged. This causes
TCP conntrack to falsely detect unacknowledged data and decrease the
timeout.

Fix by updating the highest seen sequence number in both directions after
packet mangling.

Tested-by: Krzysztof Piotr Oledzki &lt;ole@ans.pl&gt;
Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>x25: Fix sleep from timer on socket destroy.</title>
<updated>2009-07-02T23:49:43Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2009-06-16T12:40:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=29f84b1db493dd6062f29b92937466cc1a59440f'/>
<id>urn:sha1:29f84b1db493dd6062f29b92937466cc1a59440f</id>
<content type='text'>
[ Upstream commit 14ebaf81e13ce66bff275380b246796fd16cbfa1 ]

If socket destuction gets delayed to a timer, we try to
lock_sock() from that timer which won't work.

Use bh_lock_sock() in that case.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Tested-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2009-05-05T15:26:10Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2009-05-05T15:26:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=80445de57764b45fc26315c19fe7dc9fc57c2c65'/>
<id>urn:sha1:80445de57764b45fc26315c19fe7dc9fc57c2c65</id>
<content type='text'>
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (30 commits)
  e1000: fix virtualization bug
  bonding: fix alb mode locking regression
  Bluetooth: Fix issue with sysfs handling for connections
  usbnet: CDC EEM support (v5)
  tcp: Fix tcp_prequeue() to get correct rto_min value
  ehea: fix invalid pointer access
  ne2k-pci: Do not register device until initialized.
  Subject: [PATCH] br2684: restore net_dev initialization
  net: Only store high 16 bits of kernel generated filter priorities
  virtio_net: Fix function name typo
  virtio_net: Cleanup command queue scatterlist usage
  bonding: correct the cleanup in bond_create()
  virtio: add missing include to virtio_net.h
  smsc95xx: add support for LAN9512 and LAN9514
  smsc95xx: configure LED outputs
  netconsole: take care of NETDEV_UNREGISTER event
  xt_socket: checks for the state of nf_conntrack
  bonding: bond_slave_info_query() fix
  cxgb3: fixing gcc 4.4 compiler warning: suggest parentheses around operand of ‘!’
  netfilter: use likely() in xt_info_rdlock_bh()
  ...
</content>
</entry>
<entry>
<title>Bluetooth: Fix issue with sysfs handling for connections</title>
<updated>2009-05-04T21:29:02Z</updated>
<author>
<name>Marcel Holtmann</name>
<email>marcel@holtmann.org</email>
</author>
<published>2009-05-03T01:24:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a67e899cf38ae542d1a028ccd021f9189f76fb74'/>
<id>urn:sha1:a67e899cf38ae542d1a028ccd021f9189f76fb74</id>
<content type='text'>
Due to a semantic changes in flush_workqueue() the current approach of
synchronizing the sysfs handling for connections doesn't work anymore. The
whole approach is actually fully broken and based on assumptions that are
no longer valid.

With the introduction of Simple Pairing support, the creation of low-level
ACL links got changed. This change invalidates the reason why in the past
two independent work queues have been used for adding/removing sysfs
devices. The adding of the actual sysfs device is now postponed until the
host controller successfully assigns an unique handle to that link. So
the real synchronization happens inside the controller and not the host.

The only left-over problem is that some internals of the sysfs device
handling are not initialized ahead of time. This leaves potential access
to invalid data and can cause various NULL pointer dereferences. To fix
this a new function makes sure that all sysfs details are initialized
when an connection attempt is made. The actual sysfs device is only
registered when the connection has been successfully established. To
avoid a race condition with the registration, the check if a device is
registered has been moved into the removal work.

As an extra protection two flush_work() calls are left in place to
make sure a previous add/del work has been completed first.

Based on a report by Marc Pignat &lt;marc.pignat@hevs.ch&gt;

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Tested-by: Justin P. Mattock &lt;justinmattock@gmail.com&gt;
Tested-by: Roger Quadros &lt;ext-roger.quadros@nokia.com&gt;
Tested-by: Marc Pignat &lt;marc.pignat@hevs.ch&gt;
</content>
</entry>
<entry>
<title>tcp: Fix tcp_prequeue() to get correct rto_min value</title>
<updated>2009-05-04T18:11:01Z</updated>
<author>
<name>Satoru SATOH</name>
<email>satoru.satoh@gmail.com</email>
</author>
<published>2009-05-04T18:11:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0c266898b42fe4e4e2f9edfc9d3474c10f93aa6a'/>
<id>urn:sha1:0c266898b42fe4e4e2f9edfc9d3474c10f93aa6a</id>
<content type='text'>
tcp_prequeue() refers to the constant value (TCP_RTO_MIN) regardless of
the actual value might be tuned. The following patches fix this and make
tcp_prequeue get the actual value returns from tcp_rto_min().

Signed-off-by: Satoru SATOH &lt;satoru.satoh@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Bluetooth: Add different pairing timeout for Legacy Pairing</title>
<updated>2009-04-28T16:31:38Z</updated>
<author>
<name>Marcel Holtmann</name>
<email>marcel@holtmann.org</email>
</author>
<published>2009-04-26T18:01:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=052b30b0a8eec8db5b18ad49effdf2a9ba4c1e1a'/>
<id>urn:sha1:052b30b0a8eec8db5b18ad49effdf2a9ba4c1e1a</id>
<content type='text'>
The Bluetooth stack uses a reference counting for all established ACL
links and if no user (L2CAP connection) is present, the link will be
terminated to save power. The problem part is the dedicated pairing
when using Legacy Pairing (Bluetooth 2.0 and before). At that point
no user is present and pairing attempts will be disconnected within
10 seconds or less. In previous kernel version this was not a problem
since the disconnect timeout wasn't triggered on incoming connections
for the first time. However this caused issues with broken host stacks
that kept the connections around after dedicated pairing. When the
support for Simple Pairing got added, the link establishment procedure
needed to be changed and now causes issues when using Legacy Pairing

When using Simple Pairing it is possible to do a proper reference
counting of ACL link users. With Legacy Pairing this is not possible
since the specification is unclear in some areas and too many broken
Bluetooth devices have already been deployed. So instead of trying to
deal with all the broken devices, a special pairing timeout will be
introduced that increases the timeout to 60 seconds when pairing is
triggered.

If a broken devices now puts the stack into an unforeseen state, the
worst that happens is the disconnect timeout triggers after 120 seconds
instead of 4 seconds. This allows successful pairings with legacy and
broken devices now.

Based on a report by Johan Hedberg &lt;johan.hedberg@nokia.com&gt;

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: Ensure that HCI sysfs add/del is preempt safe</title>
<updated>2009-04-28T16:31:38Z</updated>
<author>
<name>Roger Quadros</name>
<email>ext-roger.quadros@nokia.com</email>
</author>
<published>2009-04-23T11:50:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f3784d834c71689336fa272df420b45345cb6b84'/>
<id>urn:sha1:f3784d834c71689336fa272df420b45345cb6b84</id>
<content type='text'>
Use a different work_struct variables for add_conn() and del_conn() and
use single work queue instead of two for adding and deleting connections.

It eliminates the following error on a preemptible kernel:

[  204.358032] Unable to handle kernel NULL pointer dereference at virtual address 0000000c
[  204.370697] pgd = c0004000
[  204.373443] [0000000c] *pgd=00000000
[  204.378601] Internal error: Oops: 17 [#1] PREEMPT
[  204.383361] Modules linked in: vfat fat rfcomm sco l2cap sd_mod scsi_mod iphb pvr2d drm omaplfb ps
[  204.438537] CPU: 0    Not tainted  (2.6.28-maemo2 #1)
[  204.443664] PC is at klist_put+0x2c/0xb4
[  204.447601] LR is at klist_put+0x18/0xb4
[  204.451568] pc : [&lt;c0270f08&gt;]    lr : [&lt;c0270ef4&gt;]    psr: a0000113
[  204.451568] sp : cf1b3f10  ip : cf1b3f10  fp : cf1b3f2c
[  204.463104] r10: 00000000  r9 : 00000000  r8 : bf08029c
[  204.468353] r7 : c7869200  r6 : cfbe2690  r5 : c78692c8  r4 : 00000001
[  204.474945] r3 : 00000001  r2 : cf1b2000  r1 : 00000001  r0 : 00000000
[  204.481506] Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM Segment kernel
[  204.488861] Control: 10c5387d  Table: 887fc018  DAC: 00000017
[  204.494628] Process btdelconn (pid: 515, stack limit = 0xcf1b22e0)

Signed-off-by: Roger Quadros &lt;ext-roger.quadros@nokia.com&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6</title>
<updated>2009-04-16T23:32:29Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2009-04-16T23:32:29Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=134ffb4cad92a6aa534e55a9be145bca780a32c1'/>
<id>urn:sha1:134ffb4cad92a6aa534e55a9be145bca780a32c1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>netfilter: nf_nat: add support for persistent mappings</title>
<updated>2009-04-16T16:33:01Z</updated>
<author>
<name>Patrick McHardy</name>
<email>kaber@trash.net</email>
</author>
<published>2009-04-16T16:33:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=98d500d66cb7940747b424b245fc6a51ecfbf005'/>
<id>urn:sha1:98d500d66cb7940747b424b245fc6a51ecfbf005</id>
<content type='text'>
The removal of the SAME target accidentally removed one feature that is
not available from the normal NAT targets so far, having multi-range
mappings that use the same mapping for each connection from a single
client. The current behaviour is to choose the address from the range
based on source and destination IP, which breaks when communicating
with sites having multiple addresses that require all connections to
originate from the same IP address.

Introduce a IP_NAT_RANGE_PERSISTENT option that controls whether the
destination address is taken into account for selecting addresses.

http://bugzilla.kernel.org/show_bug.cgi?id=12954

Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
</content>
</entry>
<entry>
<title>ipv6: Fix NULL pointer dereference with time-wait sockets</title>
<updated>2009-04-11T08:53:06Z</updated>
<author>
<name>Vlad Yasevich</name>
<email>vladislav.yasevich@hp.com</email>
</author>
<published>2009-04-09T17:37:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=499923c7a3254971873e55a1690d07d3700eea47'/>
<id>urn:sha1:499923c7a3254971873e55a1690d07d3700eea47</id>
<content type='text'>
Commit b2f5e7cd3dee2ed721bf0675e1a1ddebb849aee6
(ipv6: Fix conflict resolutions during ipv6 binding)
introduced a regression where time-wait sockets were
not treated correctly.  This resulted in the following:

BUG: unable to handle kernel NULL pointer dereference at 0000000000000062
IP: [&lt;ffffffff805d7d61&gt;] ipv4_rcv_saddr_equal+0x61/0x70
...
Call Trace:
[&lt;ffffffffa033847b&gt;] ipv6_rcv_saddr_equal+0x1bb/0x250 [ipv6]
[&lt;ffffffffa03505a8&gt;] inet6_csk_bind_conflict+0x88/0xd0 [ipv6]
[&lt;ffffffff805bb18e&gt;] inet_csk_get_port+0x1ee/0x400
[&lt;ffffffffa0319b7f&gt;] inet6_bind+0x1cf/0x3a0 [ipv6]
[&lt;ffffffff8056d17c&gt;] ? sockfd_lookup_light+0x3c/0xd0
[&lt;ffffffff8056ed49&gt;] sys_bind+0x89/0x100
[&lt;ffffffff80613ea2&gt;] ? trace_hardirqs_on_thunk+0x3a/0x3c
[&lt;ffffffff8020bf9b&gt;] system_call_fastpath+0x16/0x1b

Tested-by: Brian Haley &lt;brian.haley@hp.com&gt;
Tested-by: Ed Tomlinson &lt;edt@aei.ca&gt;
Signed-off-by: Vlad Yasevich &lt;vladislav.yasevich@hp.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
