<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/net, branch v3.4.55</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v3.4.55</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v3.4.55'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2013-07-28T23:26:08+00:00</updated>
<entry>
<title>atl1e: unmap partially mapped skb on dma error and free skb</title>
<updated>2013-07-28T23:26:08+00:00</updated>
<author>
<name>Neil Horman</name>
<email>nhorman@tuxdriver.com</email>
</author>
<published>2013-07-16T14:49:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b64a172c19b49fb8583efc379535341cc537cfc2'/>
<id>urn:sha1:b64a172c19b49fb8583efc379535341cc537cfc2</id>
<content type='text'>
[ Upstream commit 584ec4355355ffac43571b02a314d43eb2f7fcbf ]

Ben Hutchings pointed out that my recent update to atl1e
in commit 352900b583b2852152a1e05ea0e8b579292e731e
("atl1e: fix dma mapping warnings") was missing a bit of code.

Specifically it reset the hardware tx ring to its origional state when
we hit a dma error, but didn't unmap any exiting mappings from the
operation.  This patch fixes that up.  It also remembers to free the
skb in the event that an error occurs, so we don't leak.  Untested, as
I don't have hardware.  I think its pretty straightforward, but please
review closely.

Signed-off-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
CC: Ben Hutchings &lt;bhutchings@solarflare.com&gt;
CC: Jay Cliburn &lt;jcliburn@gmail.com&gt;
CC: Chris Snook &lt;chris.snook@gmail.com&gt;
CC: "David S. Miller" &lt;davem@davemloft.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>atl1e: fix dma mapping warnings</title>
<updated>2013-07-28T23:26:08+00:00</updated>
<author>
<name>Neil Horman</name>
<email>nhorman@tuxdriver.com</email>
</author>
<published>2013-07-12T14:58:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2cb9c95527519e0dad2bacc2f8a6271aa290f491'/>
<id>urn:sha1:2cb9c95527519e0dad2bacc2f8a6271aa290f491</id>
<content type='text'>
[ Upstream commit 352900b583b2852152a1e05ea0e8b579292e731e ]

Recently had this backtrace reported:
WARNING: at lib/dma-debug.c:937 check_unmap+0x47d/0x930()
Hardware name: System Product Name
ATL1E 0000:02:00.0: DMA-API: device driver failed to check map error[device
address=0x00000000cbfd1000] [size=90 bytes] [mapped as single]
Modules linked in: xt_conntrack nf_conntrack ebtable_filter ebtables
ip6table_filter ip6_tables snd_hda_codec_hdmi snd_hda_codec_realtek iTCO_wdt
iTCO_vendor_support snd_hda_intel acpi_cpufreq mperf coretemp btrfs zlib_deflate
snd_hda_codec snd_hwdep microcode raid6_pq libcrc32c snd_seq usblp serio_raw xor
snd_seq_device joydev snd_pcm snd_page_alloc snd_timer snd lpc_ich i2c_i801
soundcore mfd_core atl1e asus_atk0110 ata_generic pata_acpi radeon i2c_algo_bit
drm_kms_helper ttm drm i2c_core pata_marvell uinput
Pid: 314, comm: systemd-journal Not tainted 3.9.0-0.rc6.git2.3.fc19.x86_64 #1
Call Trace:
 &lt;IRQ&gt;  [&lt;ffffffff81069106&gt;] warn_slowpath_common+0x66/0x80
 [&lt;ffffffff8106916c&gt;] warn_slowpath_fmt+0x4c/0x50
 [&lt;ffffffff8138151d&gt;] check_unmap+0x47d/0x930
 [&lt;ffffffff810ad048&gt;] ? sched_clock_cpu+0xa8/0x100
 [&lt;ffffffff81381a2f&gt;] debug_dma_unmap_page+0x5f/0x70
 [&lt;ffffffff8137ce30&gt;] ? unmap_single+0x20/0x30
 [&lt;ffffffffa01569a1&gt;] atl1e_intr+0x3a1/0x5b0 [atl1e]
 [&lt;ffffffff810d53fd&gt;] ? trace_hardirqs_off+0xd/0x10
 [&lt;ffffffff81119636&gt;] handle_irq_event_percpu+0x56/0x390
 [&lt;ffffffff811199ad&gt;] handle_irq_event+0x3d/0x60
 [&lt;ffffffff8111cb6a&gt;] handle_fasteoi_irq+0x5a/0x100
 [&lt;ffffffff8101c36f&gt;] handle_irq+0xbf/0x150
 [&lt;ffffffff811dcb2f&gt;] ? file_sb_list_del+0x3f/0x50
 [&lt;ffffffff81073b10&gt;] ? irq_enter+0x50/0xa0
 [&lt;ffffffff8172738d&gt;] do_IRQ+0x4d/0xc0
 [&lt;ffffffff811dcb2f&gt;] ? file_sb_list_del+0x3f/0x50
 [&lt;ffffffff8171c6b2&gt;] common_interrupt+0x72/0x72
 &lt;EOI&gt;  [&lt;ffffffff810db5b2&gt;] ? lock_release+0xc2/0x310
 [&lt;ffffffff8109ea04&gt;] lg_local_unlock_cpu+0x24/0x50
 [&lt;ffffffff811dcb2f&gt;] file_sb_list_del+0x3f/0x50
 [&lt;ffffffff811dcb6d&gt;] fput+0x2d/0xc0
 [&lt;ffffffff811d8ea1&gt;] filp_close+0x61/0x90
 [&lt;ffffffff811fae4d&gt;] __close_fd+0x8d/0x150
 [&lt;ffffffff811d8ef0&gt;] sys_close+0x20/0x50
 [&lt;ffffffff81725699&gt;] system_call_fastpath+0x16/0x1b

