lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8bd0f97a0707221650r3bab822fq2d457d19eba1c8eb@mail.gmail.com>
Date:	Sun, 22 Jul 2007 19:50:47 -0400
From:	"Mike Frysinger" <vapier.adi@...il.com>
To:	"Robin Getz" <rgetz@...ckfin.uclinux.org>
Cc:	"Andrew Morton" <akpm@...ux-foundation.org>,
	linux-kernel@...r.kernel.org, "Greg Ungerer" <gerg@...pgear.com>,
	"Russell King" <rmk@....linux.org.uk>,
	"Paul Mundt" <lethal@...ux-sh.org>,
	"Tim Bird" <tim.bird@...sony.com>, bryan.wu@...log.com
Subject: Re: early_printk accessing __log_buf

On 7/18/07, Robin Getz <rgetz@...ckfin.uclinux.org> wrote:
> On Wed 18 Jul 2007 20:26, Andrew Morton pondered:
> > Robin Getz wrote:
> > > [need to access _log_buf from external for early debugging code]
> > >
> > > Something simple like - early_copy_log_buff(void *dest, size_t n)
> > >
> > > copies n bytes from log_buf to memory area dest. Returns number of
> > > bytes that could not be copied. Can find out how many bytes are in
> > > the log_buff by calling with zero size.
> >
> > When I was at $EARLIER_EMPLOYER, we had code in there to copy the last
> > kilobyte-odd of the log buffer into flash when the box oopsed.
> >
>
> Hmm - I think that if you call with NULL dest, and have it advance the
> pointer, you could do the same thing with something like:
>
>  /* see how many bytes are in the buff */
>  length = early_copy_log_buff(NULL, NULL);
>  /* advance the pointer, so we only copy the last 1k */
>  if (length >= 1024 )
>     left = early_copy_log_buff(NULL, length - 1024);
>  /* copy to temp buffer, to save to flash */
>  early_copy_log_buff(buff, 1024);
>  save_buff_to_flash(buff);
>
> That way - you can put this in the standard places for failure, and still have
> only one function polluting printk.c (Although if you want to use it for
> failure trapping - it's up for "normal" run time use, and doesn't go into
> __init.
>
> > Probably there are others, but they'll mainly be in the consumer/embedded
> >  area, and those sorts of engineers don't read this mailing list much.
>
> Adding a few more 'embedded' folks - who might have some thoughts/opinions.

i think the attached two functions account for what Robin and Andrew
were thinking ...
-mike

Download attachment "linux-log_buf_read.patch" of type "application/octet-stream" (2990 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