All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Ketrenos <jketreno@linux.intel.com>
To: Andrew Morton <akpm@osdl.org>
Cc: Miles Lane <miles.lane@gmail.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Jouni Malinen <jkmaline@cc.hut.fi>
Subject: Re: 2.6.18-mm1 -- ieee80211: Info elem: parse failed: info_element->len + 2 > left : info_element->len+2=28 left=9, id=221.
Date: Wed, 27 Sep 2006 15:58:03 -0700	[thread overview]
Message-ID: <451B01FB.2000408@linux.intel.com> (raw)
In-Reply-To: <20060927131849.ba64412c.akpm@osdl.org>

Andrew Morton wrote:
> On Wed, 27 Sep 2006 13:47:18 -0700
> James Ketrenos <jketreno@linux.intel.com> wrote:
> 
>> +static int snprint_line(char *buf, size_t count,
>> +			const u8 * data, u32 len, u32 ofs)
>> +{
>> +	int out, i, j, l;
>> +	char c;
>> +
>> +	out = snprintf(buf, count, "%08X", ofs);
>> +
>> +	for (l = 0, i = 0; i < 2; i++) {
>> +		out += snprintf(buf + out, count - out, " ");
>> +		for (j = 0; j < 8 && l < len; j++, l++)
>> +			out += snprintf(buf + out, count - out, "%02X ",
>> +					data[(i * 8 + j)]);
>> +		for (; j < 8; j++)
>> +			out += snprintf(buf + out, count - out, "   ");
>> +	}
>> +
>> +	out += snprintf(buf + out, count - out, " ");
>> +	for (l = 0, i = 0; i < 2; i++) {
>> +		out += snprintf(buf + out, count - out, " ");
>> +		for (j = 0; j < 8 && l < len; j++, l++) {
>> +			c = data[(i * 8 + j)];
>> +			if (!isascii(c) || !isprint(c))
>> +				c = '.';
>> +
>> +			out += snprintf(buf + out, count - out, "%c", c);
>> +		}
>> +
>> +		for (; j < 8; j++)
>> +			out += snprintf(buf + out, count - out, " ");
>> +	}
>> +
>> +	return out;
>> +}
> 
> I've occasionally felt that the kernel should have a generic
> print-a-hunk-of-memory function (slab.c has two open-coded
> implementations already).
> 
> What does the output of this one look like?

The formatting was done to look pretty similar to generic hex editors/dumpers:

00000000 80 00 00 00 FF FF FF FF  FF FF 00 14 6C 9E C1 1E   ........ ....l...
00000010 00 14 6C 9E C1 1E 00 AF  86 07 D7 DC 11 00 00 00   ..l..... ........
00000020 64 00 01 04 00 07 4E 45  54 47 45 41 52 01 08 82   d.....NE TGEAR...
00000030 84 8B 96 24 30 48 6C 03  01 0B 05 04 00 01 00 00   ...$0Hl. ........
00000040 2A 01 02 2F 01 02 32 04  0C 12 18 60 DD 06 00 10   *../..2. ...`....
00000050 18 02 00 00

The above was generated via printk_buf() with an 84 byte buffer passed in.

James

  reply	other threads:[~2006-09-27 21:56 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-26 19:04 2.6.18-mm1 -- ieee80211: Info elem: parse failed: info_element->len + 2 > left : info_element->len+2=28 left=9, id=221 Miles Lane
2006-09-26 19:43 ` Andrew Morton
2006-09-27  0:53   ` Miles Lane
2006-09-28  0:24     ` Jesper Juhl
2006-09-28  5:02       ` Miles Lane
2006-09-27  0:56 ` Miles Lane
2006-09-27  6:05   ` Miles Lane
2006-09-27 20:47     ` James Ketrenos
2006-09-27 20:18       ` Andrew Morton
2006-09-27 22:58         ` James Ketrenos [this message]
2006-09-27 23:02           ` Andrew Morton
2006-09-28  0:15           ` Denis Vlasenko

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=451B01FB.2000408@linux.intel.com \
    --to=jketreno@linux.intel.com \
    --cc=akpm@osdl.org \
    --cc=jkmaline@cc.hut.fi \
    --cc=linux-kernel@vger.kernel.org \
    --cc=miles.lane@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.