The usual straighforward failure to check for dma_mapping_error after a map
operation is completed.

This patch should fix it, the reporter wandered off after filing this bz:
https://bugzilla.redhat.com/show_bug.cgi?id=954170

and I don't have hardware to test, but the fix is pretty straightforward, so I
figured I'd post it for review.

Signed-off-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
CC: Jay Cliburn &lt;jcliburn@gmail.com&gt;
CC: Chris Snook &lt;chris.snook@gmail.com&gt;
CC: "David S. Miller" &lt;davem@davemloft.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ifb: fix oops when loading the ifb failed</title>
<updated>2013-07-28T23:26:08+00:00</updated>
<author>
<name>dingtianhong</name>
<email>dingtianhong@huawei.com</email>
</author>
<published>2013-07-11T11:04:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=be6e458b750126f6be1143e4a3225f4d23d3900b'/>
<id>urn:sha1:be6e458b750126f6be1143e4a3225f4d23d3900b</id>
<content type='text'>
[ Upstream commit f2966cd5691058b8674a20766525bedeaea9cbcf ]

If __rtnl_link_register() return faild when loading the ifb, it will
take the wrong path and get oops, so fix it just like dummy.

Signed-off-by: Ding Tianhong &lt;dingtianhong@huawei.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>dummy: fix oops when loading the dummy failed</title>
<updated>2013-07-28T23:26:07+00:00</updated>
<author>
<name>dingtianhong</name>
<email>dingtianhong@huawei.com</email>
</author>
<published>2013-07-11T11:04:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7f6d8ea02c762b788ba38d4f084ad18b6e569813'/>
<id>urn:sha1:7f6d8ea02c762b788ba38d4f084ad18b6e569813</id>
<content type='text'>
[ Upstream commit 2c8a01894a12665d8059fad8f0a293c98a264121 ]

We rename the dummy in modprobe.conf like this:

install dummy0 /sbin/modprobe -o dummy0 --ignore-install dummy
install dummy1 /sbin/modprobe -o dummy1 --ignore-install dummy

We got oops when we run the command:

modprobe dummy0
modprobe dummy1

------------[ cut here ]------------

