Commit Graph

172433 Commits

Author SHA1 Message Date
root
9faeceba5d modify framebuff to 24bit color 2010-12-15 20:01:38 +08:00
lhh
7327c9c397 update sdmmc when dma err stop and flush dma 2010-12-15 18:10:19 +08:00
lhh
0ac1d90519 off debug input key printk and sdmmc debug 2010-12-15 17:21:07 +08:00
lyx
f5be538f39 rk29xx vmac: update function create_multicast_filter and vmac_set_multicast_list 2010-12-15 00:19:08 -08:00
zyw
f1e18286e6 close win0 when no addr 2010-12-15 14:55:50 +08:00
杜坤明
93a9f36a86 updata gpu driver & lcdc priority 2010-12-15 12:02:08 +08:00
黄涛
f4bbe14379 rk29: clock: 临时将core电压调高到1.4v,提高系统稳定性 2010-12-15 09:43:55 +08:00
sakura
f3eb9fef1a fix p1003 irq 2010-12-14 18:31:29 +08:00
sakura
84458bb43a fix p1003 irq 2010-12-14 18:16:28 +08:00
sakura
29587d9fbd fix p1003 irq 2010-12-14 18:13:38 +08:00
lbt
fcd62b7dd9 wifi: add wifi virtual card detect support 2010-12-14 14:25:48 +08:00
陈恒明
caec313e1a rk29: vpu_mem: add /proc/vpu_mem module 2010-12-13 22:20:01 -08:00
黄涛
a772f9a89e rk29: clock: add hdmi support 2010-12-14 14:05:10 +08:00
lyx
6951306dd2 add rk29xx vmac driver 2010-12-13 21:04:01 -08:00
陈恒明
458a5b61b2 remove vpu_mem warning 2010-12-13 18:34:56 -08:00
ddl
27b18f2b03 camera: add auto focus function for ov5642 2010-12-13 21:21:09 +08:00
lhh
17b655f011 open rk29 sdmmc for dma use 2010-12-13 20:35:53 +08:00
杜坤明
eaca4a868c change freq of gpu to 312M 2010-12-13 16:47:31 +08:00
zyw
cf28e0c390 modify fb for switch to hdmi 2010-12-13 12:57:33 +08:00
zyw
87d1cf42e9 modify fb win1 buf alloc 2010-12-13 12:42:51 +08:00
lbt
ce2efd7c64 wifi: 1. use dma transfer for sdmmc1 controller
2. optimization for bcm4329 Makefile
2010-12-12 18:31:11 +08:00
黄涛
982e18519e rk29sdk: defconfig add wm8900 2010-12-11 12:29:00 +08:00
lhh
a4e8c64552 add delay more sdmmc 2010-12-11 12:18:23 +08:00
lhh
0845aeb21d no battery ic set and sdmmc timeout add more 2010-12-11 11:48:24 +08:00
黄涛
40a1ab5ca9 rk29: L2 cache设置变更。根据IC部的建议,810~972频率,data ram latency设为6 cycles 2010-12-10 18:05:40 +08:00
黄涛
d1d5fd00f5 rk29: timer: use periph sync timer 2010-12-10 16:35:08 +08:00
zyw
3d128b1bc7 modify lcd freq 2010-12-10 16:31:04 +08:00
lhh
5802aa2180 updata rk29 battery for ti 2010-12-10 15:42:40 +08:00
黄涛
f8835ddba4 rk29: add L2 cache setup 2010-12-10 15:11:32 +08:00
黄涛
ce18e96716 clock: fix aclk_periph parent setup 2010-12-10 15:05:40 +08:00
lhh
5b3c73f1be Merge branch 'develop' of lhh@10.10.10.29:/home/rockchip/kernel into develop 2010-12-10 14:24:03 +08:00
lhh
6033f1e646 update rk29 sdmmc 2010-12-10 14:23:18 +08:00
黄涛
b542fe7dcb rk29sdk: 支持内存大小配置,默认512MiB 2010-12-10 13:17:42 +08:00
黄涛
5181015458 rk29 l1 cache lize size is 64 bytes 2010-12-10 12:49:51 +08:00
Greg Kroah-Hartman
a386bf75de Linux 2.6.32.27 v2.6.32.27 2010-12-09 13:29:45 -08:00
Robin Holt
0b9c55355f x86: uv: xpc NULL deref when mesq becomes empty
commit 15b87d67ff upstream.

Under heavy load conditions, our set of xpc messages may become exhausted.
 The code handles this correctly with the exception of the management code
which hits a NULL pointer dereference.

Signed-off-by: Robin Holt <holt@sgi.com>
Cc: Jack Steiner <steiner@sgi.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:27:15 -08:00
Robin Holt
48286a6e86 X86: uv: xpc_make_first_contact hang due to not accepting ACTIVE state
commit dbd2918ec6 upstream.

