lkml.org 
[lkml]   [2001]   [Nov]   [11]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSun, 11 Nov 2001 08:36:50 +0100
FromThorsten Kukuk <>
SubjectRe: Bug in /proc/lvm/global (garbage printed)
On Sat, Nov 10, Andreas Dilger wrote:

> On Nov 10, 2001  12:06 +0100, Thorsten Kukuk wrote:
> > The problem is in the _proc_read_global function. This function does
> > not use the "page" parameter to return the data. Instead it allocates
> > it's own buffer and change to "start" parameter to point to it.
> > 
> > --- drivers/md/lvm-fs.c	2001/11/09 19:00:38	1.1
> > +++ drivers/md/lvm-fs.c	2001/11/09 20:50:16
> > @@ -482,11 +480,15 @@
> >  		buf = NULL;
> >  		return 0;
> >  	}
> > -	*start = &buf[pos];
> > -	if (sz - pos < count)
> > +	/* *start = &buf[pos]; */
> > +	if (sz - pos < count) {
> > +		memcpy (page, &buf[pos], sz - pos);
> >  		return sz - pos;
> > -	else
> > +        }
> > +	else {
> > +		memcpy (page, &buf[pos], count);
> >  		return count;
> > +	}
> > 
> >  #undef LVM_PROC_BUF
> >  }
> 
> What version of LVM do you have?  This code looks different than mine.
> The file lvm-fs.c does not exist in Linus kernels, only in patched kernels.

This is from LVM 1.0.1-rc4. But all previous versions have the same
problem, the function here is lvm_proc_get_global_info() in 
drivers/md/lvm.c. The fix is also the same.

  Thorsten

-- 
Thorsten Kukuk       http://www.suse.de/~kukuk/        kukuk@suse.de
SuSE GmbH            Deutschherrenstr. 15-19       D-90429 Nuernberg
--------------------------------------------------------------------    
Key fingerprint = A368 676B 5E1B 3E46 CFCE  2D97 F8FD 4E23 56C6 FB4B
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-03-22 12:13    [W:0.209 / U:0.110 seconds]
©2003-2008 Jasper Spaans