[ 3302.187584] BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
[ 3302.195411] IP: [&lt;ffffffff813fe62a&gt;] __rtnl_link_unregister+0x9a/0xd0
[ 3302.201844] PGD 85c94a067 PUD 8517bd067 PMD 0
[ 3302.206305] Oops: 0002 [#1] SMP
[ 3302.299737] task: ffff88105ccea300 ti: ffff880eba4a0000 task.ti: ffff880eba4a0000
[ 3302.307186] RIP: 0010:[&lt;ffffffff813fe62a&gt;]  [&lt;ffffffff813fe62a&gt;] __rtnl_link_unregister+0x9a/0xd0
[ 3302.316044] RSP: 0018:ffff880eba4a1dd8  EFLAGS: 00010246
[ 3302.321332] RAX: 0000000000000000 RBX: ffffffff81a9d738 RCX: 0000000000000002
[ 3302.328436] RDX: 0000000000000000 RSI: ffffffffa04d602c RDI: ffff880eba4a1dd8
[ 3302.335541] RBP: ffff880eba4a1e18 R08: dead000000200200 R09: dead000000100100
[ 3302.342644] R10: 0000000000000080 R11: 0000000000000003 R12: ffffffff81a9d788
[ 3302.349748] R13: ffffffffa04d7020 R14: ffffffff81a9d670 R15: ffff880eba4a1dd8
[ 3302.364910] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 3302.370630] CR2: 0000000000000008 CR3: 000000085e15e000 CR4: 00000000000427e0
[ 3302.377734] DR0: 0000000000000003 DR1: 00000000000000b0 DR2: 0000000000000001
[ 3302.384838] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 3302.391940] Stack:
[ 3302.393944]  ffff880eba4a1dd8 ffff880eba4a1dd8 ffff880eba4a1e18 ffffffffa04d70c0
[ 3302.401350]  00000000ffffffef ffffffffa01a8000 0000000000000000 ffffffff816111c8
[ 3302.408758]  ffff880eba4a1e48 ffffffffa01a80be ffff880eba4a1e48 ffffffffa04d70c0
[ 3302.416164] Call Trace:
[ 3302.418605]  [&lt;ffffffffa01a8000&gt;] ? 0xffffffffa01a7fff
[ 3302.423727]  [&lt;ffffffffa01a80be&gt;] dummy_init_module+0xbe/0x1000 [dummy0]
[ 3302.430405]  [&lt;ffffffffa01a8000&gt;] ? 0xffffffffa01a7fff
[ 3302.435535]  [&lt;ffffffff81000322&gt;] do_one_initcall+0x152/0x1b0
[ 3302.441263]  [&lt;ffffffff810ab24b&gt;] do_init_module+0x7b/0x200
[ 3302.446824]  [&lt;ffffffff810ad3d2&gt;] load_module+0x4e2/0x530
[ 3302.452215]  [&lt;ffffffff8127ae40&gt;] ? ddebug_dyndbg_boot_param_cb+0x60/0x60
[ 3302.458979]  [&lt;ffffffff810ad5f1&gt;] SyS_init_module+0xd1/0x130
[ 3302.464627]  [&lt;ffffffff814b9652&gt;] system_call_fastpath+0x16/0x1b
[ 3302.490090] RIP  [&lt;ffffffff813fe62a&gt;] __rtnl_link_unregister+0x9a/0xd0
[ 3302.496607]  RSP &lt;ffff880eba4a1dd8&gt;
[ 3302.500084] CR2: 0000000000000008
[ 3302.503466] ---[ end trace 8342d49cd49f78ed ]---

The reason is that when loading dummy, if __rtnl_link_register() return failed,
the init_module should return and avoid take the wrong path.

Signed-off-by: Tan Xiaojun &lt;tanxiaojun@huawei.com&gt;
Signed-off-by: Ding Tianhong &lt;dingtianhong@huawei.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>macvtap: correctly linearize skb when zerocopy is used</title>
<updated>2013-07-28T23:26:04+00:00</updated>
<author>
<name>Jason Wang</name>
<email>jasowang@redhat.com</email>
</author>
<published>2013-07-10T05:43:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7d3f3dc17115e360f599c97c1882f9362e8330a5'/>
<id>urn:sha1:7d3f3dc17115e360f599c97c1882f9362e8330a5</id>
<content type='text'>
[ Upstream commit 61d46bf979d5cd7c164709a80ad5676a35494aae ]

Userspace may produce vectors greater than MAX_SKB_FRAGS. When we try to
linearize parts of the skb to let the rest of iov to be fit in
the frags, we need count copylen into linear when calling macvtap_alloc_skb()
instead of partly counting it into data_len. Since this breaks
zerocopy_sg_from_iovec() since its inner counter assumes nr_frags should
be zero at beginning. This cause nr_frags to be increased wrongly without
setting the correct frags.

This bug were introduced from b92946e2919134ebe2a4083e4302236295ea2a73
(macvtap: zerocopy: validate vectors before building skb).

Cc: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Jason Wang &lt;jasowang@redhat.com&gt;
Acked-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ifb: fix rcu_sched self-detected stalls</title>
<updated>2013-07-28T23:26:04+00:00</updated>
<author>
<name>dingtianhong</name>
<email>dingtianhong@huawei.com</email>
</author>
<published>2013-07-10T04:04:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f4a9457edcc8dc2c09b9fe5c0cd4cb8381d9205a'/>
<id>urn:sha1:f4a9457edcc8dc2c09b9fe5c0cd4cb8381d9205a</id>
<content type='text'>
[ Upstream commit 440d57bc5ff55ec1efb3efc9cbe9420b4bbdfefa ]

