netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: linux-next: Tree for Aug 6 [ wireless | iwlwifi | mac80211 ? ]
       [not found]                               ` <CA+icZUUmQbovkwXcdEp6eu=WJkiuiyO8nDVwCHFUuPDbJqU7Kg@mail.gmail.com>
@ 2013-08-06 18:26                                 ` Sedat Dilek
       [not found]                                   ` <CA+icZUV++2+OG=P1SVbNrpHPLyzrfFX0eu8NHrd0nPjkPDUOtQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 16+ messages in thread
From: Sedat Dilek @ 2013-08-06 18:26 UTC (permalink / raw)
  To: Johannes Berg, David Miller; +Cc: Stephen Rothwell, wireless, netdev

[-- Attachment #1: Type: text/plain, Size: 2003 bytes --]

On Tue, Aug 6, 2013 at 6:51 PM, Sedat Dilek <sedat.dilek@gmail.com> wrote:
> On Tue, Aug 6, 2013 at 6:07 PM, Sedat Dilek <sedat.dilek@gmail.com> wrote:
>> On Tue, Aug 6, 2013 at 6:03 PM, Johannes Berg <johannes@sipsolutions.net> wrote:
>>> [reducing mailing lists - Stephen if you want off let us know]
>>>
>>> On Tue, 2013-08-06 at 17:58 +0200, Sedat Dilek wrote:
>>>
>>>> $ cat /proc/version
>>>> Linux version 3.11.0-rc4-1-wl-20130805 (sedat.dilek@gmail.com@fambox)
>>>> (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #1 SMP Tue Aug 6
>>>> 17:52:45 CEST 2013
>>>>
>>>> This kernel boots fine and has no WiFi problems.
>>>>
>>>> > You assume a breakage in a different area than wireless or network in general?
>>>> >
>>>>
>>>> Any wild guess?
>>>
>>> Not really, but maybe you can pull the other trees on top again and see
>>> if those broke it? I don't really think/hope so but it's possible that
>>> one of my pending pull requests broke it, I guess?
>>>
>>
>> Hmm, I pulled in latest for-john of mac80211(-next) and
>> iwlwifi-(fixes|next) which did not help.
>>
>> I am testing next-20130805 and next-20130802 to identify which
>> Linux-next release is BROKEN.
>>
>
> GOOD: next-20130801 and next-20130802
>
> BROKEN: next-20130805 and next-20130806
>
> Comparing diffs between next-20130802 and next-20130805.
>

[ To Dave and CC netdev ]

[ Full thread see [1] ]

The diff was not very helpful.

$ cd linux-next-20130805

$ git log --oneline v3.11-rc4.. | grep "Merge remote-tracking" | egrep
'net-next|slave-dma|wireless'
7f84622 Merge remote-tracking branch 'net-next/master' <--- BAD
(before slave-dma/next)
3580d24 Merge remote-tracking branch 'slave-dma/next' <--- GOOD (after
net-next/master)
88825c7 Merge remote-tracking branch 'wireless/master' <--- GOOD

So, the culprit commit seems to be in the merge of 'net-next/master'.

( BTW, disabling IPv6 in NM/wifi-setup did not change behaviour -
still disconnected to AP. )

- Sedat -

[1] http://marc.info/?t=137579712800008&r=1&w=2

[-- Attachment #2: list-of-commits-from-next-next-in-next-20130805.txt --]
[-- Type: text/plain, Size: 10653 bytes --]

f270701 ax88179_178a: avoid copy of tx tcp packets
fba3679 fib_rules: reorder struct fib_rules fields
73f5698 fib_rules: fix suppressor names and default values
0c0667a vlan: cleanup the usage of vlan_dev_priv(dev)
9e9402e cnic, bnx2i: Fix bug on some bnx2x devices that don't support iSCSI
9918d5b bonding: modify only neigh_parms owned by us
6313480 neighbour: populate neigh_parms on alloc before calling ndo_neigh_setup
8a849bb net: netlink: minor: remove unused pointer in alloc_pg_vec
6ef94cf fib_rules: add route suppression based on ifgroup
d1c53c8 icmpv6_filter: allow ICMPv6 messages with bodies < 4 bytes
9cc08af icmpv6_filter: fix "_hdr" incorrectly being a pointer
c483e02 af_packet: simplify VLAN frame check in packet_snd
cbd89ac af_packet: fix for sending VLAN frames via packet_mmap
0f75b09 af_packet: when sending ethernet frames, parse header for skb->protocol
d27fc78 sctp: Don't lookup dst if transport dst is still valid
1409a93 ethernet: Convert mac address uses of 6 to ETH_ALEN
574e2af include: Convert ethernet mac address declarations to use ETH_ALEN
e216975 uapi: Convert some uses of 6 to ETH_ALEN
3753456 qlcnic: Update version to 5.2.45
79da4d0 qlcnic: Enable mailbox interface in poll mode when interrupts are not available
068a8d1 qlcnic: Replace poll mode mailbox interface with interrupt based mailbox interface
e5c4e6c qlcnic: Interrupt based driver firmware mailbox mechanism
b9c1198 qlcnic: Enhance diagnostic loopback error codes.
278b208 bonding: initial RCU conversion
1507722 bonding: factor out slave id tx code and simplify xmit paths
78a646c bonding: simplify broadcast_xmit function
71bc3b2 bonding: remove unnecessary read_locks of curr_slave_lock
dec1e90 bonding: convert to list API and replace bond's custom list
439677d ipv6: bump genid when delete/add address
8b09be5 bnx2x: Revising locking scheme for MAC configuration
4beac02 bonding: fix system hang due to fast igmp timer rescheduling
9ab5ec5 tile: support PTP using the tilegx mPIPE (IEEE 1588)
84e181b tile: remove deprecated NETIF_F_LLTX flag from tile drivers
4aa0264 tile: make "tile_net.custom" a proper bool module parameter
2c7d04a tile: support TSO for IPv6 in tilegx network driver
f3286a3 tile: support multiple mPIPE shims in tilegx network driver
6ab4ae9 tile: enable GRO in the tilegx network driver
5e7a54a tile: fix panic bug in napi support for tilegx network driver
ad01818 tile: update dev->stats directly in tilegx network driver
2628e8a tile: support jumbo frames in the tilegx network driver
48f2a4e tile: remove dead is_dup_ack() function from tilepro net driver
815d3ba tile: avoid bug in tilepro net driver built with old hypervisor
439a93a tile: support rx_dropped/rx_errors in tilepro net driver
a8eaed5 tile: set hw_features and vlan_features in setup
84915c6 gianfar: Remove unused field grp_id from gfar_priv_grp
376c731 net: add a temporary sanity check in skb_orphan()
aa10181 can: flexcan: Check the return value from clk_prepare_enable()
933e4af can: flexcan: Use devm_ioremap_resource()
46b3a42 ipv6: fib6_rules should return exact return value
3783072 cls_cgroup.h netprio_cgroup.h: Remove extern from function prototypes
4fc7074 checksum: Remove extern from function prototypes
10dd9b7 cfg80211.h/mac80211.h: Remove extern from function prototypes
c1d8f80 ax25.h: Remove extern from function prototypes
90972b2 arp/neighbour.h: Remove extern from function prototypes
cd2cf63 af_rxrpc.h: Remove extern from function prototypes
b60a828 af_unix.h: Remove extern from function prototypes
e8e54d3 addrconf.h: Remove extern function prototypes
49dfe76 Documentation: add networking/netdev-FAQ.txt
7764a45 fib_rules: add .suppress operation
5c15257 net: Remove extern from include/net/ scheduling prototypes
c34a761 net: skb_orphan() changes
f2f872f netem: Introduce skb_orphan_partial() helper
ca4c3fc net: split rt_genid for ipv4 and ipv6
ba361cb sh_eth: r8a7790: Handle the RFE (Receive FIFO overflow Error) interrupt
c0155b2 tcp: Remove unused tcpct declarations and comments
8f58332 ixgbe: add support for quad-port x520 adapter
674c18b ixgbe: clear semaphore bits on timeouts
9c432ad ixgbe: rename LL_EXTENDED_STATS to use queue instead of q
8fecf67 ixgbe: fix lockdep annotation issue for ptp's work item
e027d1a ixgbe: call pcie_get_mimimum_link to check if device has enough bandwidth
81377c8 PCI: Add function to obtain minimum link width and speed
4299c8a net: remove an unneeded check
b438f94 flow_dissector: add support for IPPROTO_IPV6
fca4189 flow_dissector: clean up IPIP case
59da381 PCI: move enum pcie_link_width into pci.h
343e51a PCI: expose pcie_link_speed and pcix_bus_speed arrays
a4b6fc6 ixgbe: fix SFF data dumps of SFP+ modules
3dcc2f4 ixgbe: fix semaphore lock for I2C read/writes on 82598
93ac03b ixgbe: bump version number
4e8e1bc ixgbe: add new media type.
ff80e51 net: export physical port id via sysfs
66cae9e rtnl: export physical port id via RT netlink
66b52b0 net: add ndo to get id of physical port of the device
73d8095 ixgbe: fix fc autoneg ethtool reporting.
e507d0c ixgbe: Use pci_vfs_assigned instead of ixgbe_vfs_are_assigned
670224f ixgbe: Retain VLAN filtering in promiscuous + VT mode
9ad8fef net: mvneta: support big endian
6083ed4 net: mvneta: move the RX and TX desc macros outside of the structs
ffd756b pktgen: Require CONFIG_INET due to use of IPv4 checksum function
5ad37d5 tcp: add tcp_syncookies mode to allow unconditionally generation of syncookies
dcfd8d5 drivers: net: cpsw: Add support for set MAC address
d68e2d3 tile: handle 64-bit statistics in tilepro network driver
60ff779 9p: client: remove unused code and any reference to "cancelled" function
4ce1fd6 be2net: don't use dev_err when AER enabling fails
cd77b2e tg3: Update version to 3.133
378b72c tg3: Fix UDP fragments treated as RMCP
92e6457 tg3: Enable support for timesync gpio output
4c305fa tg3: Implement the shutdown handler
5137a2e tg3: Allow NVRAM programming when interface is down
c145935 tg3: Remove incorrect switch to aux power
ca67a3c cnic: Update version to 2.5.17 and copyright year.
28e3a8f cnic: Add missing error checking for RAMROD_CMD_ID_CLOSE
b3bd2d6 cnic: Update TCP options setup for iSCSI.
6cdcdbb cnic: Reset tcp_flags during cnic_cm_create().
b54345e cnic: Simplify cnic_release().
415fb87 cnic: Simplify netdev events handling.
fe6f700 net/mlx4_core: Respond to operation request by firmware
2d4b646 net/mlx4_en: Fix BlueFlame race
73d94e9 pktgen: add needed include file
9d4a031 ipv4, ipv6: send igmpv3/mld packets with TC_PRIO_CONTROL
16b095a e1000e: fix I217/I218 PHY initialization flow
97390ab e1000e: do not resume device from RPM suspend to read PHY status registers
91a3d82 e1000e: enable support for new device IDs
3ef672a e1000e: ethtool unnecessarily takes device out of RPM suspend
e0236ad e1000e: Tx hang on I218 when linked at 100Half and slow response at 10Mbps
ce345e0 e1000e: low throughput using 4K jumbos on I218
da1e204 e1000e: iAMT connections drop on driver unload when jumbo frames enabled
b43e867 e1000e: disable ASPM L1 on 82583
c96ddb0 e1000e: Use marco instead of digit for defining e1000_rx_desc_packet_split
2592881 e1000e: Remove duplicate assignment of default rx/tx ring size
24b41c9 e1000e: restore call to pci_clear_master()
ab90695 e100: dump small buffers via %*ph
dcfe804 bonding: remove bond_resend_igmp_join_requests read_unlock leftover
03c633e pktgen: Use ip_send_check() to compute checksum
c26bf4a pktgen: Add UDPCSUM flag to support UDP checksums
82a54d0 VSOCK: Move af_vsock.h and vsock_addr.h to include/net
452c447 USBNET: increase max rx/tx qlen for improving USB3 thoughtput
a88c32a USBNET: centralize computing of max rx/tx qlen
6680ec6 tuntap: hardware vlan tx support
024ec3d net/sctp: Refactor SCTP skb checksum computation
e7428e9 virtio-net: put virtio net header inline with data
10eccb4 bond: cleanup netpoll code
0fb52a2 team: cleanup netpoll clode
93d8bf9 bridge: cleanup netpoll code
f528094 bonding: use pre-defined macro in bond_mode_name instead of magic number 0
f1a26fd pch_gbe: Add MinnowBoard support
9025c8e drivers/net/ethernet/stmicro/stmmac: don't check resource with devm_ioremap_resource
b04d68e pch_gbe: Use PCH_GBE_PHY_REGS_LEN instead of 32
18afa4b net: Make devnet_rename_seq static
c9bee3b tcp: TCP_NOTSENT_LOWAT socket option
64dc613 net: add sk_stream_is_writeable() helper
4d58c02 net: sctp: trivial: add uapi/linux/sctp.h into maintainers
91705c6 net: sctp: trivial: update mailing list address
d971854 drivers: net: cpsw: add support to show hw stats via ethtool
b07ea07 bonding: Fixed up a error "do not initialise statics to 0 or NULL" in bond_main.c
9402b74 bonding: add rtnl protection for bonding_store_fail_over_mac
38c4916 bonding: bond_sysfs.c checkpatch cleanup
c4cdef9 bonding: don't call slave_xxx_netpoll under spinlocks
f13bbc2 drivers/net: enic: Move ethtool code to a separate file
59ea52d net: trans_rdma: remove unused function
2d17f40 be2net: delete primary MAC address while unloading
3175d8c be2net: use SET/GET_MAC_LIST for SH-R
95046b9 be2net: refactor MAC-addr setup code
b5bb977 be2net: fix pmac_id for BE3 VFs
04a0602 be2net: allow VFs to program MAC and VLAN filters
5a712c1 be2net: fix MAC address modification for VF
e18dbf7 sh_eth: Add support for r8a7790 SoC
55754f1 sh_eth: add support for RMIIMODE register
9225b23 net: ipv6 eliminate parameter "int addrlen" in function fib6_add_1
86a37de net ipv6: Remove rebundant rt6i_nsiblings initialization
b9959fd vti: switch to new ip tunnel code
2b52c3a ip6mr: change the prototype of ip6_mr_forward().
c4854ec ipmr: change the prototype of ip_mr_forward().
492b200 team: add support for sending multicast rejoins
4aa5dee net: convert resend IGMP to notifier event
fc423ff team: add peer notification
ab2cfbb macvlan fdb replace support
906dc18 vxlan fdb replace an existing entry
ed08495 tcp: use RTT from SACK for RTO
59c9af4 tcp: measure RTT from new SACK
5b08e47 tcp: prefer packet timing to TS-ECR for RTT
375fe02 tcp: consolidate SYNACK RTT sampling
0d9b2ab fec: Use devm_request_irq()
399db75 fec: Remove unneeded check in platform_get_resource()
13a097b fec: Check the return value from clk_prepare_enable()
79820e7 fec: Enable/disable clk_ptp in suspend/resume
d265cf4 fec: Fix the order for enabling/disabling the clocks
9514fe7 fec: Do not enable/disable optional clocks unconditionally
eda2977 tun: Support software transmit time stamping.
cb820f8 net: Provide a generic socket error queue delivery method for Tx time stamps.
0887a57 net/velocity: add poll controller function for velocity nic
6e3d677 mISDN: replace sum of bitmasks with OR operation.
aafee33 net/irda: fixed style issues in irttp

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: linux-next: Tree for Aug 6 [ wireless | iwlwifi | mac80211 ? ]
       [not found]                                   ` <CA+icZUV++2+OG=P1SVbNrpHPLyzrfFX0eu8NHrd0nPjkPDUOtQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2013-08-06 18:35                                     ` Sedat Dilek
  2013-08-06 19:08                                       ` Johannes Berg
  0 siblings, 1 reply; 16+ messages in thread
