Bug 238307

Summary: bonding VLAN tag network interface with mode=4(802.3ad) cause BUG LOG output /include/asm/uaccess.h:499 in_atomic():1, irqs_disabled():0
Product: [Fedora] Fedora Reporter: Colin Lai <colin_sh>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED INSUFFICIENT_DATA QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 6CC: agospoda, jonstanley
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-02-08 04:25:08 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 427887    

Description Colin Lai 2007-04-29 03:50:18 UTC
Description of problem:
I need to use a bonding through two 802.1q tag VLAN virtual interface in the
same physical network interface. When I bond interface with command :
ifenslave bond0 eth1.10 eth1.20
Console and dmesg will continues report BUG:
--------------Output1 begin kernel 2.6.20-1.2933.fc6------------
BUG: sleeping function called from invalid context at include/asm/uaccess.h:500
in_atomic():1, irqs_disabled():0
 [<c04ecadb>] copy_from_user+0x35/0x66
 [<c05c2e78>] dev_ethtool+0x51/0xa0d
 [<c05ee503>] tcp_current_mss+0x71/0xdf
 [<c05ee169>] tcp_rcv_established+0x74f/0x7de
 [<c04cf48f>] selinux_netlbl_sock_rcv_skb+0x1d/0x5b
 [<c05f3a78>] tcp_v4_do_rcv+0x1bf/0x49c
 [<c05f5f1b>] tcp_v4_rcv+0x564/0x8b1
 [<d8a3ac03>] vlan_dev_ioctl+0x7b/0xa7 [8021q]
 [<d8a3ab88>] vlan_dev_ioctl+0x0/0xa7 [8021q]
 [<d8a53102>] bond_update_speed_duplex+0x88/0xd7 [bonding]
 [<d8a5688e>] bond_mii_monitor+0x0/0x403 [bonding]
 [<d8a56c01>] bond_mii_monitor+0x373/0x403 [bonding]
 [<c061ff9d>] _spin_unlock_irq+0x5/0x7
 [<c0439e73>] hrtimer_run_queues+0x127/0x141
 [<d8a5688e>] bond_mii_monitor+0x0/0x403 [bonding]
 [<c042e673>] run_timer_softirq+0x101/0x164
 [<c042b908>] __do_softirq+0x5d/0xba
 [<c04061b1>] do_softirq+0x59/0xb1
 [<c0419df6>] smp_apic_timer_interrupt+0x76/0x80
 [<c04049b0>] apic_timer_interrupt+0x28/0x30
 [<c0402d52>] default_idle+0x0/0x3e
 [<c0402d7e>] default_idle+0x2c/0x3e
 [<c04023d0>] cpu_idle+0x9e/0xb7
 [<c074a812>] start_kernel+0x3b6/0x3be
 [<c074a25a>] unknown_bootoption+0x0/0x202
--------------Output1 End  ------------

--------------Output2 Begin kernel 2.6.18-1.2849.fc6------------
BUG: sleeping function called from invalid context at include/asm/uaccess.h:499
in_atomic():1, irqs_disabled():0
 [<c04051db>] dump_trace+0x69/0x1af
 [<c0405339>] show_trace_log_lvl+0x18/0x2c
 [<c04058ed>] show_trace+0xf/0x11
 [<c04059ea>] dump_stack+0x15/0x17
 [<c04e8abd>] copy_from_user+0x3b/0x6c
 [<c05bb26e>] dev_ethtool+0x63/0xa59
 [<e0a1cc07>] vlan_dev_ioctl+0x7b/0xa7 [8021q]
 [<e0a36102>] bond_update_speed_duplex+0x88/0xcf [bonding]
 [<e0a39993>] bond_mii_monitor+0x360/0x3f0 [bonding]
 [<c042e4fa>] run_timer_softirq+0x105/0x16c
 [<c0429a58>] __do_softirq+0x5a/0xbb
 [<c0406932>] do_softirq+0x55/0xaf
--------------Output2 End  ------------


Version-Release number of selected component (if applicable):
[Output1] Kernel version
Linux colintest 2.6.20-1.2933.fc6 #1 SMP Mon Mar 19 11:38:26 EDT 2007 i686 i686
i386 GNU/Linux
vconfig:Version 1.9 , Release:2.1
iputils:Version 20070202, Release 3.fc6

How reproducible:
Assume a PC have two Ethernet Network Interface [eth0,eth1], I use eth1 to test.
Enter the following command as follow:

Steps to Reproduce:
1.
eth1 has no ipv4/ipv6 address configured.
2.
--------Command Begin--------
ifconfig eth1 up
modprobe bonding max_bonds=2 mode=4
ifconfig bond0 192.168.55.254/30
vconfig add eth1 10
vconfig add eth1 20
ifenslave bond0 eth1.10 eth1.20
--------Command End  --------

Actual results:
After entering [ifenslave], the console flush BUG report every one second.


Expected results:
No bug report, and 802.3ad LACP packet can be found from each 802.1q VLAN
virtual interface and can be associate with another switch with port
channel(802.3ad) configured.
Text Figure:
Switch1(Fa0/1,Cisco Trunk Mode)----------(eth1,VLAN tag eth1.10, eth1.20)Linux
 |  |
(Fa0/3)(Fa0/4) , Fa0/3 access vlan 10, Fa0/4 access vlan 20
 |  |
 |  |
(Fa0/5-0/6) , Fa0/5,0/6 configured as 802.3ad port channel, with LACP Active Mode
Switch2

I want Linux(bond0) can associate to Switch2(port channel) in tcp/udp port mode.

Additional info:

Comment 1 Andy Gospodarek 2007-05-01 19:37:57 UTC
Right now there is no known workaround, but I may be able to get you a patch or
test kernel that you can use for testing.

Comment 2 Jon Stanley 2008-01-08 01:52:20 UTC
(This is a mass-update to all current FC6 kernel bugs in NEW state)

Hello,

I'm reviewing this bug list as part of the kernel bug triage project, an attempt
to isolate current bugs in the Fedora kernel.

http://fedoraproject.org/wiki/KernelBugTriage

I am CC'ing myself to this bug, however this version of Fedora is no longer
maintained.

Please attempt to reproduce this bug with a current version of Fedora (presently
Fedora 8). If the bug no longer exists, please close the bug or I'll do so in a
few days if there is no further information lodged.

Thanks for using Fedora!

Comment 3 Jon Stanley 2008-02-08 04:25:08 UTC
Per the previous comment in this bug, I am closing it as INSUFFICIENT_DATA,
since no information has been lodged for over 30 days.

Please re-open this bug or file a new one if you can provide the requested data,
and thanks for filing the original report!