According to the commit 16b0dc29c1af9df341428f4c49ada4f626258082
(dummy: fix rcu_sched self-detected stalls)

Eric Dumazet fix the problem in dummy, but the ifb will occur the
same problem like the dummy modules.

Trying to "modprobe ifb numifbs=30000" triggers :

INFO: rcu_sched self-detected stall on CPU

After this splat, RTNL is locked and reboot is needed.

We must call cond_resched() to avoid this, even holding RTNL.

Signed-off-by: Ding Tianhong &lt;dingtianhong@huawei.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>sunvnet: vnet_port_remove must call unregister_netdev</title>
<updated>2013-07-28T23:26:03+00:00</updated>
<author>
<name>Dave Kleikamp</name>
<email>dave.kleikamp@oracle.com</email>
</author>
<published>2013-07-01T21:49:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e830fa9ba4bc3f29bed4c6b99ba6db1f2caf7252'/>
<id>urn:sha1:e830fa9ba4bc3f29bed4c6b99ba6db1f2caf7252</id>
<content type='text'>
[ Upstream commit aabb9875d02559ab9b928cd6f259a5cc4c21a589 ]

The missing call to unregister_netdev() leaves the interface active
after the driver is unloaded by rmmod.

Signed-off-by: Dave Kleikamp &lt;dave.kleikamp@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>sh_eth: fix unhandled RFE interrupt</title>
<updated>2013-07-28T23:25:58+00:00</updated>
<author>
<name>Sergei Shtylyov</name>
<email>sergei.shtylyov@cogentembedded.com</email>
</author>
<published>2013-06-20T21:12:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0ddce1514e3236adee49a760d2d6339f506b5680'/>
<id>urn:sha1:0ddce1514e3236adee49a760d2d6339f506b5680</id>
<content type='text'>
[ Upstream commit ca8c35852138ee0585eaffe6b9f10a5261ea7771 ]

EESR.RFE (receive FIFO overflow) interrupt is enabled by the driver on all SoCs
and sh_eth_error() handles it but it's not present in any initializer/assignment
of the 'eesr_err_check' field of 'struct sh_eth_cpu_data'. This leads to that
interrupt not being handled and cleared, and finally to disabling IRQ and the
driver being non-functional.

Modify DEFAULT_EESR_ERR_CHECK macro and all explicit initializers of the above
mentioned field to contain the EESR.RFE bit. Remove useless backslashes from the
initializers, while at it.

Signed-off-by: Sergei Shtylyov &lt;sergei.shtylyov@cogentembedded.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>macvtap: fix recovery from gup errors</title>
<updated>2013-07-28T23:25:56+00:00</updated>
<author>
<name>Michael S. Tsirkin</name>
<email>mst@redhat.com</email>
</author>
<published>2013-06-23T14:26:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2b01eeeaa363dc4cd5e6d9efd962ac55cc3d5d48'/>
<id>urn:sha1:2b01eeeaa363dc4cd5e6d9efd962ac55cc3d5d48</id>
<content type='text'>
[ Upstream commit 4c7ab054ab4f5d63625508ed6f8a607184cae7c2 ]

get user pages might fail partially in macvtap zero copy
mode. To recover we need to put all pages that we got,
but code used a wrong index resulting in double-free
errors.

Reported-by: Brad Hubbard &lt;bhubbard@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Acked-by: Jason Wang &lt;jasowang@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ath9k: Do not assign noise for NULL caldata</title>
<updated>2013-07-28T23:25:47+00:00</updated>
<author>
<name>Sujith Manoharan</name>
<email>c_manoha@qca.qualcomm.com</email>
</author>
<published>2013-06-10T08:19:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4984a112df96b876dd107d22ba3598147953b871'/>
<id>urn:sha1:4984a112df96b876dd107d22ba3598147953b871</id>
<content type='text'>
commit d3bcb7b24bbf09fde8405770e676fe0c11c79662 upstream.

ah-&gt;noise is maintained globally and not per-channel. This
is updated in the reset() routine after the NF history has been
filled for the *current channel*, just before switching to
the new channel. There is no need to do it inside getnf(), since
ah-&gt;noise must contain a value for the new channel.

Signed-off-by: Sujith Manoharan &lt;c_manoha@qca.qualcomm.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
</feed>
