Re: [PATCH] loop.c: kernel_thread() retval check

Solar Designer
2006-08-21T02:36:25Z

On Sun, Aug 20, 2006 at 10:59:41PM -0300, Julio Auto wrote:
> On 8/20/06, Willy Tarreau <w@1wt.eu> wrote:
> >I think I will be starting to ask for forward porters for the fixed to 2.4
> >that need to be ported to 2.6 too.
>
> Well, actually I'd be glad to help. In fact, with this particular 2.4
> patch at hand, fixing 2.6 seems incredbly straight-forward (or am I
> getting ahead of myself?)

You need to make sure that the cleanup code added with the patch matches
the loop device initialization preceding the kernel_thread() call. You
should not blindly take the cleanup code out of the 2.4 patch and apply
it to 2.6 - it might not be correct for 2.6.

> However, I wasn't able to reproduce the bug in my system just by
> running losetup under strace. Maybe 2.6.15-1.2054_FC5 has it patched?

No. But you won't be able to reproduce this with strace on 2.6 since
2.6's kernel_thread() uses CLONE_UNTRACED instead of failing on ptrace.
You'll probably need to temporarily replace the kernel_thread() call in
loop.c with -EAGAIN to comfortably test your cleanup code without
forcing the system to run out of resources.

Alexander