Skip to contentSkip to conversation

New: Oops when renaming interfaces added to a bridge

Bugme-new Andrew Morton 2 participants 2 messages Feb 20, 2009 – Feb 21, 2009 1 message not in the archive

Subsystems (2)
lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]/

#1 lore raw

(switched to email. Please respond via emailed reply-to-all, not via the bugzilla web interface).

Quoted 59 lines · On Fri, 20 Feb 2009 04:01:27 -0800 (PST) [email protected] wrote:

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

           Summary: Oops when renaming interfaces added to a bridge
           Product: Networking
           Version: 2.5
     KernelVersion: 2.6.27.18
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Other
        AssignedTo: [email protected]
        ReportedBy: [email protected]

Distribution: custom
Hardware Environment: ARM PXA320
[reproduced on Fedora 10 with 2.6.27.15-170.2.24.fc10.x86_64 too]

Problem Description:

When renaming an interface which was added to a bridge, its name won't be changed in the bridge setup. Adding another interface which was created later with the original name, kernel oopses

A 'find /sys -name dummy*' between step 4 and 5 reports

/sys/devices/virtual/net/br0/brif/dummy0
/sys/devices/virtual/net/dummy100
/sys/bus/i2c/drivers/dummy
/sys/class/net/dummy100

Although it is only a WARNING, system goes havoc because whole networking stack seems to be unusable then.

Steps to reproduce:

1. brctl addbr br0

2. modprobe -o d0 dummy
3. brctl addif br0 dummy0

4. ifrename -i dummy0 -n dummy100

5. modprobe -o d1 dummy
6. brctl addif br0 dummy0

device dummy0 entered promiscuous mode

------------[ cut here ]------------
WARNING: at fs/sysfs/dir.c:463 sysfs_add_one+0x34/0x48()

....

#2 lore raw
Quoted 4 lines · Andrew Morton
Quoted 4 lines

When renaming an interface which was added to a bridge, its name won't be changed in the bridge setup. Adding another interface which was created later with the original name, kernel oopses

Looks like we screwed up when designing the sysfs interface. The port name really shouldn't show up at all as a file name.

Now we'll have to either add a nasty hack to locate all these sysfs objects and rename them, or figure out a way to phase this out.

I really hate sysfs!

Cheers,

Signature · 4 lines
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt