From: Johannes Berg <johannes@sipsolutions.net>
To: Ronald Wahl <ronald.wahl@raritan.com>
Cc: linux-wireless@vger.kernel.org
Subject: Re: Occasional truncated scan results
Date: Tue, 28 Feb 2012 16:24:19 +0100 [thread overview]
Message-ID: <1330442659.3368.13.camel@jlt3.sipsolutions.net> (raw)
In-Reply-To: <4F4CEFA6.2090005@raritan.com>
On Tue, 2012-02-28 at 16:15 +0100, Ronald Wahl wrote:
> >> Currently I implemented a heuristic that checks if some minimum space
> >> (currently 256 bytes) is still free _after_ adding a BSS and otherwise
> >> return -E2BIG so the user space can provide a larger buffer but this is
> >> a crappy hack.
> >>
> >> Can the code be changed in some way to more reliably detect if some data
> >> did not fit into the buffer and report this to user space?
> >
> > Unfortunately not. The maximum buffer size userspace can provide is
> > limited to 64k. In busy environments, this size can be exceeded. As a
> > result, if we do this, you can't get *any* scan results in such
> > environments. I believe the current code is almost the best we can do
> > for wireless extensions, but it may be possible to implement never
> > truncating a single BSS entry.
>
> My problem is not that the scan results are larger than 64k. The user
> space is coded so that it provides a small buffer that is doubled in
> size until the data fits into the buffer. But the kernel code does not
> always detect the case that the buffer is almost full and just starts
> skipping some data without notifying user space with E2BIG.
Ok. Yes, this could be fixed by making sure that a single BSS is
atomically written or not written -- probably simply by rolling back at
the end of the function if it didn't fit and returning an error etc. If
you wanted to work on this, I'd review & accept the patch, but I have no
intention whatsoever to do this myself :-)
johannes
next prev parent reply other threads:[~2012-02-28 15:24 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-28 14:29 Occasional truncated scan results Ronald Wahl
2012-02-28 14:42 ` Johannes Berg
2012-02-28 15:15 ` Ronald Wahl
2012-02-28 15:24 ` Johannes Berg [this message]
2012-02-28 15:35 ` Ronald Wahl
2012-02-29 8:36 ` Kalle Valo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1330442659.3368.13.camel@jlt3.sipsolutions.net \
--to=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=ronald.wahl@raritan.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).