summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2015-02-03ARM: DRA7: dts: Add coprocessor nodes for ivaRavikumar Kattekola
Add coprocessor nodes for IVAHD. Set initial OPP to OPP_HIGH. Change-Id: I440ac9ae0fd44d8ba8d6d204d036c6d418aeeba4 Signed-off-by: Ravikumar Kattekola <rk@ti.com>
2015-02-02Merge branch 'p-ti-linux-3.14.y-common/audio-for-next' of ↵Praneeth Bajjuri
git://git.ti.com/android-sdk/kernel-audio into p-ti-linux-3.14.y-common * 'p-ti-linux-3.14.y-common/audio-for-next' of git://git.ti.com/android-sdk/kernel-audio: ARM: dts: dra72-evm: Add reserved memory node for radio ARM: dts: dra7-evm: Add reserved memory node for radio Change-Id: Iedddbcbf1881681a272e48c7ba27dd322d79cb1d Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
2015-02-02Merge branch 'ti-linux-3.14.y' into p-ti-linux-3.14.y-commonAnand Balagopalakrishnan
2015-01-30arm/dts: am57xx-evm: Add LCD supportTomi Valkeinen
Add LCD support to am57xx-evm.dts. The LCD is OSD Displays OSD070T1718-19TS, a 800x480 panel with touch screen. This patch does not add the touch screen part, only display. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by: Jyri Sarha <jsarha@ti.com>
2015-01-30arm/dts: dra7xx: fix display compatible stringsTomi Valkeinen
The display nodes are not supposed to have 'omapdss,' prefix. Remove them. This has not caused any problems, as the dss driver prefixes the compatible string dynamically with 'omapdss,', so in this case the prefixing was done manually in the .dts file, instead of by the dss driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Tested-by: Nishanth Menon <nm@ti.com> Signed-off-by: Jyri Sarha <jsarha@ti.com>
2015-01-29Merge tag 'v3.14.31' of ↵Texas Instruments Auto Merger
http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable into ti-linux-3.14.y This is the 3.14.31 stable release * tag 'v3.14.31' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable: (77 commits) Linux 3.14.31 md/raid5: fetch_block must fetch all the blocks handle_stripe_dirtying wants. mm: get rid of radix tree gfp mask for pagecache_get_page mm: page_alloc: reduce cost of the fair zone allocation policy mm: page_alloc: abort fair zone allocation policy when remotes nodes are encountered mm: vmscan: only update per-cpu thresholds for online CPU mm: move zone->pages_scanned into a vmstat counter mm: rearrange zone fields into read-only, page alloc, statistics and page reclaim lines mm: pagemap: avoid unnecessary overhead when tracepoints are deactivated memcg, vmscan: Fix forced scan of anonymous pages vmalloc: use rcu list iterator to reduce vmap_area_lock contention mm: make copy_pte_range static again mm, thp: only collapse hugepages to nodes with affinity for zone_reclaim_mode mm/memory.c: use entry = ACCESS_ONCE(*pte) in handle_pte_fault() shmem: fix init_page_accessed use to stop !PageLRU bug mm: avoid unnecessary atomic operations during end_page_writeback() mm: non-atomically mark page accessed during page cache allocation where possible fs: buffer: do not use unnecessary atomic operations when discarding buffers mm: do not use unnecessary atomic operations when adding pages to the LRU mm: do not use atomic operations when releasing pages ... Signed-off-by: Texas Instruments Auto Merger <lcpd_integration@list.ti.com>
2015-01-29mm: page_alloc: convert hot/cold parameter and immediate callers to boolMel Gorman
commit b745bc85f21ea707e4ea1a91948055fa3e72c77b upstream. cold is a bool, make it one. Make the likely case the "if" part of the block instead of the else as according to the optimisation manual this is preferred. Signed-off-by: Mel Gorman <mgorman@suse.de> Acked-by: Rik van Riel <riel@redhat.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Vlastimil Babka <vbabka@suse.cz> Cc: Jan Kara <jack@suse.cz> Cc: Michal Hocko <mhocko@suse.cz> Cc: Hugh Dickins <hughd@google.com> Cc: Dave Hansen <dave.hansen@intel.com> Cc: Theodore Ts'o <tytso@mit.edu> Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Mel Gorman <mgorman@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-29ARC: Fix build breakage for !CONFIG_ARC_DW2_UNWINDVineet Gupta
commit ba25915fb2cd18152cb14b144dbe8bf2f2bd8e45 upstream. Fixes: ec7ac6afd07b (ARC: switch to generic ENTRY/END assembler annotations) Reported-by: Anton Kolesov <akolesov@synopsys.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-29ARC: Delete stale barrier.hVineet Gupta
commit 64ee9f32c33cbd53545284742e73c17fedf9d429 upstream. Commit 93ea02bb8435 ("arch: Clean up asm/barrier.h implementations") wired generic barrier.h for ARC, but failed to delete the existing file. In 3.15, due to rcupdate.h updates, this causes a build breakage on ARC: CC arch/arc/kernel/asm-offsets.s In file included from include/linux/sched.h:45:0, from arch/arc/kernel/asm-offsets.c:9: include/linux/rculist.h: In function __list_add_rcu: include/linux/rculist.h:54:2: error: implicit declaration of function smp_store_release [-Werror=implicit-function-declaration] rcu_assign_pointer(list_next_rcu(prev), new); ^ Cc: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-29crypto: add missing crypto module aliasesMathias Krause
commit 3e14dcf7cb80b34a1f38b55bc96f02d23fdaaaaf upstream. Commit 5d26a105b5a7 ("crypto: prefix module autoloading with "crypto-"") changed the automatic module loading when requesting crypto algorithms to prefix all module requests with "crypto-". This requires all crypto modules to have a crypto specific module alias even if their file name would otherwise match the requested crypto algorithm. Even though commit 5d26a105b5a7 added those aliases for a vast amount of modules, it was missing a few. Add the required MODULE_ALIAS_CRYPTO annotations to those files to make them get loaded automatically, again. This fixes, e.g., requesting 'ecb(blowfish-generic)', which used to work with kernels v3.18 and below. Also change MODULE_ALIAS() lines to MODULE_ALIAS_CRYPTO(). The former won't work for crypto modules any more. Fixes: 5d26a105b5a7 ("crypto: prefix module autoloading with "crypto-"") Cc: Kees Cook <keescook@chromium.org> Signed-off-by: Mathias Krause <minipli@googlemail.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-29crypto: include crypto- module prefix in templateKees Cook
commit 4943ba16bbc2db05115707b3ff7b4874e9e3c560 upstream. This adds the module loading prefix "crypto-" to the template lookup as well. For example, attempting to load 'vfat(blowfish)' via AF_ALG now correctly includes the "crypto-" prefix at every level, correctly rejecting "vfat": net-pf-38 algif-hash crypto-vfat(blowfish) crypto-vfat(blowfish)-all crypto-vfat Reported-by: Mathias Krause <minipli@googlemail.com> Signed-off-by: Kees Cook <keescook@chromium.org> Acked-by: Mathias Krause <minipli@googlemail.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-29crypto: prefix module autoloading with "crypto-"Kees Cook
commit 5d26a105b5a73e5635eae0629b42fa0a90e07b7b upstream. This prefixes all crypto module loading with "crypto-" so we never run the risk of exposing module auto-loading to userspace via a crypto API, as demonstrated by Mathias Krause: https://lkml.org/lkml/2013/3/4/70 Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-29x86/asm/traps: Disable tracing and kprobes in fixup_bad_iret and sync_regsAndy Lutomirski
commit 7ddc6a2199f1da405a2fb68c40db8899b1a8cd87 upstream. These functions can be executed on the int3 stack, so kprobes are dangerous. Tracing is probably a bad idea, too. Fixes: b645af2d5905 ("x86_64, traps: Rework bad_iret") Signed-off-by: Andy Lutomirski <luto@amacapital.net> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Steven Rostedt <rostedt@goodmis.org> Link: http://lkml.kernel.org/r/50e33d26adca60816f3ba968875801652507d0c4.1416870125.git.luto@amacapital.net Signed-off-by: Ingo Molnar <mingo@kernel.org> [bwh: Backported to 3.10: - Use __kprobes instead of NOKPROBE_SYMBOL() - Adjust context] Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-29x86/apic: Re-enable PCI_MSI support for non-SMP X86_32Bryan O'Donoghue
commit 38a1dfda8e77d7ba74c94d06d8bc41ba98a4bc8c upstream. Commit 0dbc6078c06bc0 ('x86, build, pci: Fix PCI_MSI build on !SMP') introduced the dependency that X86_UP_APIC is only available when PCI_MSI is false. This effectively prevents PCI_MSI support on 32bit UP systems because it disables both APIC and IO-APIC. But APIC support is architecturally required for PCI_MSI. The intention of the patch was to enforce APIC support when PCI_MSI is enabled, but failed to do so. Remove the !PCI_MSI dependency from X86_UP_APIC and enforce X86_UP_APIC when PCI_MSI support is enabled on 32bit UP systems. [ tglx: Massaged changelog ] Fixes 0dbc6078c06bc0 'x86, build, pci: Fix PCI_MSI build on !SMP' Signed-off-by: Bryan O'Donoghue <pure.logic@nexus-software.ie> Suggested-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Link: http://lkml.kernel.org/r/1421967529-9037-1-git-send-email-pure.logic@nexus-software.ie Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-29x86, tls: Interpret an all-zero struct user_desc as "no segment"Andy Lutomirski
commit 3669ef9fa7d35f573ec9c0e0341b29251c2734a7 upstream. The Witcher 2 did something like this to allocate a TLS segment index: struct user_desc u_info; bzero(&u_info, sizeof(u_info)); u_info.entry_number = (uint32_t)-1; syscall(SYS_set_thread_area, &u_info); Strictly speaking, this code was never correct. It should have set read_exec_only and seg_not_present to 1 to indicate that it wanted to find a free slot without putting anything there, or it should have put something sensible in the TLS slot if it wanted to allocate a TLS entry for real. The actual effect of this code was to allocate a bogus segment that could be used to exploit espfix. The set_thread_area hardening patches changed the behavior, causing set_thread_area to return -EINVAL and crashing the game. This changes set_thread_area to interpret this as a request to find a free slot and to leave it empty, which isn't *quite* what the game expects but should be close enough to keep it working. In particular, using the code above to allocate two segments will allocate the same segment both times. According to FrostbittenKing on Github, this fixes The Witcher 2. If this somehow still causes problems, we could instead allocate a limit==0 32-bit data segment, but that seems rather ugly to me. Fixes: 41bdc78544b8 x86/tls: Validate TLS entries to protect espfix Signed-off-by: Andy Lutomirski <luto@amacapital.net> Cc: torvalds@linux-foundation.org Link: http://lkml.kernel.org/r/0cb251abe1ff0958b8e468a9a9a905b80ae3a746.1421954363.git.luto@amacapital.net Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-29x86, tls, ldt: Stop checking lm in LDT_emptyAndy Lutomirski
commit e30ab185c490e9a9381385529e0fd32f0a399495 upstream. 32-bit programs don't have an lm bit in their ABI, so they can't reliably cause LDT_empty to return true without resorting to memset. They shouldn't need to do this. This should fix a longstanding, if minor, issue in all 64-bit kernels as well as a potential regression in the TLS hardening code. Fixes: 41bdc78544b8 x86/tls: Validate TLS entries to protect espfix Signed-off-by: Andy Lutomirski <luto@amacapital.net> Cc: torvalds@linux-foundation.org Link: http://lkml.kernel.org/r/72a059de55e86ad5e2935c80aa91880ddf19d07c.1421954363.git.luto@amacapital.net Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-29x86, boot: Skip relocs when load address unchangedKees Cook
commit f285f4a21c3253887caceed493089ece17579d59 upstream. On 64-bit, relocation is not required unless the load address gets changed. Without this, relocations do unexpected things when the kernel is above 4G. Reported-by: Baoquan He <bhe@redhat.com> Signed-off-by: Kees Cook <keescook@chromium.org> Tested-by: Thomas D. <whissi@whissi.de> Cc: Vivek Goyal <vgoyal@redhat.com> Cc: Jan Beulich <JBeulich@suse.com> Cc: Junjie Mao <eternal.n08@gmail.com> Cc: Andi Kleen <ak@linux.intel.com> Link: http://lkml.kernel.org/r/20150116005146.GA4212@www.outflux.net Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-29x86/tsc: Change Fast TSC calibration failed from error to infoAlexandre Demers
commit 520452172e6b318f3a8bd9d4fe1e25066393de25 upstream. Many users see this message when booting without knowning that it is of no importance and that TSC calibration may have succeeded by another way. As explained by Paul Bolle in http://lkml.kernel.org/r/1348488259.1436.22.camel@x61.thuisdomein "Fast TSC calibration failed" should not be considered as an error since other calibration methods are being tried afterward. At most, those send a warning if they fail (not an error). So let's change the message from error to warning. [ tglx: Make if pr_info. It's really not important at all ] Fixes: c767a54ba065 x86/debug: Add KERN_<LEVEL> to bare printks, convert printks to pr_<level> Signed-off-by: Alexandre Demers <alexandre.f.demers@gmail.com> Link: http://lkml.kernel.org/r/1418106470-6906-1-git-send-email-alexandre.f.demers@gmail.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-29x86, hyperv: Mark the Hyper-V clocksource as being continuousK. Y. Srinivasan
commit 32c6590d126836a062b3140ed52d898507987017 upstream. The Hyper-V clocksource is continuous; mark it accordingly. Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Acked-by: jasowang@redhat.com Cc: gregkh@linuxfoundation.org Cc: devel@linuxdriverproject.org Cc: olaf@aepfle.de Cc: apw@canonical.com Link: http://lkml.kernel.org/r/1421108762-3331-1-git-send-email-kys@microsoft.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-29ARM: dts: imx25: Fix PWM "per" clocksFabio Estevam
commit 7ecd0bde5bfea524a843ad8fa8cb66ccbce68779 upstream. Currently PWM functionality is broken on mx25 due to the wrong assignment of the PWM "per" clock. According to Documentation/devicetree/bindings/clock/imx25-clock.txt: pwm_ipg_per 52 ,so update the pwm "per" to use 'pwm_ipg_per' instead of 'per10' clock. With this change PWM can work fine on mx25. Reported-by: Carlos Soto <csotoalonso@gmail.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-29Merge branch 'platform-ti-linux-3.14.y' of ↵Dan Murphy
git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree into ti-linux-3.14.y TI-Feature: platform_base TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git TI-Branch: platform-ti-linux-3.14.y * 'platform-ti-linux-3.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree: ti_config_fragments/baseport.cfg: Add IOdelay configuration driver ARM: dts: dra7: Add iodelay module pinctrl: Introduce TI IOdelay configuration driver pinctrl: bindings: pinctrl: Add support for TI's IODelay configuration pinctrl: dra: dt-bindings: Add virtual mode configuration option Conflicts: include/dt-bindings/pinctrl/dra.h Signed-off-by: Dan Murphy <DMurphy@ti.com>
2015-01-29ARM: dts: dra7: Add iodelay moduleNishanth Menon
Add the IODelay module configuration support for DRA74x/DRA72x/AM57xx family of devices Signed-off-by: Nishanth Menon <nm@ti.com>
2015-01-28Merge branch 'ti-linux-3.14.y' of ↵Praneeth Bajjuri
git://git.ti.com/ti-linux-kernel/ti-linux-kernel into p-ti-linux-3.14.y-common * 'ti-linux-3.14.y' of git://git.ti.com/ti-linux-kernel/ti-linux-kernel: (104 commits) ARM: OMAP5: dts: Fix the bypass clock source for dpll_iva and others Linux 3.14.30 s390/3215: fix tty output containing tabs s390/3215: fix hanging console issue fsnotify: next_i is freed during fsnotify_unmount_inodes. net: fix creation adjacent device symlinks net: prevent of emerging cross-namespace symlinks netfilter: ipset: small potential read beyond the end of buffer KVM: nVMX: Disable unrestricted mode if ept=0 bcache: Make sure to pass GFP_WAIT to mempool_alloc() iser-target: Fix implicit termination of connections iser-target: Handle ADDR_CHANGE event for listener cm_id iser-target: Fix connected_handler + teardown flow race iser-target: Parallelize CM connection establishment iser-target: Fix flush + disconnect completion handling iscsi,iser-target: Initiate termination only once vhost-scsi: Add missing virtio-scsi -> TCM attribute conversion tcm_loop: Fix wrong I_T nexus association tcm_loop: Fixup tag handling LOCKD: Fix a race when initialising nlmsvc_timeout ... Change-Id: Ib7af8f9eab579c8fbb669f10fb7e8dbf32aa5767 Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
2015-01-28Merge branch 'platform-ti-linux-3.14.y' of ↵Dan Murphy
git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree into ti-linux-3.14.y TI-Feature: platform_base TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git TI-Branch: platform-ti-linux-3.14.y * 'platform-ti-linux-3.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree: ARM: OMAP5: dts: Fix the bypass clock source for dpll_iva and others ARM: OMAP5: Clock: Fix dpll rate calculation in bypass mode ARM: DRA7x: dts: Fix the bypass clock source for dpll_iva and others ARM: DRA7x: Clock: Fix dpll rate calculation in bypass mode ARM: OMAP2+: hwmod: Use spin_lock_irqsave_nested() for locking ARM: dts: am57xx-evm: Introduce initial support Conflicts: arch/arm/boot/dts/Makefile Signed-off-by: Dan Murphy <DMurphy@ti.com>
2015-01-28ARM: OMAP5: dts: Fix the bypass clock source for dpll_iva and othersRavikumar Kattekola
On OMAP54xx, For DPLL_IVA, the ref clock(CLKINP) is connected to sys_clk1 and the bypass input(CLKINPULOW) is connected to iva_dpll_hs_clk_div clock. But the bypass input is not directly routed to bypass clkout instead both CLKINP and CLKINPULOW are connected to bypass clkout via a mux. This mux is controlled by the bit - CM_CLKSEL_DPLL_IVA[23]:DPLL_BYP_CLKSEL and it's POR value is zero which selects the CLKINP as bypass clkout. which means iva_dpll_hs_clk_div is not the bypass clock for dpll_iva_ck Fix this by adding another mux clock as parent in bypass mode. This design is common to most of the PLLs and the rest have only one bypass clock. Below is a list of the DPLLs that need this fix: DPLL_IVA, DPLL_PER, DPLL_USB and DPLL_CORE Fixes: 85dc74e9 ("ARM: dts: omap5 clock data") Signed-off-by: Ravikumar Kattekola <rk@ti.com>
2015-01-27Merge tag 'v3.14.30' of ↵Dan Murphy
http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable into ti-linux-3.14.y This is the 3.14.30 stable release * tag 'v3.14.30' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable: (98 commits) Linux 3.14.30 s390/3215: fix tty output containing tabs s390/3215: fix hanging console issue fsnotify: next_i is freed during fsnotify_unmount_inodes. net: fix creation adjacent device symlinks net: prevent of emerging cross-namespace symlinks netfilter: ipset: small potential read beyond the end of buffer KVM: nVMX: Disable unrestricted mode if ept=0 bcache: Make sure to pass GFP_WAIT to mempool_alloc() iser-target: Fix implicit termination of connections iser-target: Handle ADDR_CHANGE event for listener cm_id iser-target: Fix connected_handler + teardown flow race iser-target: Parallelize CM connection establishment iser-target: Fix flush + disconnect completion handling iscsi,iser-target: Initiate termination only once vhost-scsi: Add missing virtio-scsi -> TCM attribute conversion tcm_loop: Fix wrong I_T nexus association tcm_loop: Fixup tag handling LOCKD: Fix a race when initialising nlmsvc_timeout x86, um: actually mark system call tables readonly ... Conflicts: drivers/net/ethernet/ti/cpsw.c Signed-off-by: Dan Murphy <DMurphy@ti.com>
2015-01-27KVM: nVMX: Disable unrestricted mode if ept=0Bandan Das
commit 78051e3b7e35722ad3f31dd611f1b34770bddab8 upstream. If L0 has disabled EPT, don't advertise unrestricted mode at all since it depends on EPT to run real mode code. Fixes: 92fbc7b195b824e201d9f06f2b93105f72384d65 Reviewed-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Bandan Das <bsd@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-27x86, um: actually mark system call tables readonlyDaniel Borkmann
commit b485342bd79af363c77ef1a421c4a0aef2de9812 upstream. Commit a074335a370e ("x86, um: Mark system call tables readonly") was supposed to mark the sys_call_table in UML as RO by adding the const, but it doesn't have the desired effect as it's nevertheless being placed into the data section since __cacheline_aligned enforces sys_call_table being placed into .data..cacheline_aligned instead. We need to use the ____cacheline_aligned version instead to fix this issue. Before: $ nm -v arch/x86/um/sys_call_table_64.o | grep -1 "sys_call_table" U sys_writev 0000000000000000 D sys_call_table 0000000000000000 D syscall_table_size After: $ nm -v arch/x86/um/sys_call_table_64.o | grep -1 "sys_call_table" U sys_writev 0000000000000000 R sys_call_table 0000000000000000 D syscall_table_size Fixes: a074335a370e ("x86, um: Mark system call tables readonly") Cc: H. Peter Anvin <hpa@zytor.com> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: Richard Weinberger <richard@nod.at> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-27um: Skip futex_atomic_cmpxchg_inatomic() testRichard Weinberger
commit f911d731054ab3d82ee72a16b889e17ca3a2332a upstream. futex_atomic_cmpxchg_inatomic() does not work on UML because it triggers a copy_from_user() in kernel context. On UML copy_from_user() can only be used if the kernel was called by a real user space process such that UML can use ptrace() to fetch the value. Reported-by: Miklos Szeredi <miklos@szeredi.hu> Suggested-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Richard Weinberger <richard@nod.at> Tested-by: Daniel Walter <d.walter@0x90.at> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-27ARM: shmobile: sh73a0 legacy: Set .control_parent for all irqpin instancesGeert Uytterhoeven
commit b0ddb319db3d7a1943445f0de0a45c07a7f3457a upstream. The sh73a0 INTC can't mask interrupts properly most likely due to a hardware bug. Set the .control_parent flag to delegate masking to the parent interrupt controller, like was already done for irqpin1. Without this, accessing the three-axis digital accelerometer ADXL345 on kzm9g through /dev/input/event1 causes an interrupt storm, which requires a power-cycle to recover from. This was inspired by a patch for arch/arm/boot/dts/sh73a0.dtsi from Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Fixes: 341eb5465f67437a ("ARM: shmobile: INTC External IRQ pin driver on sh73a0") Signed-off-by: Simon Horman <horms+renesas@verge.net.au> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-27ARM: omap5/dra7xx: Fix frequency typosLennart Sorensen
commit 572b24e6d85d98cdc552f07e9fb9870d9460d81b upstream. The switch statement of the possible list of SYSCLK1 frequencies is missing a 0 in 4 out of the 7 frequencies. Fixes: fa6d79d27614 ("ARM: OMAP: Add initialisation for the real-time counter") Signed-off-by: Len Sorensen <lsorense@csclub.uwaterloo.ca> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Acked-by: Nishanth Menon <nm@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-27ARM: clk-imx6q: fix video divider for rev T0 1.0Gary Bisson
commit 81ef447950bf0955aca46f4a7617d8ce435cf0ce upstream. The post dividers do not work on i.MX6Q rev T0 1.0 so they must be fixed to 1. As the table index was wrong, a divider a of 4 could still be requested which implied the clock not to be set properly. This is the root cause of the HDMI not working at high resolution on rev T0 1.0 of the SoC. Signed-off-by: Gary Bisson <bisson.gary@gmail.com> Cc: <stable@vger.kernel.org> Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-27ARM: imx6q: drop unnecessary semicolonDmitry Voytik
commit d2a10a1727b3948019128e83162f22c65859f1fd upstream. Drop unnecessary semicolon after closing curly bracket. Signed-off-by: Dmitry Voytik <voytikd@gmail.com> Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-27ARM: dts: imx25: Fix the SPI1 clocksFabio Estevam
commit 7a87e9cbc3a2f0ff0955815335e08c9862359130 upstream. From Documentation/devicetree/bindings/clock/imx25-clock.txt: cspi1_ipg 78 cspi2_ipg 79 cspi3_ipg 80 , so fix the SPI1 clocks accordingly to avoid a kernel hang when trying to access SPI1. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-27ftrace/jprobes/x86: Fix conflict between jprobes and function graph tracingSteven Rostedt (Red Hat)
commit 237d28db036e411f22c03cfd5b0f6dc2aa9bf3bc upstream. If the function graph tracer traces a jprobe callback, the system will crash. This can easily be demonstrated by compiling the jprobe sample module that is in the kernel tree, loading it and running the function graph tracer. # modprobe jprobe_example.ko # echo function_graph > /sys/kernel/debug/tracing/current_tracer # ls The first two commands end up in a nice crash after the first fork. (do_fork has a jprobe attached to it, so "ls" just triggers that fork) The problem is caused by the jprobe_return() that all jprobe callbacks must end with. The way jprobes works is that the function a jprobe is attached to has a breakpoint placed at the start of it (or it uses ftrace if fentry is supported). The breakpoint handler (or ftrace callback) will copy the stack frame and change the ip address to return to the jprobe handler instead of the function. The jprobe handler must end with jprobe_return() which swaps the stack and does an int3 (breakpoint). This breakpoint handler will then put back the saved stack frame, simulate the instruction at the beginning of the function it added a breakpoint to, and then continue on. For function tracing to work, it hijakes the return address from the stack frame, and replaces it with a hook function that will trace the end of the call. This hook function will restore the return address of the function call. If the function tracer traces the jprobe handler, the hook function for that handler will not be called, and its saved return address will be used for the next function. This will result in a kernel crash. To solve this, pause function tracing before the jprobe handler is called and unpause it before it returns back to the function it probed. Some other updates: Used a variable "saved_sp" to hold kcb->jprobe_saved_sp. This makes the code look a bit cleaner and easier to understand (various tries to fix this bug required this change). Note, if fentry is being used, jprobes will change the ip address before the function graph tracer runs and it will not be able to trace the function that the jprobe is probing. Link: http://lkml.kernel.org/r/20150114154329.552437962@goodmis.org Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-27parisc: fix out-of-register compiler error in ldcw inline assembler functionJohn David Anglin
commit 45db07382a5c78b0c43b3b0002b63757fb60e873 upstream. The __ldcw macro has a problem when its argument needs to be reloaded from memory. The output memory operand and the input register operand both need to be reloaded using a register in class R1_REGS when generating 64-bit code. This fails because there's only a single register in the class. Instead, use a memory clobber. This also makes the __ldcw macro a compiler memory barrier. Signed-off-by: John David Anglin <dave.anglin@bell.net> Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-27ARC: switch to generic ENTRY/END assembler annotationsVineet Gupta
commit ec7ac6afd07b2d958aab9dfc0a686300b856922a upstream. With commit 9df62f054406 "arch: use ASM_NL instead of ';'" the generic macros can handle the arch specific newline quirk. Hence we can get rid of ARC asm macros and use the "C" style macros. Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-27ARC: [nsimosci] move peripherals to match model to FPGAVineet Gupta
commit e8ef060b37c2d3cc5fd0c0edbe4e42ec1cb9768b upstream. This allows the sdplite/Zebu images to run on OSCI simulation platform Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-27ARM: OMAP5: Clock: Fix dpll rate calculation in bypass modeRavikumar Kattekola
On OMAP54xx, clk_get_rate() on a DPLL clk in kernel returns zero in bypass mode. This is because the condtional check for bypass mode in omap2_get_dpll_rate() is missing OMAP5x platform. Fix this by adding soc_is_omap54xx() to the check. While at it fix the omap2_init_dpll_parent() as well. The logic behind the check is On POR most of the DPLLs come in bypass mode, if a PLL is in bypass at kernel init, the code in omap2_get_dpll_rate() will not realize this and will try to calculate the clock rate using the multiplier and the divider, resulting in errors. Signed-off-by: Ravikumar Kattekola <rk@ti.com>
2015-01-27ARM: DRA7x: dts: Fix the bypass clock source for dpll_iva and othersRavikumar Kattekola
Fixes: ee6c750761 (ARM: dts: dra7 clock data) On DRA7x, For DPLL_IVA, the ref clock(CLKINP) is connected to sys_clk1 and the bypass input(CLKINPULOW) is connected to iva_dpll_hs_clk_div clock. But the bypass input is not directly routed to bypass clkout instead both CLKINP and CLKINPULOW are connected to bypass clkout via a mux. This mux is controlled by the bit - CM_CLKSEL_DPLL_IVA[23]:DPLL_BYP_CLKSEL and it's POR value is zero which selects the CLKINP as bypass clkout. which means iva_dpll_hs_clk_div is not the bypass clock for dpll_iva_ck Fix this by adding another mux clock as parent in bypass mode. This design is common to most of the PLLs and the rest have only one bypass clock. Below is a list of the DPLLs that need this fix: DPLL_IVA, DPLL_DDR, DPLL_DSP, DPLL_EVE, DPLL_GMAC, DPLL_PER, DPLL_USB and DPLL_CORE Signed-off-by: Ravikumar Kattekola <rk@ti.com>
2015-01-27ARM: DRA7x: Clock: Fix dpll rate calculation in bypass modeRavikumar Kattekola
On DRA7x, clk_get_rate() on a DPLL clk in kernel returns zero in bypass mode. This is because the condtional check for bypass mode in omap2_get_dpll_rate() is missing DRA7xx platform. Fix this by adding soc_is_dra7xx() to the check. While at it fix the omap2_init_dpll_parent() as well. The logic behind the check is On POR most of the DPLLs come in bypass mode, if a PLL is in bypass at kernel init, the code in omap2_get_dpll_rate() will not realize this and will try to calculate the clock rate using the multiplier and the divider, resulting in errors. Signed-off-by: Ravikumar Kattekola <rk@ti.com>
2015-01-27ARM: OMAP2+: hwmod: Use spin_lock_irqsave_nested() for lockingPeter Ujfalusi
Lockdep validator would warn us about possible deadlock situation when we execute code with hwmods nested. An example for this is on DRA7x platforms when McASP is configured to use ATL clock as functional clock. In this case the enable of McASP would trigger an enable for the ATL hwmod in nested fashion. To help the lockdep to not alert on this we should set unique subclass for each oh->_lock when we take them. We can cast the oh pointer as integer for this which will ensure that we have unique but not changing subclass per oh->_lock use. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
2015-01-27ARM: dts: am57xx-evm: Introduce initial supportNishanth Menon
"AM572x EVM" is AM57xx-beagle-x15 board + EVM board. Add a new .dts file for this. The EVM board contains: - OSD Displays OSD070T1718-19TS, a 800x480 panel with touch screen - Reset and power buttons - 5 GPIO based user buttons - mSATA connector - Mini PCIe connector - Camera connector This patch adds support only for the GPIO based user buttons. [tomi.valkeinen@ti.com: Initial template] Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Acked-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2015-01-26ARM: dts: dra72-evm: Add reserved memory node for radioSantosh Jha
The reserved memory node has been added for the DSP-based radio, which is used by the cmem driver. Change-Id: Id788c529dbc6cabce7d392640628a521d21c9db9 Signed-off-by: Santosh Jha <sjha@ti.com> Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
2015-01-26ARM: dts: dra7-evm: Add reserved memory node for radioSantosh Jha
The reserved memory node has been added for the DSP-based radio, which is used by the cmem driver. Change-Id: I9e0fc8c22ccbc4ab933ee5dcc0b271f706e8266d Signed-off-by: Santosh Jha <sjha@ti.com> Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
2015-01-23ARM: DTS: dra72-evm: Add radio entryMisael Lopez Cruz
Add the DT for the radio which uses a helper driver to get the resources needed by the DSP (mostly McASP2 and GPIO). There are two possibilities for radio rendering: * ARM rendering: Radio audio is sent to the ARM side and rendered through McASP3 * DSP rendering: The DSP side directly renders through McASP6. In this case, the ARM side only takes care of requesting the required PM resources for McASP6 Change-Id: Ie299be76f96d5232568fa8cec855b8a075e36ab1 Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
2015-01-23ARM: DTS: dra7-evm: Add radio entryMisael Lopez Cruz
Add the DT for the radio which uses a helper driver to get the resources needed by the DSP (mostly McASP2 and GPIO). There are two possibilities for radio rendering: * ARM rendering: Radio audio is sent to the ARM side and rendered through McASP3 * DSP rendering: The DSP side directly renders through McASP6. In this case, the ARM side only takes care of requesting the required PM resources for McASP6 Change-Id: I75cca3bb7cb0baf21be6ee349fc23f87ff2f634e Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
2015-01-23ARM: DTS: dra7: Add McASP2 and McASP6Misael Lopez Cruz
Add McASP2 and McASP6 device-tree entries. McASP2 is configured and used from the DSP side, except for the PM which is taken care on the MPU side. Change-Id: I9f468f5864f1816a7a298ad67c76d1347565fb87 Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
2015-01-23ARM: DRA7: hwmod: Add data for McASP2 and McASP6Misael Lopez Cruz
Add the hwmod data for McASP2 and McASP6. Change-Id: I8251333eb9277d96c0dce15c6ea24a872a497c39 Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
2015-01-23clk: ti: clk-7xx: ATL default freq to 11.2896MHzMisael Lopez Cruz
The McASP driver in the DSP expects the ATL frequency at 11.2896MHz. This frequency can be handled in the McASPs owned by the CPU through their internal clock dividers. Change-Id: I9ede81b9cb4078e4d8a9b8bd585f4bd1a54d52d3 Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>