Many times while the initial connection is being made, the contacted
partition will send back both the ACTIVATING and the ACTIVE
remote_act_state changes in very close succescion.  The 1/4 second delay
in the make first contact loop is large enough to nearly always miss the
ACTIVATING state change.

Since either state indicates the remote partition has acknowledged our
state change, accept either.

Signed-off-by: Robin Holt <holt@sgi.com>
Cc: Jack Steiner <steiner@sgi.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:27:15 -08:00
Robin Holt
68d39a688a x86: uv: XPC receive message reuse triggers invalid BUG_ON()
commit 046d6c563b upstream.

This was a difficult bug to trip.  XPC was in the middle of sending an
acknowledgement for a received message.

In xpc_received_payload_uv():
.
        ret = xpc_send_gru_msg(ch->sn.uv.cached_notify_gru_mq_desc, msg,
                               sizeof(struct xpc_notify_mq_msghdr_uv));
        if (ret != xpSuccess)
                XPC_DEACTIVATE_PARTITION(&xpc_partitions[ch->partid], ret);

        msg->hdr.msg_slot_number += ch->remote_nentries;

at the point in xpc_send_gru_msg() where the hardware has dispatched the
acknowledgement, the remote side is able to reuse the message structure
and send a message with a different slot number.  This problem is made
worse by interrupts.

The adjustment of msg_slot_number and the BUG_ON in
xpc_handle_notify_mq_msg_uv() which verifies the msg_slot_number is
consistent are only used for debug purposes.  Since a fix for this that
preserves the debug functionality would either have to infringe upon the
payload or allocate another structure just for debug, I decided to remove
it entirely.

Signed-off-by: Robin Holt <holt@sgi.com>
Cc: Jack Steiner <steiner@sgi.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:27:14 -08:00
Robin Holt
0bbe1f679d UV - XPC: pass nasid instead of nid to gru_create_message_queue
commit 57e6d258b1 upstream.

Currently, the UV xpc code is passing nid to the gru_create_message_queue
instead of nasid as it expects.

Signed-off-by: Robin Holt <holt@sgi.com>
Signed-off-by: Jack Steiner <steiner@sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:27:14 -08:00
Eric Dumazet
0bf178002c net sched: fix some kernel memory leaks
commit 1c40be12f7 upstream.

We leak at least 32bits of kernel memory to user land in tc dump,
because we dont init all fields (capab ?) of the dumped structure.

Use C99 initializers so that holes and non explicit fields are zeroed.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: dann frazier <dannf@debian.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:27:14 -08:00
Changli Gao
4882e6cb83 act_nat: use stack variable
commit 504f85c9d0 upstream.

act_nat: use stack variable

structure tc_nat isn't too big for stack, so we can put it in stack.

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Cc: dann frazier <dannf@debian.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:27:13 -08:00
Heiko Carstens
2418be1650 nmi: fix clock comparator revalidation
commit e8129c6421 upstream.

On each machine check all registers are revalidated. The save area for
the clock comparator however only contains the upper most seven bytes
of the former contents, if valid.
Therefore the machine check handler uses a store clock instruction to
get the current time and writes that to the clock comparator register
which in turn will generate an immediate timer interrupt.
However within the lowcore the expected time of the next timer
interrupt is stored. If the interrupt happens before that time the
handler won't be called. In turn the clock comparator won't be
reprogrammed and therefore the interrupt condition stays pending which
causes an interrupt loop until the expected time is reached.

On NOHZ machines this can result in unresponsive machines since the
time of the next expected interrupted can be a couple of days in the
future.

To fix this just revalidate the clock comparator register with the
expected value.
In addition the special handling for udelay must be changed as well.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:27:13 -08:00
David S. Miller
f342cb14f5 net: Limit socket I/O iovec total length to INT_MAX.
commit 8acfe468b0 upstream.

This helps protect us from overflow issues down in the
individual protocol sendmsg/recvmsg handlers.  Once
we hit INT_MAX we truncate out the rest of the iovec
by setting the iov_len members to zero.

This works because:

1) For SOCK_STREAM and SOCK_SEQPACKET sockets, partial
   writes are allowed and the application will just continue
   with another write to send the rest of the data.

2) For datagram oriented sockets, where there must be a
   one-to-one correspondance between write() calls and
   packets on the wire, INT_MAX is going to be far larger
   than the packet size limit the protocol is going to
   check for and signal with -EMSGSIZE.

Based upon a patch by Linus Torvalds.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:27:13 -08:00
Linus Torvalds
3543e68e10 net: Truncate recvfrom and sendto length to INT_MAX.
commit 253eacc070 upstream.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:27:12 -08:00
Dan Rosenberg
0dd472b3a5 rds: Integer overflow in RDS cmsg handling
commit 218854af84 upstream.

