On Friday 10 September 2004 20:26, BlaisorBlade wrote:
> On Thursday 09 September 2004 22:49, Marc E. Fiuczynski wrote:
> > Hi,
> > While patching my non-vanilla kernel, I ran into two issues:
> > 1) Why does ldt.c:copy_context() not release the semaphore on the old_c
> > context if alloc_ldt() fails? Not sure whether this is ever an issue, but
> > it appears to be a classic synch. error due to "goto" abuse. Looking in
> > mm/proc_mm, it doesn't seem like it handles this error properly. I'd
> > imagine on the next call that the down() call might hang the system, no?
> Yes, I had seen this, just I hadn't got to the point of releasing the new
Ok, this is fixed. Take the 2.6.7-v4 patch.
> > 2) In my kernel the 0-7 TIF thread_info flag values are already taken.
Could you make me know from which patch does this come from, and which is the
_TIF flag having the bit 5? I guess it's not a problem to do this change in
the released patch.
> > Setting TIF_SYSCALL_EMU to 8 requires a change in entry.S to properly
> > test for the bit i.e., using testw rather than testb, right?
> Yes, it's right. Not so obvious, for endiannes question. Actually, however,
> yes, it's correct. It wouldn't work on big-endian machines: the code would
> have been testb (TI_flags+3)(%ebp), ... instead, and would have changed to
> testw (TI_flags+2)(%ebp),...
However, I've been proof-reading the entry.S changes, and maybe there are some
more places were the change must be done. However it seems like that change
should suffice. Note that however the new patch does one more test for
_TIF_SYSCALL_EMU, so update your change accordingly.
Paolo Giarrusso, aka Blaisorblade
Linux registered user n. 292729