Luis Chamberlain
2020-Jun-24 12:05 UTC
[Bridge] linux-next: umh: fix processed error when UMH_WAIT_PROC is used seems to break linux bridge on s390x (bisected)
On Wed, Jun 24, 2020 at 01:11:54PM +0200, Christian Borntraeger wrote:> > > On 23.06.20 16:23, Christian Borntraeger wrote: > > > > > > On 23.06.20 16:11, Christian Borntraeger wrote: > >> Jens Markwardt reported a regression in the linux-next runs. with "umh: fix > >> processed error when UMH_WAIT_PROC is used" (from linux-next) a linux bridge > >> with an KVM guests no longer activates : > >> > >> without patch > >> # ip addr show dev virbr1 > >> 6: virbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 > >> link/ether 52:54:00:1e:3f:c0 brd ff:ff:ff:ff:ff:ff > >> inet 192.168.254.254/24 brd 192.168.254.255 scope global virbr1 > >> valid_lft forever preferred_lft forever > >> > >> with this patch the bridge stays DOWN with NO-CARRIER > >> > >> # ip addr show dev virbr1 > >> 6: virbr1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000 > >> link/ether 52:54:00:1e:3f:c0 brd ff:ff:ff:ff:ff:ff > >> inet 192.168.254.254/24 brd 192.168.254.255 scope global virbr1 > >> valid_lft forever preferred_lft forever > >> > >> This was bisected in linux-next. Reverting from linux-next also fixes the issue. > >> > >> Any idea? > > > > FWIW, s390 is big endian. Maybe some of the shifts inn the __KW* macros are wrong. > > Does anyone have an idea why "umh: fix processed error when UMH_WAIT_PROC is used" breaks the > linux-bridge on s390?glibc for instance defines __WEXITSTATUS in only one location: bits/waitstatus.h and it does not special case it per architecture, so at this point I'd have to say we have to look somewhere else for why this is happening. The commmit which caused this is issuing a correct error code down the pipeline, nothing more. I'll make taking a look at this a priority right now. Let us see what I come up with today. Luis
Luis Chamberlain
2020-Jun-24 13:17 UTC
[Bridge] linux-next: umh: fix processed error when UMH_WAIT_PROC is used seems to break linux bridge on s390x (bisected)
Martin, your eyeballs would be appreciated for a bit on this. On Wed, Jun 24, 2020 at 12:05:46PM +0000, Luis Chamberlain wrote:> On Wed, Jun 24, 2020 at 01:11:54PM +0200, Christian Borntraeger wrote: > > > > > > On 23.06.20 16:23, Christian Borntraeger wrote: > > > > > > > > > On 23.06.20 16:11, Christian Borntraeger wrote: > > >> Jens Markwardt reported a regression in the linux-next runs. with "umh: fix > > >> processed error when UMH_WAIT_PROC is used" (from linux-next) a linux bridge > > >> with an KVM guests no longer activates : > > >> > > >> without patch > > >> # ip addr show dev virbr1 > > >> 6: virbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 > > >> link/ether 52:54:00:1e:3f:c0 brd ff:ff:ff:ff:ff:ff > > >> inet 192.168.254.254/24 brd 192.168.254.255 scope global virbr1 > > >> valid_lft forever preferred_lft forever > > >> > > >> with this patch the bridge stays DOWN with NO-CARRIER > > >> > > >> # ip addr show dev virbr1 > > >> 6: virbr1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000 > > >> link/ether 52:54:00:1e:3f:c0 brd ff:ff:ff:ff:ff:ff > > >> inet 192.168.254.254/24 brd 192.168.254.255 scope global virbr1 > > >> valid_lft forever preferred_lft forever > > >> > > >> This was bisected in linux-next. Reverting from linux-next also fixes the issue. > > >> > > >> Any idea? > > > > > > FWIW, s390 is big endian. Maybe some of the shifts inn the __KW* macros are wrong. > > > > Does anyone have an idea why "umh: fix processed error when UMH_WAIT_PROC is used" breaks the > > linux-bridge on s390? > > glibc for instance defines __WEXITSTATUS in only one location: bits/waitstatus.h > and it does not special case it per architecture, so at this point I'd > have to say we have to look somewhere else for why this is happening.I found however an LTP bug indicating the need to test for s390 wait macros [0] in light of a recent bug in glibc for s390. I am asking for references to that issue given I cannot find any mention of this on glibc yet. I'm in hopes Martin might be aware of that mentioned s390 glic bug. [0] https://github.com/linux-test-project/ltp/issues/605 Luis