lkml.org 
[lkml]   [2003]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Problems with USB
> On Sun, Jan 12, 2003 at 09:44:42PM +0100, Petr.Titera@whitesoft.cz wrote:
>> I have problems with USB in recent kernels (tested on 2.5.56) and
>> RedHat 8.0. Right after end of script '/etc/rc.d/rc.sysinit' and before
>> script '/etc/rc.d/rc' which runs after USB daemon khubd gets some signal
>> and ends.

> greg k-h
>
> # USB: Fix from Jeff and Pete to keep khubd from being able to be killed
> # by a signal
>
> diff -Nru a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
> --- a/drivers/usb/core/hub.c Sun Jan 12 22:03:13 2003
> +++ b/drivers/usb/core/hub.c Sun Jan 12 22:03:13 2003
> @@ -1085,6 +1085,12 @@
>
> daemonize();
>
> + /* keep others from killing us */
> + spin_lock_irq(&current->sig->siglock);
> + sigemptyset(&current->blocked);
> + recalc_sigpending();
> + spin_unlock_irq(&current->sig->siglock);
> +
> /* Setup a nice name */
> strcpy(current->comm, "khubd");
>

For the record, I disagree with this strongly.

In khubd case, the existing code did it righ. It ran
daemonize(), which should have divorced it from the session
and process group. If daemonize is buggy, it is the place
to fix it. Ingo has the fix for 2.5, in fact, I think he
may have sent it to Linus already (it's __set_special_pids()).

My version of the patch above never was intended as anything
but a stop-gap solution which allowed us to ship a beta on
schedule, while I was investigating the cause.

Jeff told me on IRC that "every bit in 8139too.c thread was
added as a response to a particular problem", but he did not
remember what particular problem this kludge fixed there.

I stole the stop-gap from Stephen's kjournald. Note, that
I do not have any idea why he put it in there. Very likely,
for entirely different reason than working around bugs in
daemonize().

-- Pete

[P.S. Greg, if Jeff's P.O.V. prevails in the court of Linus,
change that sigemptyset() to siginitsetinv(...., sigmask(SIGKILL)).
Otherwise the whole signal checking path in khubd becomes utterly
meaningless.]

[P.P.S And take my name from the bk message. Yes, I wrote
the patch, but I do not want to endorse it, however indirectly]
-
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 13:32    [W:0.117 / U:0.596 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site