In rds_cmsg_rdma_args(), the user-provided args->nr_local value is
restricted to less than UINT_MAX.  This seems to need a tighter upper
bound, since the calculation of total iov_size can overflow, resulting
in a small sock_kmalloc() allocation.  This would probably just result
in walking off the heap and crashing when calling rds_rdma_pages() with
a high count value.  If it somehow doesn't crash here, then memory
corruption could occur soon after.

Signed-off-by: Dan Rosenberg <drosenberg@vsecurity.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:27:12 -08:00
Phil Blundell
667b9703cf econet: fix CVE-2010-3850
commit 16c41745c7 upstream.

Add missing check for capable(CAP_NET_ADMIN) in SIOCSIFADDR operation.

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:27:12 -08:00
Phil Blundell
72013721bd econet: disallow NULL remote addr for sendmsg(), fixes CVE-2010-3849
commit fa0e846494 upstream.

Later parts of econet_sendmsg() rely on saddr != NULL, so return early
with EINVAL if NULL was passed otherwise an oops may occur.

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:27:12 -08:00
H. Peter Anvin
04c54f3ac5 x86-32: Fix dummy trampoline-related inline stubs
commit 8848a91068 upstream.

Fix dummy inline stubs for trampoline-related functions when no
trampolines exist (until we get rid of the no-trampoline case
entirely.)

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: Joerg Roedel <joerg.roedel@amd.com>
Cc: Borislav Petkov <borislav.petkov@amd.com>
LKML-Reference: <4C6C294D.3030404@zytor.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:27:11 -08:00
Hugh Dickins
af2d6dceea x86, mm: Fix CONFIG_VMSPLIT_1G and 2G_OPT trampoline
commit b7d4608977 upstream.

rc2 kernel crashes when booting second cpu on this CONFIG_VMSPLIT_2G_OPT
laptop: whereas cloning from kernel to low mappings pgd range does need
to limit by both KERNEL_PGD_PTRS and KERNEL_PGD_BOUNDARY, cloning kernel
pgd range itself must not be limited by the smaller KERNEL_PGD_BOUNDARY.

Signed-off-by: Hugh Dickins <hughd@google.com>
LKML-Reference: <alpine.LSU.2.00.1008242235120.2515@sister.anvils>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:27:11 -08:00
Joerg Roedel
6faa675c82 x86-32: Separate 1:1 pagetables from swapper_pg_dir
commit fd89a13792 upstream.

This patch fixes machine crashes which occur when heavily exercising the
CPU hotplug codepaths on a 32-bit kernel. These crashes are caused by
AMD Erratum 383 and result in a fatal machine check exception. Here's
the scenario:

1. On 32-bit, the swapper_pg_dir page table is used as the initial page
table for booting a secondary CPU.

2. To make this work, swapper_pg_dir needs a direct mapping of physical
memory in it (the low mappings). By adding those low, large page (2M)
mappings (PAE kernel), we create the necessary conditions for Erratum
383 to occur.

3. Other CPUs which do not participate in the off- and onlining game may
use swapper_pg_dir while the low mappings are present (when leave_mm is
called). For all steps below, the CPU referred to is a CPU that is using
swapper_pg_dir, and not the CPU which is being onlined.

4. The presence of the low mappings in swapper_pg_dir can result
in TLB entries for addresses below __PAGE_OFFSET to be established
speculatively. These TLB entries are marked global and large.

5. When the CPU with such TLB entry switches to another page table, this
TLB entry remains because it is global.

6. The process then generates an access to an address covered by the
above TLB entry but there is a permission mismatch - the TLB entry
covers a large global page not accessible to userspace.

7. Due to this permission mismatch a new 4kb, user TLB entry gets
established. Further, Erratum 383 provides for a small window of time
where both TLB entries are present. This results in an uncorrectable
machine check exception signalling a TLB multimatch which panics the
machine.

There are two ways to fix this issue:

        1. Always do a global TLB flush when a new cr3 is loaded and the
        old page table was swapper_pg_dir. I consider this a hack hard
        to understand and with performance implications

        2. Do not use swapper_pg_dir to boot secondary CPUs like 64-bit
        does.

This patch implements solution 2. It introduces a trampoline_pg_dir
which has the same layout as swapper_pg_dir with low_mappings. This page
table is used as the initial page table of the booting CPU. Later in the
bringup process, it switches to swapper_pg_dir and does a global TLB
flush. This fixes the crashes in our test cases.

-v2: switch to swapper_pg_dir right after entering start_secondary() so
that we are able to access percpu data which might not be mapped in the
trampoline page table.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
LKML-Reference: <20100816123833.GB28147@aftab>
Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:27:11 -08:00