tmp_suning_uos_patched/arch/arm/mm
Russell King b255188f90 ARM: fix scheduling while atomic warning in alignment handling code
Paolo Pisati reports that IPv6 triggers this warning:

BUG: scheduling while atomic: swapper/0/0/0x40000100
Modules linked in:
[<c001b1c4>] (unwind_backtrace+0x0/0xf0) from [<c0503c5c>] (__schedule_bug+0x48/0x5c)
[<c0503c5c>] (__schedule_bug+0x48/0x5c) from [<c0508608>] (__schedule+0x700/0x740)
[<c0508608>] (__schedule+0x700/0x740) from [<c007007c>] (__cond_resched+0x24/0x34)
[<c007007c>] (__cond_resched+0x24/0x34) from [<c05086dc>] (_cond_resched+0x3c/0x44)
[<c05086dc>] (_cond_resched+0x3c/0x44) from [<c0021f6c>] (do_alignment+0x178/0x78c)
[<c0021f6c>] (do_alignment+0x178/0x78c) from [<c00083e0>] (do_DataAbort+0x34/0x98)
[<c00083e0>] (do_DataAbort+0x34/0x98) from [<c0509a60>] (__dabt_svc+0x40/0x60)
Exception stack(0xc0763d70 to 0xc0763db8)
3d60:                                     e97e805e e97e806e 2c000000 11000000
3d80: ea86bb00 0000002c 00000011 e97e807e c076d2a8 e97e805e e97e806e 0000002c
3da0: 3d000000 c0763dbc c04b98fc c02a8490 00000113 ffffffff
[<c0509a60>] (__dabt_svc+0x40/0x60) from [<c02a8490>] (__csum_ipv6_magic+0x8/0xc8)

Fix this by using probe_kernel_address() stead of __get_user().

