[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1352307902.3140.4588.camel@edumazet-glaptop>
Date: Wed, 07 Nov 2012 09:05:02 -0800
From: Eric Dumazet <eric.dumazet@...il.com>
To: Dave Jones <davej@...hat.com>
Cc: Julius Werner <jwerner@...omium.org>, linux-kernel@...r.kernel.org,
netdev@...r.kernel.org, Patrick McHardy <kaber@...sh.net>,
Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org>,
James Morris <jmorris@...ei.org>,
Alexey Kuznetsov <kuznet@....inr.ac.ru>,
"David S. Miller" <davem@...emloft.net>,
Sameer Nanda <snanda@...omium.org>,
Mandeep Singh Baines <msb@...omium.org>,
Eric Dumazet <edumazet@...omium.org>
Subject: Re: [PATCH] tcp: Replace infinite loop on recvmsg bug with proper
crashusers
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.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists