> 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/