From: "Gleb O. Raiko" <raiko@niisi.msk.ru>
To: linux-mips@fnet.fr, linux-mips@oss.sgi.com
Subject: Bug in copy_user
Date: Tue, 04 Jun 2002 22:08:17 +0400 [thread overview]
Message-ID: <3CFD0211.17024F14@niisi.msk.ru> (raw)
There is bug in __copy_user (arch/mips*/lib/memcpy.S). Tested for 2.4.18
kernels, but versions 2.2, 2.4, and 2.5 for both mips and mips64 seems
to have similar bug.
For kernel 2.4.18 and mips
__copy_user returns wrong value if len = 4...7 and dst isn't accessible.
Other versions behave almost the same, just borders differ.
For example,
read(0,NULL,len), len=4...7
getsockopt/ioctl(fd, *GET*, NULL, sizeof(int))
returns success. Fortunately, they don't write to at address 0.
The following patch seems to be OK for 2.4.18:
less_than_4units:
/*
* rem = len % NBYTES
*/
beq rem, len, copy_bytes
nop
1:
EXC( LOAD t0, 0(src), l_exc)
ADD src, src, NBYTES
SUB len, len, NBYTES
-EXC( STORE t0, 0(dst), s_exc)
+EXC( STORE t0, 0(dst), s_exc_p1u)
bne rem, len, 1b
ADD dst, dst, NBYTES
Any comments?
Regards,
Gleb.
reply other threads:[~2002-06-04 18:05 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3CFD0211.17024F14@niisi.msk.ru \
--to=raiko@niisi.msk.ru \
--cc=linux-mips@fnet.fr \
--cc=linux-mips@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.