lkml.org 
[lkml]   [1996]   [Nov]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: fix for the module problems in 2.1.11

Date: Tue, 19 Nov 1996 09:22:58 -0801 (PST)
From: Trevor Johnson <trevor@jpj.org>

On Tue, 19 Nov 1996, David S. Miller wrote:
> This should clear up everything people are reporting with 2.1.11

After applying your patches to net/netsyms.c and kernel/module.c, and
doing "make dep clean modules install modules_install" I'm still having
problems. I double-checked that your patches were applied.

Looking at your strace output (I assume this is on an Intel?) clued me
into a possible but in strncpy_from_user() in uaccess.h, simply
because my fix works just fine on the Sparc...

The core reads like this:

__asm__ __volatile__( \
" testl %1,%1\n" \
" jz 2f\n" \
"0: lodsb\n" \
" stosb\n" \
" testb %%al,%%al\n" \
" jz 1f\n" \
" decl %1\n" \
" jnz 0b\n" \
"1: subl %1,%0\n" \
"2:\n" \
".section .fixup,\"ax\"\n" \
"3: movl %2,%0\n" \
" jmp 2b\n" \
".section __ex_table,\"a\"\n" \
" .align 4\n" \
" .long 0b,3b\n" \
".text" \
: "=r"(res), "=r"(count) \
: "i"(-EFAULT), "0"(count), "1"(count), "S"(src), "D"(dst) \
: "si", "di", "ax", "memory")

I belive the "subl %1,%0" is suspect, Linus any clues? It certainly
looks incorrect to me because it is doing something like:

old_count = count;
new_count = strncpy(dst, src, count);
return new_count - old_count;

Which would return a negative number on success...

--------------------------------------------////
Yow! 10.49 MB/s remote host TCP bandwidth ////
over 100Mb/s ethernet. Beat that! ////
-----------------------------------------////__________ o
David S. Miller, davem@caip.rutgers.edu /_____________/ / // /_/ ><

\
 
 \ /
  Last update: 2005-03-22 13:38    [W:0.053 / U:0.608 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site