Commits on Apr 24, 2014
  1. block: support volname for HTC devices with proc/emmc support

    Flemmard authored and mdmower committed Apr 21, 2014
    gets data from emmc_partitions and write it down on mmcblk0pX partitions
    this enables vold by-name mappings
    Change-Id: I4af7f34919ae1e94b960fcabfcfb70fe50825cf7
Commits on Jan 13, 2014
  1. msm: HTC: ville: set CLK_CTRL for backlight and AUO panel

    intervigilium committed Jan 13, 2014
    Change-Id: I6d24b902b281a83d24e19557db5c88a0b4eaea40
    (cherry picked from commit 1fe2bda)
Commits on Dec 12, 2013
  1. msm: HTC: jet: give LUN paths to both storage drives

    mdmower authored and Gerrit Code Review committed Dec 12, 2013
    Change-Id: I8be681883015dc872664745f0ba86ea0b739a698
  2. msm: HTC: fighter: give LUN paths to both storage drives

    mdmower authored and Gerrit Code Review committed Dec 12, 2013
    Change-Id: I4e9a8d2bbd9d790e79f62a470d0bebe917b5abb7
  3. usb: gadget: add support for multiple LUNs

    mdmower authored and Gerrit Code Review committed Dec 12, 2013
    Change-Id: I9790007b65a749af2169f3858ffd32a1d616490f
  4. Merge tag 'v3.4.72' into cm-10.2

    intervigilium committed Dec 12, 2013
    This is the 3.4.72 stable release
    Change-Id: I85af3195712d0196b829628adcbd9717ad58d635
Commits on Dec 8, 2013
  1. msm: pil: Add HTC delay for rmt_storage

    intervigilium committed Dec 8, 2013
    Change-Id: I553f8015cfd102032c4fa3fa5e4bff3ac81e4819
  2. cpufreq: Save user policy min/max instead of policy min/max during ho…

    Saravana Kannan authored and intervigilium committed Aug 14, 2013
    When a CPU is hotplugged off, various fields of the policy are saved so
    that they can be restored when the CPU is hotplugged back in.
    The existing code saves the policy min/max field during hotplug remove and
    restores it into user policy min/max during hotplug add. This results in
    the loss of the user policy min/max values across a hotplug remove/add.
    Fix it by saving the user policy min/max instead of policy min/max during
    hotplug remove. During a hotplug add, after user policy min/max is
    restored, the policy min/max is already recomputed. So, there's no risk of
    going beyound any limits imposed by the CPUFREQ_ADJUST/INCOMPATIBLE
    Change-Id: Ib8e09fa324c1f80f095c5754b5dcf2685e8e4a66
    Signed-off-by: Saravana Kannan <>
  3. cpufreq: Retain only online cpus in managed_policy->cpus

    Srivatsa Vaddagiri authored and intervigilium committed Mar 2, 2013
    cpufreq's handling of cpu online event can incorrectly initialize
    managed_policy->cpus to include offline cpus. This causes cpufreq
    governors to include offline cpus in their idle time computation, which
    causes frequency to shoot up beyond normal levels (on systems where 2 or
    more cpus need to be synchronized wrt frequency change).
    This frequency shootup was not seen prior to commit 21111be8 which
    changed idle time accounting for offline cpus. Prior to commit 21111be8,
    idle time statistics for offline cpus would include their offline time
    as well. Post commit 21111be8, offline time is not included in a cpu's
    idle time statistics.
    As a result, ondemand (or other cpufreq) governors would see unchanged
    idle time for offline cpus, causing them to interpret those (offline)
    cpus as 100% busy, which is wrong.
    This patch fixes the issue by modifying cpufreq's hotplug handling to
    retain only online cpus in managed_policy->cpus field. cpufreq governors
    would then skip such offline cpus from idle time calculations.
    Change-Id: Id2eba8c0ec3367609369b2e42a4e1386ff2e7ab5
    Signed-off-by: Srivatsa Vaddagiri <>
  4. msm: HTC: 8960: enable GTOD helpers, disable DLOAD mode, disable CACH…

    intervigilium committed Dec 7, 2013
    Change-Id: I5e3d921c9d076c2464b1bfef6d39b711810f6c4e
  5. msm: HTC: Use msm_iomap for ram console addresses

    intervigilium committed Dec 8, 2013
    Change-Id: Ic94e7b066e15e05598d28dd976a9459d2febe982
  6. msm: iomap: Add HTC memory region mappings

    intervigilium committed Dec 8, 2013
    * HTC's KERNEL_FOOTPRINT and KALLSYM areas appear to be important to the
      modem or watchdog. Add mappings for them.
    Change-Id: I3f266f7a20b635035e6d46aa38bfe48e8eecdc24