Cc: <stable@vger.kernel.org>
Reported-by: Paolo Pisati <p.pisati@gmail.com>
Tested-by: Paolo Pisati <p.pisati@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-02-25 16:10:42 +00:00
..
abort-ev4.S
abort-ev4t.S
abort-ev5t.S
abort-ev5tj.S
abort-ev6.S ARM: 7396/1: errata: only handle ARM erratum #326103 on affected cores 2012-04-23 14:21:52 +01:00
abort-ev7.S
abort-lv4t.S
abort-macro.S
abort-nommu.S
alignment.c ARM: fix scheduling while atomic warning in alignment handling code 2013-02-25 16:10:42 +00:00
cache-aurora-l2.h ARM: 7547/4: cache-l2x0: add support for Aurora L2 cache ctrl 2012-11-06 19:47:35 +00:00
cache-fa.S ARM: mm: implement LoUIS API for cache maintenance ops 2012-09-25 11:20:25 +01:00
cache-feroceon-l2.c ARM: move CP15 definitions to separate header file 2012-03-28 18:30:01 +01:00
cache-l2x0.c ARM: 7616/1: cache-l2x0: aurora: Use writel_relaxed instead of writel 2013-01-07 15:04:17 +00:00
cache-tauros2.c ARM: cache: add dt support for tauros2 cache 2012-08-16 16:16:50 +08:00
cache-v3.S ARM: mm: implement LoUIS API for cache maintenance ops 2012-09-25 11:20:25 +01:00
cache-v4.S ARM: mm: implement LoUIS API for cache maintenance ops 2012-09-25 11:20:25 +01:00
cache-v4wb.S ARM: mm: implement LoUIS API for cache maintenance ops 2012-09-25 11:20:25 +01:00
cache-v4wt.S ARM: mm: implement LoUIS API for cache maintenance ops 2012-09-25 11:20:25 +01:00
cache-v6.S ARM: mm: implement LoUIS API for cache maintenance ops 2012-09-25 11:20:25 +01:00
cache-v7.S ARM: 7606/1: cache: flush to LoUU instead of LoUIS on uniprocessor CPUs 2012-12-20 10:41:56 +00:00
cache-xsc3l2.c ARM: move CP15 definitions to separate header file 2012-03-28 18:30:01 +01:00
context.c ARM: 7582/2: rename kvm_seq to vmalloc_seq so to avoid confusion with KVM 2012-11-26 12:23:53 +00:00
copypage-fa.c
copypage-feroceon.c
copypage-v4mc.c Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-03-29 16:53:48 -07:00
copypage-v4wb.c
copypage-v4wt.c
copypage-v6.c Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-03-29 16:53:48 -07:00
copypage-xsc3.c
copypage-xscale.c Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-03-29 16:53:48 -07:00
dma-mapping.c ARM: DMA mapping: fix bad atomic test 2013-02-08 10:25:23 +00:00
extable.c
fault-armv.c mm: replace vma prio_tree with an interval tree 2012-10-09 16:22:39 +09:00
fault.c readahead: fault retry breaks mmap file read random detection 2012-10-09 16:22:47 +09:00
fault.h
flush.c mm: replace vma prio_tree with an interval tree 2012-10-09 16:22:39 +09:00
fsr-2level.c
fsr-3level.c
highmem.c Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-03-29 16:53:48 -07:00
idmap.c ARM: 7573/1: idmap: use flush_cache_louis() and flush TLBs only when necessary 2012-11-13 11:47:41 +00:00
init.c ARM: Allow arm_memblock_steal() to remove memory from any RAM region 2012-08-13 00:22:28 +01:00
iomap.c
ioremap.c ARM: 7582/2: rename kvm_seq to vmalloc_seq so to avoid confusion with KVM 2012-11-26 12:23:53 +00:00
Kconfig arm: mm: Add support for PJ4B cpu and init routines 2012-11-21 16:49:38 +01:00
Makefile ARM: Remove support for ARMv3 ARM610 and ARM710 CPUs 2012-05-05 05:50:50 +01:00
mm.h ARM: Fix ioremap() of address zero 2012-08-25 09:11:40 +01:00
mmap.c Merge branch 'akpm' (Andrew's patchbomb) 2012-12-11 18:05:37 -08:00
mmu.c ARM: 7629/1: mm: Fix missing XN flag for for MT_MEMORY_SO 2013-01-19 11:41:25 +00:00
nommu.c ARM: 7383/1: nommu: populate vectors page from paging_init 2012-04-13 14:05:42 +01:00
pabort-legacy.S
pabort-v6.S
pabort-v7.S
pgd.c ARM: move CP15 definitions to separate header file 2012-03-28 18:30:01 +01:00
proc-arm7tdmi.S
proc-arm9tdmi.S
proc-arm720.S
proc-arm740.S
proc-arm920.S ARM: mm: implement LoUIS API for cache maintenance ops 2012-09-25 11:20:25 +01:00
proc-arm922.S ARM: mm: implement LoUIS API for cache maintenance ops 2012-09-25 11:20:25 +01:00
proc-arm925.S ARM: mm: implement LoUIS API for cache maintenance ops 2012-09-25 11:20:25 +01:00
proc-arm926.S ARM: mm: implement LoUIS API for cache maintenance ops 2012-09-25 11:20:25 +01:00
proc-arm940.S ARM: mm: implement LoUIS API for cache maintenance ops 2012-09-25 11:20:25 +01:00
proc-arm946.S ARM: mm: implement LoUIS API for cache maintenance ops 2012-09-25 11:20:25 +01:00
proc-arm1020.S ARM: mm: implement LoUIS API for cache maintenance ops 2012-09-25 11:20:25 +01:00
proc-arm1020e.S ARM: mm: implement LoUIS API for cache maintenance ops 2012-09-25 11:20:25 +01:00
proc-arm1022.S ARM: mm: implement LoUIS API for cache maintenance ops 2012-09-25 11:20:25 +01:00
proc-arm1026.S ARM: mm: implement LoUIS API for cache maintenance ops 2012-09-25 11:20:25 +01:00
proc-fa526.S Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
proc-feroceon.S ARM: 7542/1: mm: fix cache LoUIS API for xscale and feroceon 2012-09-28 21:09:50 +01:00
proc-macros.S ARM: mm: introduce present, faulting entries for PAGE_NONE 2012-11-09 14:13:20 +00:00
proc-mohawk.S ARM: mm: implement LoUIS API for cache maintenance ops 2012-09-25 11:20:25 +01:00
proc-sa110.S
proc-sa1100.S
proc-syms.c
proc-v6.S ARM: 7572/1: proc-v6.S: fix comment 2012-11-12 10:01:12 +00:00
proc-v7-2level.S ARM: mm: introduce present, faulting entries for PAGE_NONE 2012-11-09 14:13:20 +00:00
proc-v7-3level.S ARM: mm: introduce present, faulting entries for PAGE_NONE 2012-11-09 14:13:20 +00:00
proc-v7.S ARM: 7614/1: mm: fix wrong branch from Cortex-A9 to PJ4b 2013-01-06 17:54:08 +00:00
proc-xsc3.S ARM: mm: implement LoUIS API for cache maintenance ops 2012-09-25 11:20:25 +01:00
proc-xscale.S ARM: 7542/1: mm: fix cache LoUIS API for xscale and feroceon 2012-09-28 21:09:50 +01:00
tlb-fa.S
tlb-v4.S
tlb-v4wb.S
tlb-v4wbi.S
tlb-v6.S
tlb-v7.S ARM: 7489/1: errata: fix workaround for erratum #720789 on UP systems 2012-08-11 09:16:00 +01:00
vmregion.c
vmregion.h ARM: mm: Remove unused arm_vmregion priv field 2012-10-24 07:38:15 +02:00