Ralf Baechle
e03b526932
[MIPS] Fixup copy_from_user_inatomic
...
From the 01408c4939 log message:
The problem is that when we write to a file, the copy from userspace to
pagecache is first done with preemption disabled, so if the source
address is not immediately available the copy fails *and* *zeros* *the*
*destination*.
This is a problem because a concurrent read (which admittedly is an odd
thing to do) might see zeros rather that was there before the write, or
what was there after, or some mixture of the two (any of these being a
reasonable thing to see).
If the copy did fail, it will immediately be retried with preemption
re-enabled so any transient problem with accessing the source won't
cause an error.
The first copying does not need to zero any uncopied bytes, and doing
so causes the problem. It uses copy_from_user_atomic rather than
copy_from_user so the simple expedient is to change copy_from_user_atomic
to *not* zero out bytes on failure.
< --- end cite --- >
This patch finally implements at least a not so pretty solution by
duplicating the relevant part of __copy_user.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2007-02-20 01:26:42 +00:00
..
acpi
Pull bugzilla-7887 into release branch
2007-02-16 22:11:57 -05:00
asm-alpha
[PATCH] consolidate line discipline number definitions
2007-02-11 10:51:26 -08:00
asm-arm
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial
2007-02-19 13:29:02 -08:00
asm-arm26
Storage class should be before const qualifier
2007-02-17 20:11:19 +01:00
asm-avr32
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
2007-02-19 13:18:39 -08:00
asm-cris
[PATCH] consolidate line discipline number definitions
2007-02-11 10:51:26 -08:00
asm-frv
[PATCH] consolidate line discipline number definitions
2007-02-11 10:51:26 -08:00
asm-generic
[PATCH] i386: paravirt CPU hypercall batching mode
2007-02-13 13:26:21 +01:00
asm-h8300
[PATCH] consolidate line discipline number definitions
2007-02-11 10:51:26 -08:00
asm-i386
Pull misc-for-upstream into release branch
2007-02-16 18:52:41 -05:00
asm-ia64
Storage class should be before const qualifier
2007-02-17 20:11:19 +01:00
asm-m32r
[PATCH] fix sparse warnings from {asm,net}/checksum.h
2007-02-11 10:51:31 -08:00
asm-m68k
[PATCH] consolidate line discipline number definitions
2007-02-11 10:51:26 -08:00
asm-m68knommu
[PATCH] m68knommu: removed include of system.h from bitops
2007-02-09 10:45:33 -08:00
asm-mips
[MIPS] Fixup copy_from_user_inatomic
2007-02-20 01:26:42 +00:00
asm-parisc
[PATCH] consolidate line discipline number definitions
2007-02-11 10:51:26 -08:00
asm-powerpc
[POWERPC] QE: clean up ucc_slow.c and ucc_fast.c
2007-02-17 16:12:54 -06:00
asm-ppc
[POWERPC] ppc: Add support for AMCC Taishan 440GX eval board
2007-02-13 15:35:52 +11:00
asm-s390
[S390] remove __io_virt and mmiowb.
2007-02-12 15:49:57 +01:00
asm-sh
sh: rts7751r2d board updates.
2007-02-15 18:20:52 +09:00
asm-sh64
[PATCH] consolidate line discipline number definitions
2007-02-11 10:51:26 -08:00
asm-sparc
[PATCH] add missing io...._rep() on sparc32
2007-02-11 11:18:07 -08:00
asm-sparc64
[SPARC64]: Increase command line size to 2048 like other arches.
2007-02-12 15:15:47 -08:00
asm-um
[PATCH] uml: x86_64 ptrace fixes
2007-02-11 10:51:24 -08:00
asm-v850
[PATCH] consolidate line discipline number definitions
2007-02-11 10:51:26 -08:00
asm-x86_64
[PATCH] time: x86_64: re-enable vsyscall support for x86_64
2007-02-16 08:14:00 -08:00
asm-xtensa
[PATCH] consolidate line discipline number definitions
2007-02-11 10:51:26 -08:00
crypto
[CRYPTO] api: Allow multiple frontends per backend
2007-02-07 09:21:01 +11:00
keys
linux
[PATCH] Declare init_irq_proc before we use it.
2007-02-19 14:21:50 -08:00
math-emu
media
V4L/DVB (5001): Add two required headers on kernel 2.6.20-rc1
2006-12-27 14:20:46 -02:00
mtd
[MTD] remove unused ecctype,eccsize fields from struct mtd_info
2007-02-09 15:27:12 +00:00
net
[IPSEC]: changing API of xfrm6_tunnel_register
2007-02-13 12:55:55 -08:00
pcmcia
serial: Add PCMCIA IDs for Quatech DSP-100 dual RS232 adapter.
2007-02-16 15:19:16 -08:00
rdma
RDMA/cma: Add multicast communication support
2007-02-16 14:29:07 -08:00
rxrpc
scsi
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
2007-02-19 13:32:28 -08:00
sound
[ALSA] version 1.0.14rc2
2007-02-14 08:42:20 +01:00
video
[PATCH] Video: fb, add true ref_count atomicity
2007-02-12 09:48:42 -08:00
Kbuild