Commits on Dec 4, 2013
  1. Linux 3.4.72

    gregkh committed Dec 4, 2013
  2. HID: apple: option to swap the 'Option' ("Alt") and 'Command' ("Flag"…

    Nanno Langstraat authored and gregkh committed Oct 14, 2013
    …) keys.
    commit 43c8314 upstream.
    Use case: people who use both Apple and PC keyboards regularly, and desire to
    keep&use their PC muscle memory.
    A particular use case: an Apple compact external keyboard connected to a PC
    laptop. (This use case can't be covered well by key remappings etc.)
    Signed-off-by: Nanno Langstraat <>
    Signed-off-by: Jiri Kosina <>
    Signed-off-by: Greg Kroah-Hartman <>
  3. HID: roccat: fix Coverity CID 141438

    Stefan Achatz authored and gregkh committed Nov 3, 2013
    commit 7be63f2 upstream.
    Add missing switch breaks.
    Signed-off-by: Stefan Achatz <>
    Signed-off-by: Jiri Kosina <>
    Signed-off-by: Greg Kroah-Hartman <>
  4. media: lirc_zilog: Don't use dynamic static allocation

    mchehab authored and gregkh committed Nov 2, 2013
    commit ac5b4b6 upstream.
    Dynamic static allocation is evil, as Kernel stack is too low, and
    ompilation complains about it on some archs:
    	drivers/staging/media/lirc/lirc_zilog.c:967:1: warning: 'read' uses dynamic stack allocation [enabled by default]
    Instead, let's enforce a limit for the buffer to be 64. That should
    be more than enough.
    Signed-off-by: Mauro Carvalho Chehab <>
    Reviewed-by: Hans Verkuil <>
    Signed-off-by: Mauro Carvalho Chehab <>
    Signed-off-by: Greg Kroah-Hartman <>
  5. ftrace: Fix function graph with loading of modules

    rostedt authored and gregkh committed Nov 26, 2013
    commit 8a56d77 upstream.
    Commit 8c4f3c3 "ftrace: Check module functions being traced on reload"
    fixed module loading and unloading with respect to function tracing, but
    it missed the function graph tracer. If you perform the following
     # cd /sys/kernel/debug/tracing
     # echo function_graph > current_tracer
     # modprobe nfsd
     # echo nop > current_tracer
    You'll get the following oops message:
     ------------[ cut here ]------------
     WARNING: CPU: 2 PID: 2910 at /linux.git/kernel/trace/ftrace.c:1640 __ftrace_hash_rec_update.part.35+0x168/0x1b9()
     Modules linked in: nfsd exportfs nfs_acl lockd ipt_MASQUERADE sunrpc ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables uinput snd_hda_codec_idt
     CPU: 2 PID: 2910 Comm: bash Not tainted 3.13.0-rc1-test CyanogenMod#7
     Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./To be filled by O.E.M., BIOS SDBLI944.86P 05/08/2007
      0000000000000668 ffff8800787efcf8 ffffffff814fe193 ffff88007d500000
      0000000000000000 ffff8800787efd38 ffffffff8103b80a 0000000000000668
      ffffffff810b2b9a ffffffff81a48370 0000000000000001 ffff880037aea000
     Call Trace:
      [<ffffffff814fe193>] dump_stack+0x4f/0x7c
      [<ffffffff8103b80a>] warn_slowpath_common+0x81/0x9b
      [<ffffffff810b2b9a>] ? __ftrace_hash_rec_update.part.35+0x168/0x1b9
      [<ffffffff8103b83e>] warn_slowpath_null+0x1a/0x1c
      [<ffffffff810b2b9a>] __ftrace_hash_rec_update.part.35+0x168/0x1b9
      [<ffffffff81502f89>] ? __mutex_lock_slowpath+0x364/0x364
      [<ffffffff810b2cc2>] ftrace_shutdown+0xd7/0x12b
      [<ffffffff810b47f0>] unregister_ftrace_graph+0x49/0x78
      [<ffffffff810c4b30>] graph_trace_reset+0xe/0x10
      [<ffffffff810bf393>] tracing_set_tracer+0xa7/0x26a
      [<ffffffff810bf5e1>] tracing_set_trace_write+0x8b/0xbd
      [<ffffffff810c501c>] ? ftrace_return_to_handler+0xb2/0xde
      [<ffffffff811240a8>] ? __sb_end_write+0x5e/0x5e
      [<ffffffff81122aed>] vfs_write+0xab/0xf6
      [<ffffffff8150a185>] ftrace_graph_caller+0x85/0x85
      [<ffffffff81122dbd>] SyS_write+0x59/0x82
      [<ffffffff8150a185>] ftrace_graph_caller+0x85/0x85
      [<ffffffff8150a2d2>] system_call_fastpath+0x16/0x1b
     ---[ end trace 940358030751eafb ]---
    The above mentioned commit didn't go far enough. Well, it covered the
    function tracer by adding checks in __register_ftrace_function(). The
    problem is that the function graph tracer circumvents that (for a slight
    efficiency gain when function graph trace is running with a function
    tracer. The gain was not worth this).
    The problem came with ftrace_startup() which should always be called after
    __register_ftrace_function(), if you want this bug to be completely fixed.
    Anyway, this solution moves __register_ftrace_function() inside of
    ftrace_startup() and removes the need to call them both.
    Reported-by: Dave Wysochanski <>
    Fixes: ed926f9 ("ftrace: Use counters to enable functions to trace")
    Signed-off-by: Steven Rostedt <>
    Signed-off-by: Greg Kroah-Hartman <>
  6. KVM: Fix iommu map/unmap to handle memory slot moves

    awilliam authored and gregkh committed Dec 10, 2012
    commit e40f193 upstream.
    The iommu integration into memory slots expects memory slots to be
    added or removed and doesn't handle the move case.  We can unmap
    slots from the iommu after we mark them invalid and map them before
    installing the final memslot array.  Also re-order the kmemdup vs
    map so we don't leave iommu mappings if we get ENOMEM.
    Reviewed-by: Gleb Natapov <>
    Signed-off-by: Alex Williamson <>
    Signed-off-by: Marcelo Tosatti <>
    Cc: Luis Henriques <>
    Signed-off-by: Greg Kroah-Hartman <>
  7. KVM: perform an invalid memslot step for gpa base change

    Marcelo Tosatti authored and gregkh committed Aug 24, 2012
    commit 12d6e75 upstream.
    PPC must flush all translations before the new memory slot
    is visible.
    Signed-off-by: Marcelo Tosatti <>
    Signed-off-by: Avi Kivity <>
    Cc: Luis Henriques <>
    Signed-off-by: Greg Kroah-Hartman <>
  8. Input: i8042 - add PNP modaliases

    teg authored and gregkh committed Oct 31, 2013
    commit 7855127 upstream.
    This allows the module to be autoloaded in the common case.
    In order to work on non-PnP systems the module should be compiled in or
    loaded unconditionally at boot (c.f. modules-load.d(5)), as before.
    Signed-off-by: Tom Gundersen <>
    Signed-off-by: Dmitry Torokhov <>
    Signed-off-by: Greg Kroah-Hartman <>
  9. tracing: Allow events to have NULL strings

    rostedt authored and gregkh committed Nov 26, 2013
    commit 4e58e54 upstream.
    If an TRACE_EVENT() uses __assign_str() or __get_str on a NULL pointer
    then the following oops will happen:
    BUG: unable to handle kernel NULL pointer dereference at   (null)
    IP: [<c127a17b>] strlen+0x10/0x1a
    *pde = 00000000 ^M
    Oops: 0000 [CyanogenMod#1] PREEMPT SMP
    Modules linked in:
    CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.13.0-rc1-test+ CyanogenMod#2
    Hardware name:                  /DG965MQ, BIOS MQ96510J.86A.0372.2006.0605.1717 06/05/2006^M
    task: f5cde9f0 ti: f5e5e000 task.ti: f5e5e000
    EIP: 0060:[<c127a17b>] EFLAGS: 00210046 CPU: 1
    EIP is at strlen+0x10/0x1a
    EAX: 00000000 EBX: c2472da8 ECX: ffffffff EDX: c2472da8
    ESI: c1c5e5fc EDI: 00000000 EBP: f5e5fe84 ESP: f5e5fe80
     DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
    CR0: 8005003b CR2: 00000000 CR3: 01f32000 CR4: 000007d0
     f5f18b90 f5e5feb8 c10687a8 0759004f 00000005 00000005 00000005 00200046
     00000002 00000000 c1082a93 f56c7e28 c2472da8 c1082a93 f5e5fee4 c106bc61^M
     00000000 c1082a93 00000000 00000000 00000001 00200046 00200082 00000000
    Call Trace:
     [<c10687a8>] ftrace_raw_event_lock+0x39/0xc0
     [<c1082a93>] ? ktime_get+0x29/0x69
     [<c1082a93>] ? ktime_get+0x29/0x69
     [<c106bc61>] lock_release+0x57/0x1a5
     [<c1082a93>] ? ktime_get+0x29/0x69
     [<c10824dd>] read_seqcount_begin.constprop.7+0x4d/0x75
     [<c1082a93>] ? ktime_get+0x29/0x69^M
     [<c1082a93>] ktime_get+0x29/0x69
     [<c108a46a>] __tick_nohz_idle_enter+0x1e/0x426
     [<c10690e8>] ? lock_release_holdtime.part.19+0x48/0x4d
     [<c10bc184>] ? time_hardirqs_off+0xe/0x28
     [<c1068c82>] ? trace_hardirqs_off_caller+0x3f/0xaf
     [<c108a8cb>] tick_nohz_idle_enter+0x59/0x62
     [<c1079242>] cpu_startup_entry+0x64/0x192
     [<c102299c>] start_secondary+0x277/0x27c
    Code: 90 89 c6 89 d0 88 c4 ac 38 e0 74 09 84 c0 75 f7 be 01 00 00 00 89 f0 48 5e 5d c3 55 89 e5 57 66 66 66 66 90 83 c9 ff 89 c7 31 c0 <f2> ae f7 d1 8d 41 ff 5f 5d c3 55 89 e5 57 66 66 66 66 90 31 ff
    EIP: [<c127a17b>] strlen+0x10/0x1a SS:ESP 0068:f5e5fe80
    CR2: 0000000000000000
    ---[ end trace 01bc47bf519ec1b2 ]---
    New tracepoints have been added that have allowed for NULL pointers
    being assigned to strings. To fix this, change the TRACE_EVENT() code
    to check for NULL and if it is, it will assign "(null)" to it instead
    (similar to what glibc printf does).
    Reported-by: Shuah Khan <>
    Reported-by: Jovi Zhangwei <>
    Fixes: 9cbf117 ("tracing/events: provide string with undefined size support")
    Signed-off-by: Steven Rostedt <>
    Signed-off-by: Greg Kroah-Hartman <>
  10. ALSA: hda/realtek - Set pcbeep amp for ALC668

    Kailang Yang authored and gregkh committed Nov 26, 2013
    commit 9ad5454 upstream.
    Set the missing pcbeep default amp for ALC668.
    Signed-off-by: Kailang Yang <>
    Signed-off-by: Takashi Iwai <>
    Signed-off-by: Greg Kroah-Hartman <>
  11. cpuset: Fix memory allocator deadlock

    Peter Zijlstra authored and gregkh committed Nov 26, 2013
    commit 0fc0287 upstream.
    Juri hit the below lockdep report:
    [    4.303391] ======================================================
    [    4.303392] [ INFO: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected ]
    [    4.303394] 3.12.0-dl-peterz+ #144 Not tainted
    [    4.303395] ------------------------------------------------------
    [    4.303397] kworker/u4:3/689 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:
    [    4.303399]  (&p->mems_allowed_seq){+.+...}, at: [<ffffffff8114e63c>] new_slab+0x6c/0x290
    [    4.303417]
    [    4.303417] and this task is already holding:
    [    4.303418]  (&(&q->__queue_lock)->rlock){..-...}, at: [<ffffffff812d2dfb>] blk_execute_rq_nowait+0x5b/0x100
    [    4.303431] which would create a new lock dependency:
    [    4.303432]  (&(&q->__queue_lock)->rlock){..-...} -> (&p->mems_allowed_seq){+.+...}
    [    4.303436]
    [    4.303898] the dependencies between the lock to be acquired and SOFTIRQ-irq-unsafe lock:
    [    4.303918] -> (&p->mems_allowed_seq){+.+...} ops: 2762 {
    [    4.303922]    HARDIRQ-ON-W at:
    [    4.303923]                     [<ffffffff8108ab9a>] __lock_acquire+0x65a/0x1ff0
    [    4.303926]                     [<ffffffff8108cbe3>] lock_acquire+0x93/0x140
    [    4.303929]                     [<ffffffff81063dd6>] kthreadd+0x86/0x180
    [    4.303931]                     [<ffffffff816ded6c>] ret_from_fork+0x7c/0xb0
    [    4.303933]    SOFTIRQ-ON-W at:
    [    4.303933]                     [<ffffffff8108abcc>] __lock_acquire+0x68c/0x1ff0
    [    4.303935]                     [<ffffffff8108cbe3>] lock_acquire+0x93/0x140
    [    4.303940]                     [<ffffffff81063dd6>] kthreadd+0x86/0x180
    [    4.303955]                     [<ffffffff816ded6c>] ret_from_fork+0x7c/0xb0
    [    4.303959]    INITIAL USE at:
    [    4.303960]                    [<ffffffff8108a884>] __lock_acquire+0x344/0x1ff0
    [    4.303963]                    [<ffffffff8108cbe3>] lock_acquire+0x93/0x140
    [    4.303966]                    [<ffffffff81063dd6>] kthreadd+0x86/0x180
    [    4.303969]                    [<ffffffff816ded6c>] ret_from_fork+0x7c/0xb0
    [    4.303972]  }
    Which reports that we take mems_allowed_seq with interrupts enabled. A
    little digging found that this can only be from
    This is an actual deadlock because an interrupt doing an allocation will
    hit get_mems_allowed()->...->__read_seqcount_begin(), which will spin
    forever waiting for the write side to complete.
    Cc: John Stultz <>
    Cc: Mel Gorman <>
    Reported-by: Juri Lelli <>
    Signed-off-by: Peter Zijlstra <>
    Tested-by: Juri Lelli <>
    Acked-by: Li Zefan <>
    Acked-by: Mel Gorman <>
    Signed-off-by: Tejun Heo <>
    Signed-off-by: Greg Kroah-Hartman <>
  12. powerpc/signals: Improved mark VSX not saved with small contexts fix

    mikey authored and gregkh committed Nov 25, 2013
    commit ec67ad8 upstream.
    In a recent patch:
      commit c13f20a
      Author: Michael Neuling <>
      powerpc/signals: Mark VSX not saved with small contexts
    We fixed an issue but an improved solution was later discussed after the patch
    was merged.
    Firstly, this patch doesn't handle the 64bit signals case, which could also hit
    this issue (but has never been reported).
    Secondly, the original patch isn't clear what MSR VSX should be set to.  The
    new approach below always clears the MSR VSX bit (to indicate no VSX is in the
    context) and sets it only in the specific case where VSX is available (ie. when
    VSX has been used and the signal context passed has space to provide the
    This reverts the original patch and replaces it with the improved solution.  It
    also adds a 64 bit version.
    Signed-off-by: Michael Neuling <>
    Signed-off-by: Benjamin Herrenschmidt <>
    Signed-off-by: Greg Kroah-Hartman <>
  13. md: fix calculation of stacking limits on level change.

    neilbrown authored and gregkh committed Nov 14, 2013
    commit 02e5f5c upstream.
    The various ->run routines of md personalities assume that the 'queue'
    has been initialised by the blk_set_stacking_limits() call in
    However when the level is changed (by level_store()) the ->run routine
    for the new level is called for an array which has already had the
    stacking limits modified.  This can result in incorrect final
    So call blk_set_stacking_limits() before ->run in level_store().
    A specific consequence of this bug is that it causes
    discard_granularity to be set incorrectly when reshaping a RAID4 to a
    This is suitable for any -stable kernel since 3.3 in which
    blk_set_stacking_limits() was introduced.
    Reported-and-tested-by: "Baldysiak, Pawel" <>
    Signed-off-by: NeilBrown <>
    Signed-off-by: Greg Kroah-Hartman <>
  14. radeon: workaround pinning failure on low ram gpu

    Jerome Glisse authored and gregkh committed Nov 12, 2013
    commit 97b6ff6 upstream.
    GPU with low amount of ram can fails at pinning new framebuffer before
    unpinning old one. On such failure, retry with unpinning old one before
    pinning new one allowing to work around the issue. This is somewhat
    ugly but only affect those old GPU we care about.
    Signed-off-by: Jerome Glisse <>
    Signed-off-by: Alex Deucher <>
    Signed-off-by: Greg Kroah-Hartman <>
  15. drm/radeon/si: fix define for MC_SEQ_TRAIN_WAKEUP_CNTL

    Alex Deucher authored and gregkh committed Oct 28, 2013
    commit d569376 upstream.
    Typo in the register offset.
    Noticed-by: Sylvain BERTRAND <>
    Signed-off-by: Alex Deucher <>
    Signed-off-by: Greg Kroah-Hartman <>
  16. drm/nouveau: when bailing out of a pushbuf ioctl, do not remove previ…

    skeggsb authored and gregkh committed Nov 13, 2013
    …ous fence
    commit 9360bd1 upstream.
    Signed-off-by: Ben Skeggs <>
    Signed-off-by: Greg Kroah-Hartman <>
  17. drm/i915: flush cursors harder

    danvet authored and gregkh committed Nov 4, 2013
    commit b2ea8ef upstream.
    Apparently they need the same treatment as primary planes. This fixes
    modesetting failures because of stuck cursors (!) on Thomas' i830M
    I've figured while at it I'll also roll it out for the ivb 3 pipe
    version of this function. I didn't do this for i845/i865 since Bspec
    says the update mechanism works differently, and there's some
    additional rules about what can be updated in which order.
    Tested-by: Thomas Richter <>
    Cc:  Thomas Richter <>
    Cc: Ville Syrjälä <>
    Signed-off-by: Daniel Vetter <>
    Signed-off-by: Greg Kroah-Hartman <>
  18. drm/ttm: Handle in-memory region copies

    Jakob Bornecrantz authored and gregkh committed Oct 30, 2013
    commit 9a0599d upstream.
    Fix the case where the ttm pointer may be NULL causing
    a NULL pointer dereference.
    Signed-off-by: Jakob Bornecrantz <>
    Signed-off-by: Thomas Hellström <>
    Signed-off-by: Greg Kroah-Hartman <>
  19. prism54: set netdev type to "wlan"

    dcbw authored and gregkh committed Nov 8, 2013
    commit 8e3ffa4 upstream.
    Userspace uses the netdev devtype for stuff like device naming and type
    detection.  Be nice and set it.  Remove the pointless #if/#endif around
    Signed-off-by: Dan Williams <>
    Signed-off-by: John W. Linville <>
    Signed-off-by: Greg Kroah-Hartman <>
  20. avr32: fix out-of-range jump in large kernels

    Andreas Bießmann authored and gregkh committed Oct 24, 2013
    commit d617b33 upstream.
    This patch fixes following error (for big kernels):
    arch/avr32/boot/u-boot/head.o: In function `no_tag_table':
    (.init.text+0x44): relocation truncated to fit: R_AVR32_22H_PCREL against symbol `panic' defined in .text.unlikely section in kernel/built-in.o
    arch/avr32/kernel/built-in.o: In function `bad_return':
    (.ex.text+0x236): relocation truncated to fit: R_AVR32_22H_PCREL against symbol `panic' defined in .text.unlikely section in kernel/built-in.o
    It comes up when the kernel increases and 'panic()' is too far away to fit in
    the +/- 2MiB range. Which in turn issues from the 21-bit displacement in
    'br{cond4}' mnemonic which is one of the two ways to do jumps (rjmp has just
    10-bit displacement and therefore a way smaller range). This fact was stated
    before in 8d29b7b.
    One solution to solve this is to add a local storage for the symbol address
    and just load the $pc with that value.
    Signed-off-by: Andreas Bießmann <>
    Acked-by: Hans-Christian Egtvedt <>
    Cc: Haavard Skinnemoen <>
    Signed-off-by: Greg Kroah-Hartman <>
  21. avr32: setup crt for early panic()

    Andreas Bießmann authored and gregkh committed Oct 24, 2013
    commit 7a2a74f upstream.
    Before the CRT was (fully) set up in kernel_entry (bss cleared before in
    _start, but also not before jump to panic() in no_tag_table case).
    This patch fixes this up to have a fully working CRT when branching to panic()
    in no_tag_table.
    Signed-off-by: Andreas Bießmann <>
    Acked-by: Hans-Christian Egtvedt <>
    Cc: Haavard Skinnemoen <>
    Signed-off-by: Greg Kroah-Hartman <>
  22. selinux: correct locking in selinux_netlbl_socket_connect)

    pcmoore authored and gregkh committed Sep 26, 2013
    commit 42d64e1 upstream.
    The SELinux/NetLabel glue code has a locking bug that affects systems
    with NetLabel enabled, see the kernel error message below.  This patch
    corrects this problem by converting the bottom half socket lock to a
    more conventional, and correct for this call-path, lock_sock() call.
     [ INFO: suspicious RCU usage. ]
     3.11.0-rc3+ #19 Not tainted
     net/ipv4/cipso_ipv4.c:1928 suspicious rcu_dereference_protected() usage!
     other info that might help us debug this:
     rcu_scheduler_active = 1, debug_locks = 0
     2 locks held by ping/731:
      #0:  (slock-AF_INET/1){+.-...}, at: [...] selinux_netlbl_socket_connect
      CyanogenMod#1:  (rcu_read_lock){.+.+..}, at: [<...>] netlbl_conn_setattr
     stack backtrace:
     CPU: 1 PID: 731 Comm: ping Not tainted 3.11.0-rc3+ #19
     Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
      0000000000000001 ffff88006f659d28 ffffffff81726b6a ffff88003732c500
      ffff88006f659d58 ffffffff810e4457 ffff88006b845a00 0000000000000000
      000000000000000c ffff880075aa2f50 ffff88006f659d90 ffffffff8169bec7
     Call Trace:
      [<ffffffff81726b6a>] dump_stack+0x54/0x74
      [<ffffffff810e4457>] lockdep_rcu_suspicious+0xe7/0x120
      [<ffffffff8169bec7>] cipso_v4_sock_setattr+0x187/0x1a0
      [<ffffffff8170f317>] netlbl_conn_setattr+0x187/0x190
      [<ffffffff8170f195>] ? netlbl_conn_setattr+0x5/0x190
      [<ffffffff8131ac9e>] selinux_netlbl_socket_connect+0xae/0xc0
      [<ffffffff81303025>] selinux_socket_connect+0x135/0x170
      [<ffffffff8119d127>] ? might_fault+0x57/0xb0
      [<ffffffff812fb146>] security_socket_connect+0x16/0x20
      [<ffffffff815d3ad3>] SYSC_connect+0x73/0x130
      [<ffffffff81739a85>] ? sysret_check+0x22/0x5d
      [<ffffffff810e5e2d>] ? trace_hardirqs_on_caller+0xfd/0x1c0
      [<ffffffff81373d4e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
      [<ffffffff815d52be>] SyS_connect+0xe/0x10
      [<ffffffff81739a59>] system_call_fastpath+0x16/0x1b
    Signed-off-by: Paul Moore <>
    Signed-off-by: Greg Kroah-Hartman <>