From: Sedat Dilek @ 2013-08-06 18:35 UTC (permalink / raw)
  To: Johannes Berg, David Miller
  Cc: Stephen Rothwell, wireless, netdev-u79uwXL29TY76Z2rM5mHXA

[-- Attachment #1: Type: text/plain, Size: 2436 bytes --]

On Tue, Aug 6, 2013 at 8:26 PM, Sedat Dilek <sedat.dilek-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> On Tue, Aug 6, 2013 at 6:51 PM, Sedat Dilek <sedat.dilek-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>> On Tue, Aug 6, 2013 at 6:07 PM, Sedat Dilek <sedat.dilek-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>>> On Tue, Aug 6, 2013 at 6:03 PM, Johannes Berg <johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org> wrote:
>>>> [reducing mailing lists - Stephen if you want off let us know]
>>>>
>>>> On Tue, 2013-08-06 at 17:58 +0200, Sedat Dilek wrote:
>>>>
>>>>> $ cat /proc/version
>>>>> Linux version 3.11.0-rc4-1-wl-20130805 (sedat.dilek-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org@fambox)
>>>>> (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #1 SMP Tue Aug 6
>>>>> 17:52:45 CEST 2013
>>>>>
>>>>> This kernel boots fine and has no WiFi problems.
>>>>>
>>>>> > You assume a breakage in a different area than wireless or network in general?
>>>>> >
>>>>>
>>>>> Any wild guess?
>>>>
>>>> Not really, but maybe you can pull the other trees on top again and see
>>>> if those broke it? I don't really think/hope so but it's possible that
>>>> one of my pending pull requests broke it, I guess?
>>>>
>>>
>>> Hmm, I pulled in latest for-john of mac80211(-next) and
>>> iwlwifi-(fixes|next) which did not help.
>>>
>>> I am testing next-20130805 and next-20130802 to identify which
>>> Linux-next release is BROKEN.
>>>
>>
>> GOOD: next-20130801 and next-20130802
>>
>> BROKEN: next-20130805 and next-20130806
>>
>> Comparing diffs between next-20130802 and next-20130805.
>>
>
> [ To Dave and CC netdev ]
>
> [ Full thread see [1] ]
>
> The diff was not very helpful.
>
> $ cd linux-next-20130805
>
> $ git log --oneline v3.11-rc4.. | grep "Merge remote-tracking" | egrep
> 'net-next|slave-dma|wireless'
> 7f84622 Merge remote-tracking branch 'net-next/master' <--- BAD
> (before slave-dma/next)
> 3580d24 Merge remote-tracking branch 'slave-dma/next' <--- GOOD (after
> net-next/master)
> 88825c7 Merge remote-tracking branch 'wireless/master' <--- GOOD
>
> So, the culprit commit seems to be in the merge of 'net-next/master'.
>
> ( BTW, disabling IPv6 in NM/wifi-setup did not change behaviour -
> still disconnected to AP. )
>
> - Sedat -
>
> [1] http://marc.info/?t=137579712800008&r=1&w=2

Attached is a diff comparing all new commits in next-20130805.
If one of the commits smells bad to you, please let me know.

- Sedat -

[-- Attachment #2: list-of-commits-from-net-next_next-20130802-VS-next-20130805.diff --]
[-- Type: application/octet-stream, Size: 1855 bytes --]

--- list-of-commits-from-net-next-in-next-20130802.txt	2013-08-06 20:29:45.312395359 +0200
+++ list-of-commits-from-next-next-in-next-20130805.txt	2013-08-06 20:26:03.829704013 +0200
@@ -1,3 +1,26 @@
+f270701 ax88179_178a: avoid copy of tx tcp packets
+fba3679 fib_rules: reorder struct fib_rules fields
+73f5698 fib_rules: fix suppressor names and default values
+0c0667a vlan: cleanup the usage of vlan_dev_priv(dev)
+9e9402e cnic, bnx2i: Fix bug on some bnx2x devices that don't support iSCSI
+9918d5b bonding: modify only neigh_parms owned by us
+6313480 neighbour: populate neigh_parms on alloc before calling ndo_neigh_setup
+8a849bb net: netlink: minor: remove unused pointer in alloc_pg_vec
+6ef94cf fib_rules: add route suppression based on ifgroup
+d1c53c8 icmpv6_filter: allow ICMPv6 messages with bodies < 4 bytes
+9cc08af icmpv6_filter: fix "_hdr" incorrectly being a pointer
+c483e02 af_packet: simplify VLAN frame check in packet_snd
+cbd89ac af_packet: fix for sending VLAN frames via packet_mmap
+0f75b09 af_packet: when sending ethernet frames, parse header for skb->protocol
+d27fc78 sctp: Don't lookup dst if transport dst is still valid
+1409a93 ethernet: Convert mac address uses of 6 to ETH_ALEN
+574e2af include: Convert ethernet mac address declarations to use ETH_ALEN
+e216975 uapi: Convert some uses of 6 to ETH_ALEN
+3753456 qlcnic: Update version to 5.2.45
+79da4d0 qlcnic: Enable mailbox interface in poll mode when interrupts are not available
+068a8d1 qlcnic: Replace poll mode mailbox interface with interrupt based mailbox interface
+e5c4e6c qlcnic: Interrupt based driver firmware mailbox mechanism
+b9c1198 qlcnic: Enhance diagnostic loopback error codes.
 278b208 bonding: initial RCU conversion
 1507722 bonding: factor out slave id tx code and simplify xmit paths
 78a646c bonding: simplify broadcast_xmit function

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: linux-next: Tree for Aug 6 [ wireless | iwlwifi | mac80211 ? ]
  2013-08-06 18:35                                     ` Sedat Dilek
@ 2013-08-06 19:08                                       ` Johannes Berg
  2013-08-06 19:14                                         ` Sedat Dilek
  0 siblings, 1 reply; 16+ messages in thread
From: Johannes Berg @ 2013-08-06 19:08 UTC (permalink / raw)
  To: sedat.dilek; +Cc: David Miller, Stephen Rothwell, wireless, netdev

On Tue, 2013-08-06 at 20:35 +0200, Sedat Dilek wrote:

> Attached is a diff comparing all new commits in next-20130805.
> If one of the commits smells bad to you, please let me know.

Out of that list, only the af_packet changes would seem to have any
impact on wireless at all.

johannes

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: linux-next: Tree for Aug 6 [ wireless | iwlwifi | mac80211 ? ]
  2013-08-06 19:08                                       ` Johannes Berg
@ 2013-08-06 19:14                                         ` Sedat Dilek
  2013-08-06 19:18                                           ` Johannes Berg
  0 siblings, 1 reply; 16+ messages in thread
From: Sedat Dilek @ 2013-08-06 19:14 UTC (permalink / raw)
  To: Johannes Berg; +Cc: David Miller, Stephen Rothwell, wireless, netdev

On Tue, Aug 6, 2013 at 9:08 PM, Johannes Berg <johannes@sipsolutions.net> wrote:
> On Tue, 2013-08-06 at 20:35 +0200, Sedat Dilek wrote:
>
>> Attached is a diff comparing all new commits in next-20130805.
>> If one of the commits smells bad to you, please let me know.
>
> Out of that list, only the af_packet changes would seem to have any
> impact on wireless at all.
>

git-bisecting... 2 steps to go...

This one is bad... "af_packet: simplify VLAN frame check in packet_snd"

http://git.kernel.org/cgit/linux/kernel/git/davem/net-next.git/commit/?id=c483e02614551e44ced3fe6eedda8e36d3277ccc

- Sedat -

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: linux-next: Tree for Aug 6 [ wireless | iwlwifi | mac80211 ? ]
  2013-08-06 19:14                                         ` Sedat Dilek
@ 2013-08-06 19:18                                           ` Johannes Berg
  2013-08-06 19:32                                             ` Sedat Dilek
  0 siblings, 1 reply; 16+ messages in thread
From: Johannes Berg @ 2013-08-06 19:18 UTC (permalink / raw)
  To: sedat.dilek; +Cc: David Miller, Stephen Rothwell, wireless, netdev

On Tue, 2013-08-06 at 21:14 +0200, Sedat Dilek wrote:
> On Tue, Aug 6, 2013 at 9:08 PM, Johannes Berg <johannes@sipsolutions.net> wrote:
> > On Tue, 2013-08-06 at 20:35 +0200, Sedat Dilek wrote:
> >
> >> Attached is a diff comparing all new commits in next-20130805.
> >> If one of the commits smells bad to you, please let me know.
> >
> > Out of that list, only the af_packet changes would seem to have any
> > impact on wireless at all.
> >
> 
> git-bisecting... 2 steps to go...
> 
> This one is bad... "af_packet: simplify VLAN frame check in packet_snd"
> 
> http://git.kernel.org/cgit/linux/kernel/git/davem/net-next.git/commit/?id=c483e02614551e44ced3fe6eedda8e36d3277ccc

That seems weird, does reverting it fix it?

johannes

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: linux-next: Tree for Aug 6 [ wireless | iwlwifi | mac80211 ? ]
  2013-08-06 19:18                                           ` Johannes Berg
@ 2013-08-06 19:32                                             ` Sedat Dilek
  2013-08-06 19:47                                               ` Sedat Dilek
  0 siblings, 1 reply; 16+ messages in thread
From: Sedat Dilek @ 2013-08-06 19:32 UTC (permalink / raw)
  To: Johannes Berg, Phil Sutter
  Cc: David Miller, Stephen Rothwell, wireless, netdev

[-- Attachment #1: Type: text/plain, Size: 1875 bytes --]

On Tue, Aug 6, 2013 at 9:18 PM, Johannes Berg <johannes@sipsolutions.net> wrote:
> On Tue, 2013-08-06 at 21:14 +0200, Sedat Dilek wrote:
>> On Tue, Aug 6, 2013 at 9:08 PM, Johannes Berg <johannes@sipsolutions.net> wrote:
>> > On Tue, 2013-08-06 at 20:35 +0200, Sedat Dilek wrote:
>> >
>> >> Attached is a diff comparing all new commits in next-20130805.
>> >> If one of the commits smells bad to you, please let me know.
>> >
>> > Out of that list, only the af_packet changes would seem to have any
>> > impact on wireless at all.
>> >
>>
>> git-bisecting... 2 steps to go...
>>
>> This one is bad... "af_packet: simplify VLAN frame check in packet_snd"
>>
>> http://git.kernel.org/cgit/linux/kernel/git/davem/net-next.git/commit/?id=c483e02614551e44ced3fe6eedda8e36d3277ccc
>
> That seems weird, does reverting it fix it?
>

[ TO Phil Sutter ]

This was 3/3 of af_packet patches :-).

So, the culprit commit is...

0f75b09c798ed00c30d7d5551b896be883bc2aeb is the first bad commit
commit 0f75b09c798ed00c30d7d5551b896be883bc2aeb
Author: Phil Sutter <phil@nwl.cc>
Date:   Fri Aug 2 11:37:39 2013 +0200

    af_packet: when sending ethernet frames, parse header for skb->protocol

    This may be necessary when the SKB is passed to other layers on the go,
    which check the protocol field on their own. An example is a VLAN packet
    sent out using AF_PACKET on a bridge interface. The bridging code checks
    the SKB size, accounting for any VLAN header only if the protocol field
    is set accordingly.

    Note that eth_type_trans() sets skb->dev to the passed argument, so this
    can be skipped in packet_snd() for ethernet frames, as well.

    Signed-off-by: Phil Sutter <phil@nwl.cc>
    Signed-off-by: David S. Miller <davem@davemloft.net>

:040000 040000 af403a20a321517f6cfb51d2e22c17ca5a60e947
1f302ebd62a87b9e874a3e61203499e17d6fce3c M      net

- Sedat -

[-- Attachment #2: git-bisect-log.txt --]
[-- Type: text/plain, Size: 1834 bytes --]

git bisect start
# good: [88825c70d47953e7f38b86fb2ef00623439217d0] Merge remote-tracking branch 'wireless/master'
git bisect good 88825c70d47953e7f38b86fb2ef00623439217d0
# good: [3580d2439702fa29efcbce9e2bb1bceb2688d352] Merge remote-tracking branch 'slave-dma/next'
git bisect good 3580d2439702fa29efcbce9e2bb1bceb2688d352
# good: [88825c70d47953e7f38b86fb2ef00623439217d0] Merge remote-tracking branch 'wireless/master'
git bisect good 88825c70d47953e7f38b86fb2ef00623439217d0
# good: [3580d2439702fa29efcbce9e2bb1bceb2688d352] Merge remote-tracking branch 'slave-dma/next'
git bisect good 3580d2439702fa29efcbce9e2bb1bceb2688d352
# good: [a594e4f8c31c400024293b2e97fc7d3faaae74da] Merge branch 'bond_rcu'
git bisect good a594e4f8c31c400024293b2e97fc7d3faaae74da
# bad: [7f84622b9ac741614e7d066f7e8511d054f513ec] Merge remote-tracking branch 'net-next/master'
git bisect bad 7f84622b9ac741614e7d066f7e8511d054f513ec
# bad: [c483e02614551e44ced3fe6eedda8e36d3277ccc] af_packet: simplify VLAN frame check in packet_snd
git bisect bad c483e02614551e44ced3fe6eedda8e36d3277ccc
# good: [e216975ad97cfcfc436789aa66d59a0e93f337f7] uapi: Convert some uses of 6 to ETH_ALEN
git bisect good e216975ad97cfcfc436789aa66d59a0e93f337f7
# good: [ba5082c71476891623757956ebfc36040ac317e2] Merge branch 'eth_alen'
git bisect good ba5082c71476891623757956ebfc36040ac317e2
# bad: [0f75b09c798ed00c30d7d5551b896be883bc2aeb] af_packet: when sending ethernet frames, parse header for skb->protocol
git bisect bad 0f75b09c798ed00c30d7d5551b896be883bc2aeb
# good: [d27fc78208b53ccdfd6a57d4ac44a459ca66806f] sctp: Don't lookup dst if transport dst is still valid
git bisect good d27fc78208b53ccdfd6a57d4ac44a459ca66806f
# first bad commit: [0f75b09c798ed00c30d7d5551b896be883bc2aeb] af_packet: when sending ethernet frames, parse header for skb->protocol

[-- Attachment #3: git-bisect-visualize.txt --]
[-- Type: text/plain, Size: 786 bytes --]

commit 0f75b09c798ed00c30d7d5551b896be883bc2aeb
Author: Phil Sutter <phil@nwl.cc>
Date:   Fri Aug 2 11:37:39 2013 +0200

    af_packet: when sending ethernet frames, parse header for skb->protocol
    
    This may be necessary when the SKB is passed to other layers on the go,
    which check the protocol field on their own. An example is a VLAN packet
    sent out using AF_PACKET on a bridge interface. The bridging code checks
    the SKB size, accounting for any VLAN header only if the protocol field
    is set accordingly.
    
    Note that eth_type_trans() sets skb->dev to the passed argument, so this
    can be skipped in packet_snd() for ethernet frames, as well.
    
    Signed-off-by: Phil Sutter <phil@nwl.cc>
    Signed-off-by: David S. Miller <davem@davemloft.net>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: linux-next: Tree for Aug 6 [ wireless | iwlwifi | mac80211 ? ]
  2013-08-06 19:32                                             ` Sedat Dilek
@ 2013-08-06 19:47                                               ` Sedat Dilek
  2013-08-06 21:29                                                 ` Phil Sutter
  0 siblings, 1 reply; 16+ messages in thread
From: Sedat Dilek @ 2013-08-06 19:47 UTC (permalink / raw)
  To: Johannes Berg, Phil Sutter
  Cc: David Miller, Stephen Rothwell, wireless, netdev

On Tue, Aug 6, 2013 at 9:32 PM, Sedat Dilek <sedat.dilek@gmail.com> wrote:
> On Tue, Aug 6, 2013 at 9:18 PM, Johannes Berg <johannes@sipsolutions.net> wrote:
>> On Tue, 2013-08-06 at 21:14 +0200, Sedat Dilek wrote:
>>> On Tue, Aug 6, 2013 at 9:08 PM, Johannes Berg <johannes@sipsolutions.net> wrote:
>>> > On Tue, 2013-08-06 at 20:35 +0200, Sedat Dilek wrote:
>>> >
>>> >> Attached is a diff comparing all new commits in next-20130805.
>>> >> If one of the commits smells bad to you, please let me know.
>>> >
>>> > Out of that list, only the af_packet changes would seem to have any
>>> > impact on wireless at all.
>>> >
>>>
>>> git-bisecting... 2 steps to go...
>>>
>>> This one is bad... "af_packet: simplify VLAN frame check in packet_snd"
>>>
>>> http://git.kernel.org/cgit/linux/kernel/git/davem/net-next.git/commit/?id=c483e02614551e44ced3fe6eedda8e36d3277ccc
>>
>> That seems weird, does reverting it fix it?
>>
>
> [ TO Phil Sutter ]
>
> This was 3/3 of af_packet patches :-).
>
> So, the culprit commit is...
>
> 0f75b09c798ed00c30d7d5551b896be883bc2aeb is the first bad commit
> commit 0f75b09c798ed00c30d7d5551b896be883bc2aeb
> Author: Phil Sutter <phil@nwl.cc>
> Date:   Fri Aug 2 11:37:39 2013 +0200
>
>     af_packet: when sending ethernet frames, parse header for skb->protocol
>
>     This may be necessary when the SKB is passed to other layers on the go,
>     which check the protocol field on their own. An example is a VLAN packet
>     sent out using AF_PACKET on a bridge interface. The bridging code checks
>     the SKB size, accounting for any VLAN header only if the protocol field
>     is set accordingly.
>
>     Note that eth_type_trans() sets skb->dev to the passed argument, so this
>     can be skipped in packet_snd() for ethernet frames, as well.
>
>     Signed-off-by: Phil Sutter <phil@nwl.cc>
>     Signed-off-by: David S. Miller <davem@davemloft.net>
>
> :040000 040000 af403a20a321517f6cfb51d2e22c17ca5a60e947
> 1f302ebd62a87b9e874a3e61203499e17d6fce3c M      net
>
> - Sedat -

[ net/packet/af_packet.c ]
...
#include <linux/if_arp.h>

$ find include/ -name if_arp.h
include/uapi/linux/if_arp.h
include/linux/if_arp.h

$ LC_ALL=C ll include/uapi/linux/if_arp.h include/linux/if_arp.h
-rw-r--r-- 1 wearefam wearefam 1560 Jul 11 19:42 include/linux/if_arp.h
-rw-r--r-- 1 wearefam wearefam 6344 Jul 26 12:36 include/uapi/linux/if_arp.h

$ grep ARPHRD_ETHER include/linux/if_arp.h include/uapi/linux/if_arp.h
include/uapi/linux/if_arp.h:#define ARPHRD_ETHER        1
 /* Ethernet 10Mbps              */

Wrong include?

- Sedat -

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: linux-next: Tree for Aug 6 [ wireless | iwlwifi | mac80211 ? ]
  2013-08-06 19:47                                               ` Sedat Dilek
@ 2013-08-06 21:29                                                 ` Phil Sutter
  2013-08-06 21:40                                                   ` Sedat Dilek
  0 siblings, 1 reply; 16+ messages in thread
From: Phil Sutter @ 2013-08-06 21:29 UTC (permalink / raw)
  To: Sedat Dilek
  Cc: Johannes Berg, David Miller, Stephen Rothwell, wireless, netdev

On Tue, Aug 06, 2013 at 09:47:01PM +0200, Sedat Dilek wrote:
> On Tue, Aug 6, 2013 at 9:32 PM, Sedat Dilek <sedat.dilek@gmail.com> wrote:
> > On Tue, Aug 6, 2013 at 9:18 PM, Johannes Berg <johannes@sipsolutions.net> wrote:
> >> On Tue, 2013-08-06 at 21:14 +0200, Sedat Dilek wrote:
> >>> On Tue, Aug 6, 2013 at 9:08 PM, Johannes Berg <johannes@sipsolutions.net> wrote:
> >>> > On Tue, 2013-08-06 at 20:35 +0200, Sedat Dilek wrote:
> >>> >
> >>> >> Attached is a diff comparing all new commits in next-20130805.
> >>> >> If one of the commits smells bad to you, please let me know.
> >>> >
> >>> > Out of that list, only the af_packet changes would seem to have any
> >>> > impact on wireless at all.
> >>> >
> >>>
> >>> git-bisecting... 2 steps to go...
> >>>
> >>> This one is bad... "af_packet: simplify VLAN frame check in packet_snd"
> >>>
> >>> http://git.kernel.org/cgit/linux/kernel/git/davem/net-next.git/commit/?id=c483e02614551e44ced3fe6eedda8e36d3277ccc
> >>
> >> That seems weird, does reverting it fix it?
> >>
> >
> > [ TO Phil Sutter ]
> >
> > This was 3/3 of af_packet patches :-).
> >
> > So, the culprit commit is...
> >
> > 0f75b09c798ed00c30d7d5551b896be883bc2aeb is the first bad commit
> > commit 0f75b09c798ed00c30d7d5551b896be883bc2aeb
> > Author: Phil Sutter <phil@nwl.cc>
> > Date:   Fri Aug 2 11:37:39 2013 +0200
> >
> >     af_packet: when sending ethernet frames, parse header for skb->protocol
> >
> >     This may be necessary when the SKB is passed to other layers on the go,
> >     which check the protocol field on their own. An example is a VLAN packet
> >     sent out using AF_PACKET on a bridge interface. The bridging code checks
> >     the SKB size, accounting for any VLAN header only if the protocol field
> >     is set accordingly.
> >
> >     Note that eth_type_trans() sets skb->dev to the passed argument, so this
> >     can be skipped in packet_snd() for ethernet frames, as well.
> >
> >     Signed-off-by: Phil Sutter <phil@nwl.cc>
> >     Signed-off-by: David S. Miller <davem@davemloft.net>
> >
> > :040000 040000 af403a20a321517f6cfb51d2e22c17ca5a60e947
> > 1f302ebd62a87b9e874a3e61203499e17d6fce3c M      net
> >
> > - Sedat -
> 
> [ net/packet/af_packet.c ]
> ...
> #include <linux/if_arp.h>
> 
> $ find include/ -name if_arp.h
> include/uapi/linux/if_arp.h
> include/linux/if_arp.h
> 
> $ LC_ALL=C ll include/uapi/linux/if_arp.h include/linux/if_arp.h
> -rw-r--r-- 1 wearefam wearefam 1560 Jul 11 19:42 include/linux/if_arp.h
> -rw-r--r-- 1 wearefam wearefam 6344 Jul 26 12:36 include/uapi/linux/if_arp.h
> 
> $ grep ARPHRD_ETHER include/linux/if_arp.h include/uapi/linux/if_arp.h
> include/uapi/linux/if_arp.h:#define ARPHRD_ETHER        1
>  /* Ethernet 10Mbps              */
> 
> Wrong include?

Nope, <linux/if_arp.h> includes <uapi/linux/if_arp.h>. I suppose there
is a semantical problem here.

Did you verify your bisect by reverting just the three patches?

Does the problem occur on client or server side? AFAICT, hostapd as well
as wpa_supplicant use AF_PACKET.

The tricky thing is, these patches are meant to *loosen* the
restrictions in af_packet.c, so *should* not be harmful. So either my
patches create a side effect I did not foresee, or it's something nasty
(too much delay introduced by calling eth_type_trans() or so).

Could you please provide steps on how to reproduce the faulty behaviour?

Best wishes, Phil

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: linux-next: Tree for Aug 6 [ wireless | iwlwifi | mac80211 ? ]
  2013-08-06 21:29                                                 ` Phil Sutter
@ 2013-08-06 21:40                                                   ` Sedat Dilek
  2013-08-06 21:45                                                     ` Johannes Berg
  0 siblings, 1 reply; 16+ messages in thread
From: Sedat Dilek @ 2013-08-06 21:40 UTC (permalink / raw)
  To: Sedat Dilek, Johannes Berg, David Miller, Stephen Rothwell,
	wireless, netdev

[-- Attachment #1: Type: text/plain, Size: 3648 bytes --]

On Tue, Aug 6, 2013 at 11:29 PM, Phil Sutter <phil@nwl.cc> wrote:
> On Tue, Aug 06, 2013 at 09:47:01PM +0200, Sedat Dilek wrote:
>> On Tue, Aug 6, 2013 at 9:32 PM, Sedat Dilek <sedat.dilek@gmail.com> wrote:
>> > On Tue, Aug 6, 2013 at 9:18 PM, Johannes Berg <johannes@sipsolutions.net> wrote:
>> >> On Tue, 2013-08-06 at 21:14 +0200, Sedat Dilek wrote:
>> >>> On Tue, Aug 6, 2013 at 9:08 PM, Johannes Berg <johannes@sipsolutions.net> wrote:
>> >>> > On Tue, 2013-08-06 at 20:35 +0200, Sedat Dilek wrote:
>> >>> >
>> >>> >> Attached is a diff comparing all new commits in next-20130805.
>> >>> >> If one of the commits smells bad to you, please let me know.
>> >>> >
>> >>> > Out of that list, only the af_packet changes would seem to have any
>> >>> > impact on wireless at all.
>> >>> >
>> >>>
>> >>> git-bisecting... 2 steps to go...
>> >>>
>> >>> This one is bad... "af_packet: simplify VLAN frame check in packet_snd"
>> >>>
>> >>> http://git.kernel.org/cgit/linux/kernel/git/davem/net-next.git/commit/?id=c483e02614551e44ced3fe6eedda8e36d3277ccc
>> >>
>> >> That seems weird, does reverting it fix it?
>> >>
>> >
>> > [ TO Phil Sutter ]
>> >
>> > This was 3/3 of af_packet patches :-).
>> >
>> > So, the culprit commit is...
>> >
>> > 0f75b09c798ed00c30d7d5551b896be883bc2aeb is the first bad commit
>> > commit 0f75b09c798ed00c30d7d5551b896be883bc2aeb
>> > Author: Phil Sutter <phil@nwl.cc>
>> > Date:   Fri Aug 2 11:37:39 2013 +0200
>> >
>> >     af_packet: when sending ethernet frames, parse header for skb->protocol
>> >
>> >     This may be necessary when the SKB is passed to other layers on the go,
>> >     which check the protocol field on their own. An example is a VLAN packet
>> >     sent out using AF_PACKET on a bridge interface. The bridging code checks
>> >     the SKB size, accounting for any VLAN header only if the protocol field
>> >     is set accordingly.
>> >
>> >     Note that eth_type_trans() sets skb->dev to the passed argument, so this
>> >     can be skipped in packet_snd() for ethernet frames, as well.
>> >
>> >     Signed-off-by: Phil Sutter <phil@nwl.cc>
>> >     Signed-off-by: David S. Miller <davem@davemloft.net>
>> >
>> > :040000 040000 af403a20a321517f6cfb51d2e22c17ca5a60e947
>> > 1f302ebd62a87b9e874a3e61203499e17d6fce3c M      net
>> >
>> > - Sedat -
>>
>> [ net/packet/af_packet.c ]
>> ...
>> #include <linux/if_arp.h>
>>
>> $ find include/ -name if_arp.h
>> include/uapi/linux/if_arp.h
>> include/linux/if_arp.h
>>
>> $ LC_ALL=C ll include/uapi/linux/if_arp.h include/linux/if_arp.h
>> -rw-r--r-- 1 wearefam wearefam 1560 Jul 11 19:42 include/linux/if_arp.h
>> -rw-r--r-- 1 wearefam wearefam 6344 Jul 26 12:36 include/uapi/linux/if_arp.h
>>
>> $ grep ARPHRD_ETHER include/linux/if_arp.h include/uapi/linux/if_arp.h
>> include/uapi/linux/if_arp.h:#define ARPHRD_ETHER        1
>>  /* Ethernet 10Mbps              */
>>
>> Wrong include?
>
> Nope, <linux/if_arp.h> includes <uapi/linux/if_arp.h>. I suppose there
> is a semantical problem here.
>
> Did you verify your bisect by reverting just the three patches?
>
> Does the problem occur on client or server side? AFAICT, hostapd as well
> as wpa_supplicant use AF_PACKET.
>
> The tricky thing is, these patches are meant to *loosen* the
> restrictions in af_packet.c, so *should* not be harmful. So either my
> patches create a side effect I did not foresee, or it's something nasty
> (too much delay introduced by calling eth_type_trans() or so).
>
> Could you please provide steps on how to reproduce the faulty behaviour?
>

By reverting the culprit commit my network/wifi is fine, again.
See also attached patch with changelog.

- Sedat -

[-- Attachment #2: 0001-Revert-af_packet-when-sending-ethernet-frames-parse-.patch --]
[-- Type: application/octet-stream, Size: 2301 bytes --]

From 82d8f55ceab00c9ef829195e454a9cd74fded166 Mon Sep 17 00:00:00 2001
From: Sedat Dilek <sedat.dilek@gmail.com>
Date: Tue, 6 Aug 2013 23:03:57 +0200
Subject: [PATCH next-20130805] Revert "af_packet: when sending ethernet
 frames, parse header for skb->protocol"

This reverts commit 0f75b09c798ed00c30d7d5551b896be883bc2aeb
("af_packet: when sending ethernet frames, parse header for skb->protocol").

I noticed with next-20130806 that I cannot connect to my WLAN-AP anymore.
next-20130802 was the last GOOD and next-20130805 the first BAD Linux-next
release.

Debugging with wpasupplicant did not show any inconsistency.
To ensure it is not a problem of wireless, I tried wireless-testing
(master-2013-08-05), which did not show the symptoms.
Thanks Johannes Berg for the vital help.

After a git-bisect session it turned out that the above commit is the
culprit.

Reverting it fixes the issue for me.

Adapted and tested against Linux-next (next-20130805).

Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
---
 net/packet/af_packet.c | 15 ++-------------
 1 file changed, 2 insertions(+), 13 deletions(-)

diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index 0c0f6c9..9343ea7 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -88,7 +88,6 @@
 #include <linux/virtio_net.h>
 #include <linux/errqueue.h>
 #include <linux/net_tstamp.h>
-#include <linux/if_arp.h>
 
 #ifdef CONFIG_INET
 #include <net/inet_common.h>
@@ -2002,9 +2001,6 @@ static int tpacket_fill_skb(struct packet_sock *po, struct sk_buff *skb,
 		if (unlikely(err))
 			return err;
 
-		if (dev->type == ARPHRD_ETHER)
-			skb->protocol = eth_type_trans(skb, dev);
-
 		data += dev->hard_header_len;
 		to_write -= dev->hard_header_len;
 	}
@@ -2331,20 +2327,13 @@ static int packet_snd(struct socket *sock,
 
 	sock_tx_timestamp(sk, &skb_shinfo(skb)->tx_flags);
 
-	if (dev->type == ARPHRD_ETHER) {
-		skb->protocol = eth_type_trans(skb, dev);
-		if (skb->protocol == htons(ETH_P_8021Q))
-			reserve += VLAN_HLEN;
-	} else {
-		skb->protocol = proto;
-		skb->dev = dev;
-	}
-
 	if (!gso_type && (len > dev->mtu + reserve + extra_len)) {
 		err = -EMSGSIZE;
 		goto out_free;
 	}
 
+	skb->protocol = proto;
+	skb->dev = dev;
 	skb->priority = sk->sk_priority;
 	skb->mark = sk->sk_mark;
 
-- 
1.8.3.4


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: linux-next: Tree for Aug 6 [ wireless | iwlwifi | mac80211 ? ]
  2013-08-06 21:40                                                   ` Sedat Dilek
@ 2013-08-06 21:45                                                     ` Johannes Berg
       [not found]                                                       ` <1375825538.10459.1.camel-8Nb76shvtaUJvtFkdXX2HixXY32XiHfO@public.gmane.org>
  2013-08-06 21:58                                                       ` Johannes Berg
  0 siblings, 2 replies; 16+ messages in thread
From: Johannes Berg @ 2013-08-06 21:45 UTC (permalink / raw)
  To: sedat.dilek; +Cc: David Miller, Stephen Rothwell, wireless, netdev

On Tue, 2013-08-06 at 23:40 +0200, Sedat Dilek wrote:

> > Does the problem occur on client or server side? AFAICT, hostapd as well
> > as wpa_supplicant use AF_PACKET.
> >
> > The tricky thing is, these patches are meant to *loosen* the
> > restrictions in af_packet.c, so *should* not be harmful. So either my
> > patches create a side effect I did not foresee, or it's something nasty
> > (too much delay introduced by calling eth_type_trans() or so).

> By reverting the culprit commit my network/wifi is fine, again.
> See also attached patch with changelog.

I think skb->protocol is probably getting set up wrong, and just putting
back the last two lines

        skb->protocol = proto;
        skb->dev = dev;

is probably sufficient to fix wifi. If skb->protocol isn't set to
ETH_P_PAE, then we'd drop the packet in the wifi stack - might be worth
printing out what it's set to at the point where the skb->protocol
assignment above was removed.

I'm trying to wrap my head around all this right now but I don't yet see
how the code after the patch would not get skb->protocol correct.

johannes

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: linux-next: Tree for Aug 6 [ wireless | iwlwifi | mac80211 ? ]
       [not found]                                                       ` <1375825538.10459.1.camel-8Nb76shvtaUJvtFkdXX2HixXY32XiHfO@public.gmane.org>
@ 2013-08-06 21:56                                                         ` Hannes Frederic Sowa
  2013-08-06 22:55                                                           ` Sedat Dilek
  0 siblings, 1 reply; 16+ messages in thread
From: Hannes Frederic Sowa @ 2013-08-06 21:56 UTC (permalink / raw)
  To: Johannes Berg
  Cc: sedat.dilek-Re5JQEeQqe8AvxtiuMwx3w, David Miller,
	Stephen Rothwell, wireless, netdev-u79uwXL29TY76Z2rM5mHXA

On Tue, Aug 06, 2013 at 11:45:38PM +0200, Johannes Berg wrote:
> On Tue, 2013-08-06 at 23:40 +0200, Sedat Dilek wrote:
> 
> > > Does the problem occur on client or server side? AFAICT, hostapd as well
> > > as wpa_supplicant use AF_PACKET.
> > >
> > > The tricky thing is, these patches are meant to *loosen* the
> > > restrictions in af_packet.c, so *should* not be harmful. So either my
> > > patches create a side effect I did not foresee, or it's something nasty
> > > (too much delay introduced by calling eth_type_trans() or so).
> 
> > By reverting the culprit commit my network/wifi is fine, again.
> > See also attached patch with changelog.
> 
> I think skb->protocol is probably getting set up wrong, and just putting
> back the last two lines
> 
>         skb->protocol = proto;
>         skb->dev = dev;
> 
> is probably sufficient to fix wifi. If skb->protocol isn't set to
> ETH_P_PAE, then we'd drop the packet in the wifi stack - might be worth
> printing out what it's set to at the point where the skb->protocol
> assignment above was removed.
> 
> I'm trying to wrap my head around all this right now but I don't yet see
> how the code after the patch would not get skb->protocol correct.

Has anybody tested plain ethernet? I have a malfunctioning dhclient on
ethernet since the weekend(it seems to not receive any packet). I did not
look after it because have other patches on my todo list currently. Maybe
it is the same error?

Greetings,

  Hannes

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: linux-next: Tree for Aug 6 [ wireless | iwlwifi | mac80211 ? ]
  2013-08-06 21:45                                                     ` Johannes Berg
       [not found]                                                       ` <1375825538.10459.1.camel-8Nb76shvtaUJvtFkdXX2HixXY32XiHfO@public.gmane.org>
@ 2013-08-06 21:58                                                       ` Johannes Berg
  2013-08-08 21:13                                                         ` Phil Sutter
  1 sibling, 1 reply; 16+ messages in thread
From: Johannes Berg @ 2013-08-06 21:58 UTC (permalink / raw)
  To: sedat.dilek; +Cc: David Miller, Stephen Rothwell, wireless, netdev

On Tue, 2013-08-06 at 23:45 +0200, Johannes Berg wrote:

> I think skb->protocol is probably getting set up wrong, and just putting
> back the last two lines
> 
>         skb->protocol = proto;
>         skb->dev = dev;
> 
> is probably sufficient to fix wifi. If skb->protocol isn't set to
> ETH_P_PAE, then we'd drop the packet in the wifi stack - might be worth
> printing out what it's set to at the point where the skb->protocol
> assignment above was removed.
> 
> I'm trying to wrap my head around all this right now but I don't yet see
> how the code after the patch would not get skb->protocol correct.

Actually, I think that's not it, but the code now behaves totally
differently?

Say this is the frame data with two points marked:

(1)                   (2)
 | dst | src | ethtype | ... |

As I understand it (in my admittedly rather tired state), previously we
had

skb_network_header() == (1)
skb_mac_header()     == (1)
skb->data            == (1)

After calling eth_type_trans(), we get

skb_network_header() == (1)
skb_mac_header()     == (1)
skb->data            == (2)

I think? Maybe I'm totally confused though.

johannes

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: linux-next: Tree for Aug 6 [ wireless | iwlwifi | mac80211 ? ]
  2013-08-06 21:56                                                         ` Hannes Frederic Sowa
@ 2013-08-06 22:55                                                           ` Sedat Dilek
       [not found]                                                             ` <CA+icZUWY8PfYeV-iaPCm4MZenNaHRboK6Kmc8=Fnse9_dwfdqg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 16+ messages in thread
From: Sedat Dilek @ 2013-08-06 22:55 UTC (permalink / raw)
  To: Johannes Berg, sedat.dilek, David Miller, Stephen Rothwell,
	wireless, netdev

On Tue, Aug 6, 2013 at 11:56 PM, Hannes Frederic Sowa
<hannes@stressinduktion.org> wrote:
> On Tue, Aug 06, 2013 at 11:45:38PM +0200, Johannes Berg wrote:
>> On Tue, 2013-08-06 at 23:40 +0200, Sedat Dilek wrote:
>>
>> > > Does the problem occur on client or server side? AFAICT, hostapd as well
>> > > as wpa_supplicant use AF_PACKET.
>> > >
>> > > The tricky thing is, these patches are meant to *loosen* the
>> > > restrictions in af_packet.c, so *should* not be harmful. So either my
>> > > patches create a side effect I did not foresee, or it's something nasty
>> > > (too much delay introduced by calling eth_type_trans() or so).
>>
>> > By reverting the culprit commit my network/wifi is fine, again.
>> > See also attached patch with changelog.
>>
>> I think skb->protocol is probably getting set up wrong, and just putting
>> back the last two lines
>>
>>         skb->protocol = proto;
>>         skb->dev = dev;
>>
>> is probably sufficient to fix wifi. If skb->protocol isn't set to
>> ETH_P_PAE, then we'd drop the packet in the wifi stack - might be worth
>> printing out what it's set to at the point where the skb->protocol
>> assignment above was removed.
>>
>> I'm trying to wrap my head around all this right now but I don't yet see
>> how the code after the patch would not get skb->protocol correct.
>
> Has anybody tested plain ethernet? I have a malfunctioning dhclient on
> ethernet since the weekend(it seems to not receive any packet). I did not
> look after it because have other patches on my todo list currently. Maybe
> it is the same error?
>

No, tested only with iwlwifi.
Can you try the patch from [1]?

- Sedat -

[1] http://marc.info/?l=linux-netdev&m=137582524017840&w=2

> Greetings,
>
>   Hannes
>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: linux-next: Tree for Aug 6 [ wireless | iwlwifi | mac80211 ? ]
       [not found]                                                             ` <CA+icZUWY8PfYeV-iaPCm4MZenNaHRboK6Kmc8=Fnse9_dwfdqg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2013-08-06 23:07                                                               ` Hannes Frederic Sowa
  2013-08-06 23:14                                                                 ` Sedat Dilek
  0 siblings, 1 reply; 16+ messages in thread
From: Hannes Frederic Sowa @ 2013-08-06 23:07 UTC (permalink / raw)
  To: Sedat Dilek
  Cc: Johannes Berg, David Miller, Stephen Rothwell, wireless,
	netdev-u79uwXL29TY76Z2rM5mHXA

On Wed, Aug 07, 2013 at 12:55:33AM +0200, Sedat Dilek wrote:
> No, tested only with iwlwifi.
> Can you try the patch from [1]?
> 
> - Sedat -
> 
> [1] http://marc.info/?l=linux-netdev&m=137582524017840&w=2

Fixed the problem with virtio_net, too.

Thanks,

  Hannes

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: linux-next: Tree for Aug 6 [ wireless | iwlwifi | mac80211 ? ]
  2013-08-06 23:07                                                               ` Hannes Frederic Sowa
@ 2013-08-06 23:14                                                                 ` Sedat Dilek
  0 siblings, 0 replies; 16+ messages in thread
From: Sedat Dilek @ 2013-08-06 23:14 UTC (permalink / raw)
  To: Sedat Dilek, Johannes Berg, David Miller, Stephen Rothwell,
	wireless, netdev

On Wed, Aug 7, 2013 at 1:07 AM, Hannes Frederic Sowa
<hannes@stressinduktion.org> wrote:
> On Wed, Aug 07, 2013 at 12:55:33AM +0200, Sedat Dilek wrote:
>> No, tested only with iwlwifi.
>> Can you try the patch from [1]?
>>
>> - Sedat -
>>
>> [1] http://marc.info/?l=linux-netdev&m=137582524017840&w=2
>
> Fixed the problem with virtio_net, too.
>
> Thanks,
>

Cool!
I retested with latest next-20130806 which is also fine with this patch.

- Sedat -

>   Hannes
>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: linux-next: Tree for Aug 6 [ wireless | iwlwifi | mac80211 ? ]
  2013-08-06 21:58                                                       ` Johannes Berg
@ 2013-08-08 21:13                                                         ` Phil Sutter
  0 siblings, 0 replies; 16+ messages in thread
From: Phil Sutter @ 2013-08-08 21:13 UTC (permalink / raw)
  To: Johannes Berg
  Cc: sedat.dilek, David Miller, Stephen Rothwell, wireless, netdev

On Tue, Aug 06, 2013 at 11:58:42PM +0200, Johannes Berg wrote:
> On Tue, 2013-08-06 at 23:45 +0200, Johannes Berg wrote:
> 
> > I think skb->protocol is probably getting set up wrong, and just putting
> > back the last two lines
> > 
> >         skb->protocol = proto;
> >         skb->dev = dev;
> > 
> > is probably sufficient to fix wifi. If skb->protocol isn't set to
> > ETH_P_PAE, then we'd drop the packet in the wifi stack - might be worth
> > printing out what it's set to at the point where the skb->protocol
> > assignment above was removed.
> > 
> > I'm trying to wrap my head around all this right now but I don't yet see
> > how the code after the patch would not get skb->protocol correct.
> 
> Actually, I think that's not it, but the code now behaves totally
> differently?
> 
> Say this is the frame data with two points marked:
> 
> (1)                   (2)
>  | dst | src | ethtype | ... |
> 
> As I understand it (in my admittedly rather tired state), previously we
> had
> 
> skb_network_header() == (1)
> skb_mac_header()     == (1)
> skb->data            == (1)
> 
> After calling eth_type_trans(), we get
> 
> skb_network_header() == (1)
> skb_mac_header()     == (1)
> skb->data            == (2)
> 
> I think? Maybe I'm totally confused though.

Yes, indeed. And it's the explanation for at least some of the problems
that arose with my doubtful change:

Leaving my patch in place and reverting the above pointer by calling
skb_push() after eth_type_trans(), the busybox DHCP client on my testing
machine is functional again.

But as Dave has gone this path already (although in a different way) and
it aparently didn't fix the wifi problem, there may be something else as
well. Interestingly, my skb_push() hack from above fixes wpa_supplicant
for me as well. So I will test Dave's patch myself tomorrow and search
for the difference if I get the same result as Sedat.

Best wishes, Phil

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2013-08-08 21:14 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <CA+icZUX8OcTSOABO6Nbz5R6_5-m39rsYOpDqYBA7hf8LFvJLLA@mail.gmail.com>
     [not found] ` <1375797260.8219.21.camel@jlt4.sipsolutions.net>
     [not found]   ` <CA+icZUUAJ25QybqHvxz7eubSLH6YuNjcc5zyU2O5Xi9vevMGkw@mail.gmail.com>
     [not found]     ` <1375800617.8219.23.camel@jlt4.sipsolutions.net>
     [not found]       ` <CA+icZUVbKpyuke6PRg3-60gOggsTb=3cNRz3Sy0RmvcZSuPaNw@mail.gmail.com>
     [not found]         ` <1375801059.8219.24.camel@jlt4.sipsolutions.net>
     [not found]           ` <CA+icZUXrRsXfeW9hqxTMkKW4TdNSBH-zE8-zX2Rd7HTAx5MvqQ@mail.gmail.com>
     [not found]             ` <CA+icZUWijPJmNoqE22Msqcn7tRot3SB3e=KujMM7JNd-Om-oOw@mail.gmail.com>
     [not found]               ` <1375802297.8219.25.camel@jlt4.sipsolutions.net>
     [not found]                 ` <CA+icZUVCFOS6SHonEqzaJyWCGCU4nqqGjBN0VbmV-=OoM+deZg@mail.gmail.com>
     [not found]                   ` <CA+icZUVuOqdZUGy2ALAF1CehOqYdr7rtEsXhqNvDtYEns2BuRQ@mail.gmail.com>
     [not found]                     ` <1375802993.8219.26.camel@jlt4.sipsolutions.net>
     [not found]                       ` <CA+icZUW6P9Z_7z+o+z=qBWSFzyU8tgtY0ou+rmLcEzWbn94OXA@mail.gmail.com>
     [not found]                         ` <CA+icZUW7LVzg7sM3O-w5oQpeaj=CT6MS6Q7cRZ1qK0h-Z4wZuw@mail.gmail.com>
     [not found]                           ` <1375804998.8219.27.camel@jlt4.sipsolutions.net>
     [not found]                             ` <CA+icZUVRgVfXUdJ1xoaN=nciqZDhV-f6EbH+6DS7HAh+My65oQ@mail.gmail.com>
     [not found]                               ` <CA+icZUUmQbovkwXcdEp6eu=WJkiuiyO8nDVwCHFUuPDbJqU7Kg@mail.gmail.com>
2013-08-06 18:26                                 ` linux-next: Tree for Aug 6 [ wireless | iwlwifi | mac80211 ? ] Sedat Dilek
     [not found]                                   ` <CA+icZUV++2+OG=P1SVbNrpHPLyzrfFX0eu8NHrd0nPjkPDUOtQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-08-06 18:35                                     ` Sedat Dilek
2013-08-06 19:08                                       ` Johannes Berg
2013-08-06 19:14                                         ` Sedat Dilek
2013-08-06 19:18                                           ` Johannes Berg
2013-08-06 19:32                                             ` Sedat Dilek
2013-08-06 19:47                                               ` Sedat Dilek
2013-08-06 21:29                                                 ` Phil Sutter
2013-08-06 21:40                                                   ` Sedat Dilek
2013-08-06 21:45                                                     ` Johannes Berg
     [not found]                                                       ` <1375825538.10459.1.camel-8Nb76shvtaUJvtFkdXX2HixXY32XiHfO@public.gmane.org>
2013-08-06 21:56                                                         ` Hannes Frederic Sowa
2013-08-06 22:55                                                           ` Sedat Dilek
     [not found]                                                             ` <CA+icZUWY8PfYeV-iaPCm4MZenNaHRboK6Kmc8=Fnse9_dwfdqg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-08-06 23:07                                                               ` Hannes Frederic Sowa
2013-08-06 23:14                                                                 ` Sedat Dilek
2013-08-06 21:58                                                       ` Johannes Berg
2013-08-08 21:13                                                         ` Phil Sutter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).