netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* netfilter is not a filesystem
       [not found] <bug-28862-10286@https.bugzilla.kernel.org/>
@ 2011-02-10 22:11 ` Andrew Morton
  2011-02-10 22:22   ` David Miller
                     ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Andrew Morton @ 2011-02-10 22:11 UTC (permalink / raw)
  To: netdev, linux-kernel

On Thu, 10 Feb 2011 21:55:26 GMT
bugzilla-daemon@bugzilla.kernel.org wrote:

> https://bugzilla.kernel.org/show_bug.cgi?id=28862
> 
>            Summary: /proc/net/ip_conntrack: no space left on device
>                     systematically

This is why I'm forever nagging people to not just grab some errno
because its name happens to sound similar to the error you just detected.

Yes, it superficially seems nice and logical for netfilter to use
ENOSPC when it runs out of space.  But when that error code propagates
up to the user, they see "no space left on device" and will then run
"df" and wonder what the hell happened to their computer.

The kernel makes this mistake a *lot*.  EFBIG in the rtc drivers?  Really?

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: netfilter is not a filesystem
  2011-02-10 22:11 ` netfilter is not a filesystem Andrew Morton
@ 2011-02-10 22:22   ` David Miller
  2011-02-11  6:58   ` Richard Cochran
  2011-02-14 17:34   ` Patrick McHardy
  2 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2011-02-10 22:22 UTC (permalink / raw)
  To: akpm; +Cc: netdev, linux-kernel

From: Andrew Morton <akpm@linux-foundation.org>
Date: Thu, 10 Feb 2011 14:11:19 -0800

> On Thu, 10 Feb 2011 21:55:26 GMT
> bugzilla-daemon@bugzilla.kernel.org wrote:
> 
>> https://bugzilla.kernel.org/show_bug.cgi?id=28862
>> 
>>            Summary: /proc/net/ip_conntrack: no space left on device
>>                     systematically
> 
> This is why I'm forever nagging people to not just grab some errno
> because its name happens to sound similar to the error you just detected.
> 
> Yes, it superficially seems nice and logical for netfilter to use
> ENOSPC when it runs out of space.  But when that error code propagates
> up to the user, they see "no space left on device" and will then run
> "df" and wonder what the hell happened to their computer.
> 
> The kernel makes this mistake a *lot*.  EFBIG in the rtc drivers?  Really?

We are in this conundrum because the granularity of errors which can
be indicated by errno signalling is very low.

And one way people handle this is to use all sorts of different types
of errno values to indicate the different cases.

Also, one can argue that it is erroneous for userspace to assume that
error codes are not context dependent.  They most certainly are.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: netfilter is not a filesystem
  2011-02-10 22:11 ` netfilter is not a filesystem Andrew Morton
  2011-02-10 22:22   ` David Miller
@ 2011-02-11  6:58   ` Richard Cochran
  2011-02-14 17:34   ` Patrick McHardy
  2 siblings, 0 replies; 4+ messages in thread
From: Richard Cochran @ 2011-02-11  6:58 UTC (permalink / raw)
  To: Andrew Morton; +Cc: netdev, linux-kernel

On Thu, Feb 10, 2011 at 02:11:19PM -0800, Andrew Morton wrote:
> On Thu, 10 Feb 2011 21:55:26 GMT
> bugzilla-daemon@bugzilla.kernel.org wrote:
> 
> > https://bugzilla.kernel.org/show_bug.cgi?id=28862
> > 
> >            Summary: /proc/net/ip_conntrack: no space left on device
> >                     systematically
> 
> This is why I'm forever nagging people to not just grab some errno
> because its name happens to sound similar to the error you just detected.

Today my brain has thrown an -EMIXEDMESSAGES:

   https://lkml.org/lkml/2011/2/10/172

Sorry, couldn't resist,

Richard

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: netfilter is not a filesystem
  2011-02-10 22:11 ` netfilter is not a filesystem Andrew Morton
  2011-02-10 22:22   ` David Miller
  2011-02-11  6:58   ` Richard Cochran
@ 2011-02-14 17:34   ` Patrick McHardy
  2 siblings, 0 replies; 4+ messages in thread
From: Patrick McHardy @ 2011-02-14 17:34 UTC (permalink / raw)
  To: Andrew Morton; +Cc: netdev, linux-kernel

Am 10.02.2011 23:11, schrieb Andrew Morton:
> On Thu, 10 Feb 2011 21:55:26 GMT
> bugzilla-daemon@bugzilla.kernel.org wrote:
> 
>> https://bugzilla.kernel.org/show_bug.cgi?id=28862
>>
>>            Summary: /proc/net/ip_conntrack: no space left on device
>>                     systematically
> 
> This is why I'm forever nagging people to not just grab some errno
> because its name happens to sound similar to the error you just detected.
> 
> Yes, it superficially seems nice and logical for netfilter to use
> ENOSPC when it runs out of space.  But when that error code propagates
> up to the user, they see "no space left on device" and will then run
> "df" and wonder what the hell happened to their computer.
> 

In this case this seems to be a simple bug, the seq_file callbacks
want to indicate that the current buffer is full, using an incorrect
code. I'm not sure why ENOSPC is used, this probably has never worked
(and strangely nobody seems to have noticed).

This bug is probably present in more parts of netfilter, I'll do an
audit and fix up all similar problems.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-02-14 17:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <bug-28862-10286@https.bugzilla.kernel.org/>
2011-02-10 22:11 ` netfilter is not a filesystem Andrew Morton
2011-02-10 22:22   ` David Miller
2011-02-11  6:58   ` Richard Cochran
2011-02-14 17:34   ` Patrick McHardy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).