INCLUDE_CONFIG_FILE off-by-one problem

Wojciech A. Koszek wkoszek at freebsd.org
Sat Jun 30 07:36:58 UTC 2007


On Sat, Jun 30, 2007 at 09:00:13AM +0300, Danny Braniss wrote:
> > On Wed, Jun 06, 2007 at 10:18:40AM +0300, Danny Braniss wrote:
> > > to get the config file from the kernel, one can use config -k, which
> > > executes elfdump to get the offset and size. The size is actually 1(one)
> > > byte too big, and so the output of config -k contains a NULL/0/^@ as
> > > the last byte. I think the problem is in the elf file.
> > 
> > Why do you think that the problem lies in the ELF file?
> the size is wrongly reported.

Hm. Not sure which notion of size you mean in this context.
Configuration file is basically pretty standard sysctl, from which it's
exported.

> 
> > 
> > Can you confirm that following sysctls:
> > 
> > 	kern.geom.confxml
> > 	kern.geom.conftxt
> > 
> > don't suffer from the same problem?
> they are both empty. (and yes, geom_label is loaded).

They're not related with GEOM_LABEL. I belive you haven't used -b flag
while trying to see their contents. If you try:

	sysctl -b kern.geom.confxml

or

	sysctl -b kern.geom.conftxt

You'll notice these sysctls also contain NULL byte at the end, and they
both suffer from being recognized as a binary files, while piped to
grep(1).

I'll look into this. If the kernel side of this interface is correct, I'm
going to simply modify config(8) to skip the last byte of the output.

Thanks for the report,

-- 
Wojciech A. Koszek
wkoszek at FreeBSD.org
http://FreeBSD.czest.pl/dunstan/


More information about the freebsd-current mailing list