Messages in this thread | | | Subject | Re: [PATCH] tcp: Replace infinite loop on recvmsg bug with proper crashusers | From | Eric Dumazet <> | Date | Wed, 07 Nov 2012 09:05:02 -0800 |
| |
On Wed, 2012-11-07 at 11:43 -0500, Dave Jones wrote:
> dude, look at the bug reports I just pointed you at. > People _are_ aware there are bugs there. >
If I remember well, I helped to fix some of them.
> If you turn that into a BUG() those reports would never have been filed. > How is that increasing awareness ? People are going to see wedged computers, > and hit the reset button. If we're lucky, we'll get photos of someone lucky > enough to have hit it while at the console, not in X. But this is a huge > step backwards for debugability. > > > I understand a distro maintainer has its own choices, but for upstream > > kernel we want to have early reports. > > I'm running out of ways to word this, but I'll try again. > You won't get those early reports if you turn this into a BUG(). > > > This bug is fatal and a security issue. BUG() is appropriate. > > turning a bug into a remote DoS is also a security issue. >
Apparently in some cases we can loop and fill the syslog, or else Julius wouldnt have sent a patch.
So the proper fix is to emit this message only once, and to find a way to alert the user security is compromised.
So if BUG() isnt good, just use WARN_ON_ONCE()
I feel that WARN_ON_ONCE() wont be clear enough to the user, especially if we recover from this by closing the tcp session, exactly as if we received a proper FIN.
Really if you object a BUG() here, I cant understand you didnt shout to other BUG() uses in the kernel.
| |