Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wip/stage sunxi 3.4/a20 #93

Closed
wants to merge 4,030 commits into from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Apr 12, 2013

  1. can: gw: use kmem_cache_free() instead of kfree()

    commit 3480a21 upstream.
    
    Memory allocated by kmem_cache_alloc() should be freed using
    kmem_cache_free(), not kfree().
    
    Signed-off-by: Wei Yongjun <[email protected]>
    Acked-by: Oliver Hartkopp <[email protected]>
    Signed-off-by: Marc Kleine-Budde <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Wei Yongjun authored and gregkh committed Apr 12, 2013
    Configuration menu
    Copy the full SHA
    91c1bf8 View commit details
    Browse the repository at this point in the history
  2. rt2x00: rt2x00pci_regbusy_read() - only print register access failure…

    … once
    
    commit 83589b3 upstream.
    
    BugLink: http://bugs.launchpad.net/bugs/1128840
    
    It appears that when this register read fails it never recovers, so
    I think there is no need to repeat the same error message ad infinitum.
    
    Signed-off-by: Tim Gardner <[email protected]>
    Cc: Ivo van Doorn <[email protected]>
    Cc: Gertjan van Wingerde <[email protected]>
    Cc: Helmut Schaa <[email protected]>
    Cc: "John W. Linville" <[email protected]>
    Cc: [email protected]
    Cc: [email protected]
    Cc: [email protected]
    Cc: [email protected]
    Signed-off-by: John W. Linville <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    rtg-canonical authored and gregkh committed Apr 12, 2013
    Configuration menu
    Copy the full SHA
    678721a View commit details
    Browse the repository at this point in the history
  3. Linux 3.4.40

    gregkh committed Apr 12, 2013
    Configuration menu
    Copy the full SHA
    a7c079f View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2013

  1. gpu: ion: fix kfree/list_del order

    With CONFIG_SLUB_DEBUG_ON it would panic during
    ion_alloc()
     ion_buffer_create()
       io_heap_drain_freelist()
    
    Signed-off-by: JP Abgrall <[email protected]>
    jpa468 committed Apr 15, 2013
    Configuration menu
    Copy the full SHA
    ba6e957 View commit details
    Browse the repository at this point in the history

Commits on Apr 17, 2013

  1. ALSA: usb-audio: fix endianness bug in snd_nativeinstruments_*

    commit 889d668 upstream.
    
    The usb_control_msg() function expects __u16 types and performs
    the endianness conversions by itself.
    However, in three places, a conversion is performed before it is
    handed over to usb_control_msg(), which leads to a double conversion
    (= no conversion):
    * snd_usb_nativeinstruments_boot_quirk()
    * snd_nativeinstruments_control_get()
    * snd_nativeinstruments_control_put()
    
    Caught by sparse:
    
    sound/usb/mixer_quirks.c:512:38: warning: incorrect type in argument 6 (different base types)
    sound/usb/mixer_quirks.c:512:38:    expected unsigned short [unsigned] [usertype] index
    sound/usb/mixer_quirks.c:512:38:    got restricted __le16 [usertype] <noident>
    sound/usb/mixer_quirks.c:543:35: warning: incorrect type in argument 5 (different base types)
    sound/usb/mixer_quirks.c:543:35:    expected unsigned short [unsigned] [usertype] value
    sound/usb/mixer_quirks.c:543:35:    got restricted __le16 [usertype] <noident>
    sound/usb/mixer_quirks.c:543:56: warning: incorrect type in argument 6 (different base types)
    sound/usb/mixer_quirks.c:543:56:    expected unsigned short [unsigned] [usertype] index
    sound/usb/mixer_quirks.c:543:56:    got restricted __le16 [usertype] <noident>
    sound/usb/quirks.c:502:35: warning: incorrect type in argument 5 (different base types)
    sound/usb/quirks.c:502:35:    expected unsigned short [unsigned] [usertype] value
    sound/usb/quirks.c:502:35:    got restricted __le16 [usertype] <noident>
    
    Signed-off-by: Eldad Zack <[email protected]>
    Acked-by: Daniel Mack <[email protected]>
    Signed-off-by: Takashi Iwai <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    eldad authored and gregkh committed Apr 17, 2013
    Configuration menu
    Copy the full SHA
    dd541ae View commit details
    Browse the repository at this point in the history
  2. ASoC: wm8903: Fix the bypass to HP/LINEOUT when no DAC or ADC is running

    commit f1ca493 upstream.
    
    The Charge Pump needs the DSP clock to work properly, without it the
    bypass to HP/LINEOUT is not working properly. This requirement is not
    mentioned in the datasheet but has been confirmed by Mark Brown from
    Wolfson.
    
    Signed-off-by: Alban Bedel <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Alban Bedel authored and gregkh committed Apr 17, 2013
    Configuration menu
    Copy the full SHA
    b43105d View commit details
    Browse the repository at this point in the history
  3. tracing: Fix double free when function profile init failed

    commit 83e03b3 upstream.
    
    On the failure path, stat->start and stat->pages will refer same page.
    So it'll attempt to free the same page again and get kernel panic.
    
    Link: http://lkml.kernel.org/r/[email protected]
    
    Signed-off-by: Namhyung Kim <[email protected]>
    Cc: Frederic Weisbecker <[email protected]>
    Cc: Namhyung Kim <[email protected]>
    Signed-off-by: Steven Rostedt <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Namhyung Kim authored and gregkh committed Apr 17, 2013
    Configuration menu
    Copy the full SHA
    e264d3c View commit details
    Browse the repository at this point in the history
  4. PM / reboot: call syscore_shutdown() after disable_nonboot_cpus()

    commit 6f389a8 upstream.
    
    As commit 40dc166 (PM / Core: Introduce struct syscore_ops for core
    subsystems PM) say, syscore_ops operations should be carried with one
    CPU on-line and interrupts disabled. However, after commit f96972f
    (kernel/sys.c: call disable_nonboot_cpus() in kernel_restart()),
    syscore_shutdown() is called before disable_nonboot_cpus(), so break
    the rules. We have a MIPS machine with a 8259A PIC, and there is an
    external timer (HPET) linked at 8259A. Since 8259A has been shutdown
    too early (by syscore_shutdown()), disable_nonboot_cpus() runs without
    timer interrupt, so it hangs and reboot fails. This patch call
    syscore_shutdown() a little later (after disable_nonboot_cpus()) to
    avoid reboot failure, this is the same way as poweroff does.
    
    For consistency, add disable_nonboot_cpus() to kernel_halt().
    
    Signed-off-by: Huacai Chen <[email protected]>
    Signed-off-by: Rafael J. Wysocki <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    chenhuacai authored and gregkh committed Apr 17, 2013
    Configuration menu
    Copy the full SHA
    e3573b2 View commit details
    Browse the repository at this point in the history
  5. drm/i915: Use the correct size of the GTT for placing the per-process…

    … entries
    
    commit 9a0f938 upstream.
    
    The current layout is to place the per-process tables at the end of the
    GTT. However, this is currently using a hardcoded maximum size for the GTT
    and not taking in account limitations imposed by the BIOS. Use the value
    for the total number of entries allocated in the table as provided by
    the configuration registers.
    
    Reported-by: Matthew Garrett <[email protected]>
    Signed-off-by: Chris Wilson <[email protected]>
    Cc: Daniel Vetter <[email protected]>
    Cc: Ben Widawsky <[email protected]>
    Cc: Matthew Garret <[email protected]>
    Signed-off-by: Daniel Vetter <[email protected]>
    Cc: Jonathan Nieder <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    ickle authored and gregkh committed Apr 17, 2013
    Configuration menu
    Copy the full SHA
    706d153 View commit details
    Browse the repository at this point in the history
  6. SCSI: libsas: fix handling vacant phy in sas_set_ex_phy()

    commit d4a2618 upstream.
    
    If a result of the SMP discover function is PHY VACANT,
    the content of discover response structure (dr) is not valid.
    It sometimes happens that dr->attached_sas_addr can contain
    even SAS address of other phy. In such case an invalid phy
    is created, what causes NULL pointer dereference during
    destruction of expander's phys.
    
    So if a result of SMP function is PHY VACANT, the content of discover
    response structure (dr) must not be copied to phy structure.
    
    This patch fixes the following bug:
    
    BUG: unable to handle kernel NULL pointer dereference at 0000000000000030
    IP: [<ffffffff811c9002>] sysfs_find_dirent+0x12/0x90
    Call Trace:
      [<ffffffff811c95f5>] sysfs_get_dirent+0x35/0x80
      [<ffffffff811cb55e>] sysfs_unmerge_group+0x1e/0xb0
      [<ffffffff813329f4>] dpm_sysfs_remove+0x24/0x90
      [<ffffffff8132b0f4>] device_del+0x44/0x1d0
      [<ffffffffa016fc59>] sas_rphy_delete+0x9/0x20 [scsi_transport_sas]
      [<ffffffffa01a16f6>] sas_destruct_devices+0xe6/0x110 [libsas]
      [<ffffffff8107ac7c>] process_one_work+0x16c/0x350
      [<ffffffff8107d84a>] worker_thread+0x17a/0x410
      [<ffffffff81081b76>] kthread+0x96/0xa0
      [<ffffffff81464944>] kernel_thread_helper+0x4/0x10
    
    Signed-off-by: Lukasz Dorau <[email protected]>
    Signed-off-by: Pawel Baldysiak <[email protected]>
    Reviewed-by: Maciej Patelczyk <[email protected]>
    Signed-off-by: James Bottomley <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    ldorau authored and gregkh committed Apr 17, 2013
    Configuration menu
    Copy the full SHA
    b7dba0e View commit details
    Browse the repository at this point in the history
  7. cifs: Allow passwords which begin with a delimitor

    commit c369c9a upstream.
    
    Fixes a regression in cifs_parse_mount_options where a password
    which begins with a delimitor is parsed incorrectly as being a blank
    password.
    
    Signed-off-by: Sachin Prabhu <[email protected]>
    Acked-by: Jeff Layton <[email protected]>
    Signed-off-by: Steve French <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    spuiuk authored and gregkh committed Apr 17, 2013
    Configuration menu
    Copy the full SHA
    e0b4cef View commit details
    Browse the repository at this point in the history
  8. target: Fix incorrect fallthrough of ALUA Standby/Offline/Transition …

    …CDBs
    
    commit 30f359a upstream.
    
    This patch fixes a bug where a handful of informational / control CDBs
    that should be allowed during ALUA access state Standby/Offline/Transition
    where incorrectly returning CHECK_CONDITION + ASCQ_04H_ALUA_TG_PT_*.
    
    This includes INQUIRY + REPORT_LUNS, which would end up preventing LUN
    registration when LUN scanning occured during these ALUA access states.
    
    Signed-off-by: Nicholas Bellinger <[email protected]>
    Cc: Hannes Reinecke <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    nablio3000 authored and gregkh committed Apr 17, 2013
    Configuration menu
    Copy the full SHA
    eced4ec View commit details
    Browse the repository at this point in the history
  9. vfs: Revert spurious fix to spinning prevention in prune_icache_sb

    commit 5b55d70 upstream.
    
    Revert commit 62a3dde ("vfs: fix spinning prevention in prune_icache_sb").
    
    This commit doesn't look right: since we are looking at the tail of the
    list (sb->s_inode_lru.prev) if we want to skip an inode, we should put
    it back at the head of the list instead of the tail, otherwise we will
    keep spinning on it.
    
    Discovered when investigating why prune_icache_sb came top in perf
    reports of a swapping load.
    
    Signed-off-by: Suleiman Souhlal <[email protected]>
    Signed-off-by: Hugh Dickins <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Suleiman Souhlal authored and gregkh committed Apr 17, 2013
    Configuration menu
    Copy the full SHA
    7077c66 View commit details
    Browse the repository at this point in the history
  10. kref: Implement kref_get_unless_zero v3

    commit 4b20db3 upstream.
    
    This function is intended to simplify locking around refcounting for
    objects that can be looked up from a lookup structure, and which are
    removed from that lookup structure in the object destructor.
    Operations on such objects require at least a read lock around
    lookup + kref_get, and a write lock around kref_put + remove from lookup
    structure. Furthermore, RCU implementations become extremely tricky.
    With a lookup followed by a kref_get_unless_zero *with return value check*
    locking in the kref_put path can be deferred to the actual removal from
    the lookup structure and RCU lookups become trivial.
    
    v2: Formatting fixes.
    v3: Invert the return value.
    
    Signed-off-by: Thomas Hellstrom <[email protected]>
    Signed-off-by: Dave Airlie <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    thomashvmw authored and gregkh committed Apr 17, 2013
    Configuration menu
    Copy the full SHA
    e3a5505 View commit details
    Browse the repository at this point in the history
  11. udl: handle EDID failure properly.

    commit 1baee58 upstream.
    
    Don't oops seems proper.
    
    Signed-off-by: Dave Airlie <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    airlied authored and gregkh committed Apr 17, 2013
    Configuration menu
    Copy the full SHA
    bff6627 View commit details
    Browse the repository at this point in the history
  12. sched_clock: Prevent 64bit inatomicity on 32bit systems

    commit a1cbcaa upstream.
    
    The sched_clock_remote() implementation has the following inatomicity
    problem on 32bit systems when accessing the remote scd->clock, which
    is a 64bit value.
    
    CPU0			CPU1
    
    sched_clock_local()	sched_clock_remote(CPU0)
    ...
    			remote_clock = scd[CPU0]->clock
    			    read_low32bit(scd[CPU0]->clock)
    cmpxchg64(scd->clock,...)
    			    read_high32bit(scd[CPU0]->clock)
    
    While the update of scd->clock is using an atomic64 mechanism, the
    readout on the remote cpu is not, which can cause completely bogus
    readouts.
    
    It is a quite rare problem, because it requires the update to hit the
    narrow race window between the low/high readout and the update must go
    across the 32bit boundary.
    
    The resulting misbehaviour is, that CPU1 will see the sched_clock on
    CPU1 ~4 seconds ahead of it's own and update CPU1s sched_clock value
    to this bogus timestamp. This stays that way due to the clamping
    implementation for about 4 seconds until the synchronization with
    CLOCK_MONOTONIC undoes the problem.
    
    The issue is hard to observe, because it might only result in a less
    accurate SCHED_OTHER timeslicing behaviour. To create observable
    damage on realtime scheduling classes, it is necessary that the bogus
    update of CPU1 sched_clock happens in the context of an realtime
    thread, which then gets charged 4 seconds of RT runtime, which results
    in the RT throttler mechanism to trigger and prevent scheduling of RT
    tasks for a little less than 4 seconds. So this is quite unlikely as
    well.
    
    The issue was quite hard to decode as the reproduction time is between
    2 days and 3 weeks and intrusive tracing makes it less likely, but the
    following trace recorded with trace_clock=global, which uses
    sched_clock_local(), gave the final hint:
    
      <idle>-0   0d..30 400269.477150: hrtimer_cancel: hrtimer=0xf7061e80
      <idle>-0   0d..30 400269.477151: hrtimer_start:  hrtimer=0xf7061e80 ...
    irq/20-S-587 1d..32 400273.772118: sched_wakeup:   comm= ... target_cpu=0
      <idle>-0   0dN.30 400273.772118: hrtimer_cancel: hrtimer=0xf7061e80
    
    What happens is that CPU0 goes idle and invokes
    sched_clock_idle_sleep_event() which invokes sched_clock_local() and
    CPU1 runs a remote wakeup for CPU0 at the same time, which invokes
    sched_remote_clock(). The time jump gets propagated to CPU0 via
    sched_remote_clock() and stays stale on both cores for ~4 seconds.
    
    There are only two other possibilities, which could cause a stale
    sched clock:
    
    1) ktime_get() which reads out CLOCK_MONOTONIC returns a sporadic
       wrong value.
    
    2) sched_clock() which reads the TSC returns a sporadic wrong value.
    
    #1 can be excluded because sched_clock would continue to increase for
       one jiffy and then go stale.
    
    #2 can be excluded because it would not make the clock jump
       forward. It would just result in a stale sched_clock for one jiffy.
    
    After quite some brain twisting and finding the same pattern on other
    traces, sched_clock_remote() remained the only place which could cause
    such a problem and as explained above it's indeed racy on 32bit
    systems.
    
    So while on 64bit systems the readout is atomic, we need to verify the
    remote readout on 32bit machines. We need to protect the local->clock
    readout in sched_clock_remote() on 32bit as well because an NMI could
    hit between the low and the high readout, call sched_clock_local() and
    modify local->clock.
    
    Thanks to Siegfried Wulsch for bearing with my debug requests and
    going through the tedious tasks of running a bunch of reproducer
    systems to generate the debug information which let me decode the
    issue.
    
    Reported-by: Siegfried Wulsch <[email protected]>
    Acked-by: Peter Zijlstra <[email protected]>
    Cc: Steven Rostedt <[email protected]>
    Link: http://lkml.kernel.org/r/alpine.LFD.2.02.1304051544160.21884@ionos
    Signed-off-by: Thomas Gleixner <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    KAGA-KOKO authored and gregkh committed Apr 17, 2013
    Configuration menu
    Copy the full SHA
    fdd9ce0 View commit details
    Browse the repository at this point in the history
  13. x86, mm, paravirt: Fix vmalloc_fault oops during lazy MMU updates

    commit 1160c27 upstream.
    
    In paravirtualized x86_64 kernels, vmalloc_fault may cause an oops
    when lazy MMU updates are enabled, because set_pgd effects are being
    deferred.
    
    One instance of this problem is during process mm cleanup with memory
    cgroups enabled. The chain of events is as follows:
    
    - zap_pte_range enables lazy MMU updates
    - zap_pte_range eventually calls mem_cgroup_charge_statistics,
      which accesses the vmalloc'd mem_cgroup per-cpu stat area
    - vmalloc_fault is triggered which tries to sync the corresponding
      PGD entry with set_pgd, but the update is deferred
    - vmalloc_fault oopses due to a mismatch in the PUD entries
    
    The OOPs usually looks as so:
    
    ------------[ cut here ]------------
    kernel BUG at arch/x86/mm/fault.c:396!
    invalid opcode: 0000 [#1] SMP
    .. snip ..
    CPU 1
    Pid: 10866, comm: httpd Not tainted 3.6.10-4.fc18.x86_64 #1
    RIP: e030:[<ffffffff816271bf>]  [<ffffffff816271bf>] vmalloc_fault+0x11f/0x208
    .. snip ..
    Call Trace:
     [<ffffffff81627759>] do_page_fault+0x399/0x4b0
     [<ffffffff81004f4c>] ? xen_mc_extend_args+0xec/0x110
     [<ffffffff81624065>] page_fault+0x25/0x30
     [<ffffffff81184d03>] ? mem_cgroup_charge_statistics.isra.13+0x13/0x50
     [<ffffffff81186f78>] __mem_cgroup_uncharge_common+0xd8/0x350
     [<ffffffff8118aac7>] mem_cgroup_uncharge_page+0x57/0x60
     [<ffffffff8115fbc0>] page_remove_rmap+0xe0/0x150
     [<ffffffff8115311a>] ? vm_normal_page+0x1a/0x80
     [<ffffffff81153e61>] unmap_single_vma+0x531/0x870
     [<ffffffff81154962>] unmap_vmas+0x52/0xa0
     [<ffffffff81007442>] ? pte_mfn_to_pfn+0x72/0x100
     [<ffffffff8115c8f8>] exit_mmap+0x98/0x170
     [<ffffffff810050d9>] ? __raw_callee_save_xen_pmd_val+0x11/0x1e
     [<ffffffff81059ce3>] mmput+0x83/0xf0
     [<ffffffff810624c4>] exit_mm+0x104/0x130
     [<ffffffff8106264a>] do_exit+0x15a/0x8c0
     [<ffffffff810630ff>] do_group_exit+0x3f/0xa0
     [<ffffffff81063177>] sys_exit_group+0x17/0x20
     [<ffffffff8162bae9>] system_call_fastpath+0x16/0x1b
    
    Calling arch_flush_lazy_mmu_mode immediately after set_pgd makes the
    changes visible to the consistency checks.
    
    RedHat-Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=914737
    Tested-by: Josh Boyer <[email protected]>
    Reported-and-Tested-by: Krishna Raman <[email protected]>
    Signed-off-by: Samu Kallio <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Tested-by: Konrad Rzeszutek Wilk <[email protected]>
    Signed-off-by: Konrad Rzeszutek Wilk <[email protected]>
    Signed-off-by: H. Peter Anvin <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Samu Kallio authored and gregkh committed Apr 17, 2013
    Configuration menu
    Copy the full SHA
    e082a17 View commit details
    Browse the repository at this point in the history
  14. x86, mm: Patch out arch_flush_lazy_mmu_mode() when running on bare metal

    commit 511ba86 upstream.
    
    Invoking arch_flush_lazy_mmu_mode() results in calls to
    preempt_enable()/disable() which may have performance impact.
    
    Since lazy MMU is not used on bare metal we can patch away
    arch_flush_lazy_mmu_mode() so that it is never called in such
    environment.
    
    [ hpa: the previous patch "Fix vmalloc_fault oops during lazy MMU
      updates" may cause a minor performance regression on
      bare metal.  This patch resolves that performance regression.  It is
      somewhat unclear to me if this is a good -stable candidate. ]
    
    Signed-off-by: Boris Ostrovsky <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Tested-by: Josh Boyer <[email protected]>
    Tested-by: Konrad Rzeszutek Wilk <[email protected]>
    Acked-by: Borislav Petkov <[email protected]>
    Signed-off-by: Konrad Rzeszutek Wilk <[email protected]>
    Signed-off-by: H. Peter Anvin <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Boris Ostrovsky authored and gregkh committed Apr 17, 2013
    Configuration menu
    Copy the full SHA
    7ad0908 View commit details
    Browse the repository at this point in the history
  15. mtdchar: fix offset overflow detection

    commit 9c603e5 upstream.
    
    Sasha Levin has been running trinity in a KVM tools guest, and was able
    to trigger the BUG_ON() at arch/x86/mm/pat.c:279 (verifying the range of
    the memory type).  The call trace showed that it was mtdchar_mmap() that
    created an invalid remap_pfn_range().
    
    The problem is that mtdchar_mmap() does various really odd and subtle
    things with the vma page offset etc, and uses the wrong types (and the
    wrong overflow) detection for it.
    
    For example, the page offset may well be 32-bit on a 32-bit
    architecture, but after shifting it up by PAGE_SHIFT, we need to use a
    potentially 64-bit resource_size_t to correctly hold the full value.
    
    Also, we need to check that the vma length plus offset doesn't overflow
    before we check that it is smaller than the length of the mtdmap region.
    
    This fixes things up and tries to make the code a bit easier to read.
    
    Reported-and-tested-by: Sasha Levin <[email protected]>
    Acked-by: Suresh Siddha <[email protected]>
    Acked-by: Artem Bityutskiy <[email protected]>
    Cc: David Woodhouse <[email protected]>
    Cc: [email protected]
    Signed-off-by: Linus Torvalds <[email protected]>
    Cc: Ben Hutchings <[email protected]>
    Cc: Brad Spengler <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    torvalds authored and gregkh committed Apr 17, 2013
    Configuration menu
    Copy the full SHA
    a7d5072 View commit details
    Browse the repository at this point in the history
  16. kobject: fix kset_find_obj() race with concurrent last kobject_put()

    commit a49b7e8 upstream.
    
    Anatol Pomozov identified a race condition that hits module unloading
    and re-loading.  To quote Anatol:
    
     "This is a race codition that exists between kset_find_obj() and
      kobject_put().  kset_find_obj() might return kobject that has refcount
      equal to 0 if this kobject is freeing by kobject_put() in other
      thread.
    
      Here is timeline for the crash in case if kset_find_obj() searches for
      an object tht nobody holds and other thread is doing kobject_put() on
      the same kobject:
    
        THREAD A (calls kset_find_obj())     THREAD B (calls kobject_put())
        splin_lock()
                                             atomic_dec_return(kobj->kref), counter gets zero here
                                             ... starts kobject cleanup ....
                                             spin_lock() // WAIT thread A in kobj_kset_leave()
        iterate over kset->list
        atomic_inc(kobj->kref) (counter becomes 1)
        spin_unlock()
                                             spin_lock() // taken
                                             // it does not know that thread A increased counter so it
                                             remove obj from list
                                             spin_unlock()
                                             vfree(module) // frees module object with containing kobj
    
        // kobj points to freed memory area!!
        kobject_put(kobj) // OOPS!!!!
    
      The race above happens because module.c tries to use kset_find_obj()
      when somebody unloads module.  The module.c code was introduced in
      commit 6494a93"
    
    Anatol supplied a patch specific for module.c that worked around the
    problem by simply not using kset_find_obj() at all, but rather than make
    a local band-aid, this just fixes kset_find_obj() to be thread-safe
    using the proper model of refusing the get a new reference if the
    refcount has already dropped to zero.
    
    See examples of this proper refcount handling not only in the kref
    documentation, but in various other equivalent uses of this pattern by
    grepping for atomic_inc_not_zero().
    
    [ Side note: the module race does indicate that module loading and
      unloading is not properly serialized wrt sysfs information using the
      module mutex.  That may require further thought, but this is the
      correct fix at the kobject layer regardless. ]
    
    Reported-analyzed-and-tested-by: Anatol Pomozov <[email protected]>
    Cc: Al Viro <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    torvalds authored and gregkh committed Apr 17, 2013
    Configuration menu
    Copy the full SHA
    2931b31 View commit details
    Browse the repository at this point in the history
  17. r8169: fix auto speed down issue

    commit e2409d8 upstream.
    
    It would cause no link after suspending or shutdowning when the
    nic changes the speed to 10M and connects to a link partner which
    forces the speed to 100M.
    
    Check the link partner ability to determine which speed to set.
    
    Signed-off-by: Hayes Wang <[email protected]>
    Acked-by: Francois Romieu <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    hayesorz authored and gregkh committed Apr 17, 2013
    Configuration menu
    Copy the full SHA
    880f56d View commit details
    Browse the repository at this point in the history
  18. mtd: Disable mtdchar mmap on MMU systems

    commit f5cf8f0 upstream.
    
    This code was broken because it assumed that all MTD devices were map-based.
    Disable it for now, until it can be fixed properly for the next merge window.
    
    Signed-off-by: David Woodhouse <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    David Woodhouse authored and gregkh committed Apr 17, 2013
    Configuration menu
    Copy the full SHA
    06ce3e4 View commit details
    Browse the repository at this point in the history
  19. Linux 3.4.41

    gregkh committed Apr 17, 2013
    Configuration menu
    Copy the full SHA
    94402d1 View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2013

  1. f_fs: ffs_func_free: cleanup requests allocated by autoconfig

    functionfs was leaking request objects created by autoconfig.
    
    Bug: 8659094
    
    Change-Id: I641326cb5cb26e0a2ffa082cd2be2c21c66c38e5
    Signed-off-by: Peter Korsgaard <[email protected]>
    Signed-off-by: Felipe Balbi <[email protected]>
    Signed-off-by: Benoit Goby <[email protected]>
    jacmet authored and benoitgoby committed Apr 19, 2013
    Configuration menu
    Copy the full SHA
    c8a0118 View commit details
    Browse the repository at this point in the history
  2. gpu: ion: ion_chunk_heap: Zero chunk heap memory at creation time

    Allocations from the ion heap need to be zeroed to protect userspace
    from seeing memory belonging to other processes.  First allocations
    from this heap were not zero'd allowing users to see memory from other
    processes on a warm reset.
    
    Change-Id: I524a7b79cb76c390c870fcf8b30d213185fc85a0
    Signed-off-by: Rebecca Schultz Zavin <[email protected]>
    Rebecca Schultz Zavin authored and Gerrit Code Review committed Apr 19, 2013
    Configuration menu
    Copy the full SHA
    adfb519 View commit details
    Browse the repository at this point in the history
  3. ARM: convert build of appended dtb zImage to list of dtbs

    Allow CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES to specify
    a space separated list of dtbs to append to the zImage,
    and name the resulting file zImage-dtb
    
    Change-Id: I36d9108a2349bdbb373e95076dcb1417d8c7dce6
    Signed-off-by: Colin Cross <[email protected]>
    colincross authored and Gerrit Code Review committed Apr 19, 2013
    Configuration menu
    Copy the full SHA
    6a3b630 View commit details
    Browse the repository at this point in the history

Commits on Apr 20, 2013

  1. trace/events: fix gpu event timestamp formatting

    This change fixes the how the gpu_sched_switch timestamp field is formatted.
    
    Signed-off-by: Jamie Gennis <[email protected]>
    Change-Id: I273234935254ed15772c9e561c9af20e480004ae
    Jamie Gennis committed Apr 20, 2013
    Configuration menu
    Copy the full SHA
    6460ff8 View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2013

  1. net: wireless: bcmdhd: Prevent recursive call of cfg80211_sched_scan_…

    …stopped()
    
    Change-Id: I821313a69b2d2bb978917fc184bf9e095dd48c47
    Signed-off-by: Dmitry Shmidt <[email protected]>
    Dmitry Shmidt committed Apr 23, 2013
    Configuration menu
    Copy the full SHA
    357566d View commit details
    Browse the repository at this point in the history

Commits on Apr 24, 2013

  1. net: wireless: bcmdhd: Enable full scan on PNO event

    Change-Id: I21cfbd5fd88ab528a481b3a215a922ec656c681f
    Signed-off-by: Dmitry Shmidt <[email protected]>
    Dmitry Shmidt committed Apr 24, 2013
    Configuration menu
    Copy the full SHA
    9849aab View commit details
    Browse the repository at this point in the history
  2. net: wireless: bcmdhd: Update to version 1.88.11

    - Fix potential memory leak in wl_android_iolist_resume for Miracast command
    - Check return value for "buf_key_b4_m4"
    - Add Platform custom LISTEN INTERVAL
    - Parse all P2P IEs to check for attributes
    
    Change-Id: I892cd2efee425e38e08fbbec666c9a666eebe0cb
    Signed-off-by: Dmitry Shmidt <[email protected]>
    Dmitry Shmidt committed Apr 24, 2013
    Configuration menu
    Copy the full SHA
    ccf5d23 View commit details
    Browse the repository at this point in the history
  3. gpu: ion: Fix bug in ion shrinker

    The high variable was sometimes used uninitialized
    
    Change-Id: I2f51413fd2d063fdff325047e824dc8c749d9e0a
    Signed-off-by: Rebecca Schultz Zavin <[email protected]>
    Rebecca Schultz Zavin committed Apr 24, 2013
    Configuration menu
    Copy the full SHA
    3ccc212 View commit details
    Browse the repository at this point in the history
  4. android: configs: Initial commit of Android config fragments

    - Add 2 files that contain the minimal and recommended kernel config
    options respectively.
    - Add a README to explain their purpose and how to use them to
    generate a device config compatible with Android.
    
    Change-Id: I3a4883f3b04d2820e90ceb3c4d02390d6458d6ce
    Signed-off-by: Rom Lemarchand <[email protected]>
    Rom Lemarchand authored and Gerrit Code Review committed Apr 24, 2013
    Configuration menu
    Copy the full SHA
    f6b2e06 View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2013

  1. ARM: Do 15e0d9e (ARM: pm: let platforms select cpu_suspend support) p…

    …roperly
    
    commit b6c7aab upstream.
    
    Let's do the changes properly and fix the same problem everywhere, not
    just for one case.
    
    Signed-off-by: Russell King <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Russell King authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    816e2bb View commit details
    Browse the repository at this point in the history
  2. hrtimer: Don't reinitialize a cpu_base lock on CPU_UP

    commit 84cc8fd upstream.
    
    The current code makes the assumption that a cpu_base lock won't be
    held if the CPU corresponding to that cpu_base is offline, which isn't
    always true.
    
    If a hrtimer is not queued, then it will not be migrated by
    migrate_hrtimers() when a CPU is offlined. Therefore, the hrtimer's
    cpu_base may still point to a CPU which has subsequently gone offline
    if the timer wasn't enqueued at the time the CPU went down.
    
    Normally this wouldn't be a problem, but a cpu_base's lock is blindly
    reinitialized each time a CPU is brought up. If a CPU is brought
    online during the period that another thread is performing a hrtimer
    operation on a stale hrtimer, then the lock will be reinitialized
    under its feet, and a SPIN_BUG() like the following will be observed:
    
    <0>[   28.082085] BUG: spinlock already unlocked on CPU#0, swapper/0/0
    <0>[   28.087078]  lock: 0xc4780b40, value 0x0 .magic: dead4ead, .owner: <none>/-1, .owner_cpu: -1
    <4>[   42.451150] [<c0014398>] (unwind_backtrace+0x0/0x120) from [<c0269220>] (do_raw_spin_unlock+0x44/0xdc)
    <4>[   42.460430] [<c0269220>] (do_raw_spin_unlock+0x44/0xdc) from [<c071b5bc>] (_raw_spin_unlock+0x8/0x30)
    <4>[   42.469632] [<c071b5bc>] (_raw_spin_unlock+0x8/0x30) from [<c00a9ce0>] (__hrtimer_start_range_ns+0x1e4/0x4f8)
    <4>[   42.479521] [<c00a9ce0>] (__hrtimer_start_range_ns+0x1e4/0x4f8) from [<c00aa014>] (hrtimer_start+0x20/0x28)
    <4>[   42.489247] [<c00aa014>] (hrtimer_start+0x20/0x28) from [<c00e6190>] (rcu_idle_enter_common+0x1ac/0x320)
    <4>[   42.498709] [<c00e6190>] (rcu_idle_enter_common+0x1ac/0x320) from [<c00e6440>] (rcu_idle_enter+0xa0/0xb8)
    <4>[   42.508259] [<c00e6440>] (rcu_idle_enter+0xa0/0xb8) from [<c000f268>] (cpu_idle+0x24/0xf0)
    <4>[   42.516503] [<c000f268>] (cpu_idle+0x24/0xf0) from [<c06ed3c0>] (rest_init+0x88/0xa0)
    <4>[   42.524319] [<c06ed3c0>] (rest_init+0x88/0xa0) from [<c0c00978>] (start_kernel+0x3d0/0x434)
    
    As an example, this particular crash occurred when hrtimer_start() was
    executed on CPU #0. The code locked the hrtimer's current cpu_base
    corresponding to CPU #1. CPU #0 then tried to switch the hrtimer's
    cpu_base to an optimal CPU which was online. In this case, it selected
    the cpu_base corresponding to CPU #3.
    
    Before it could proceed, CPU #1 came online and reinitialized the
    spinlock corresponding to its cpu_base. Thus now CPU #0 held a lock
    which was reinitialized. When CPU #0 finally ended up unlocking the
    old cpu_base corresponding to CPU #1 so that it could switch to CPU
    #3, we hit this SPIN_BUG() above while in switch_hrtimer_base().
    
    CPU #0                            CPU #1
    ----                              ----
    ...                               <offline>
    hrtimer_start()
    lock_hrtimer_base(base #1)
    ...                               init_hrtimers_cpu()
    switch_hrtimer_base()             ...
    ...                               raw_spin_lock_init(&cpu_base->lock)
    raw_spin_unlock(&cpu_base->lock)  ...
    <spin_bug>
    
    Solve this by statically initializing the lock.
    
    Signed-off-by: Michael Bohan <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Thomas Gleixner <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Michael Bohan authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    1103607 View commit details
    Browse the repository at this point in the history
  3. can: sja1000: fix handling on dt properties on little endian systems

    commit 0443de5 upstream.
    
    To get correct endianes on little endian cpus (like arm) while reading device
    tree properties, this patch replaces of_get_property() with
    of_property_read_u32(). While there use of_property_read_bool() for the
    handling of the boolean "nxp,no-comparator-bypass" property.
    
    Signed-off-by: Christoph Fritz <[email protected]>
    Signed-off-by: Marc Kleine-Budde <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    ch-f authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    4f969dd View commit details
    Browse the repository at this point in the history
  4. hugetlbfs: add swap entry check in follow_hugetlb_page()

    commit 9cc3a5b upstream.
    
    With applying the previous patch "hugetlbfs: stop setting VM_DONTDUMP in
    initializing vma(VM_HUGETLB)" to reenable hugepage coredump, if a memory
    error happens on a hugepage and the affected processes try to access the
    error hugepage, we hit VM_BUG_ON(atomic_read(&page->_count) <= 0) in
    get_page().
    
    The reason for this bug is that coredump-related code doesn't recognise
    "hugepage hwpoison entry" with which a pmd entry is replaced when a memory
    error occurs on a hugepage.
    
    In other words, physical address information is stored in different bit
    layout between hugepage hwpoison entry and pmd entry, so
    follow_hugetlb_page() which is called in get_dump_page() returns a wrong
    page from a given address.
    
    The expected behavior is like this:
    
      absent   is_swap_pte   FOLL_DUMP   Expected behavior
      -------------------------------------------------------------------
       true     false         false       hugetlb_fault
       false    true          false       hugetlb_fault
       false    false         false       return page
       true     false         true        skip page (to avoid allocation)
       false    true          true        hugetlb_fault
       false    false         true        return page
    
    With this patch, we can call hugetlb_fault() and take proper actions (we
    wait for migration entries, fail with VM_FAULT_HWPOISON_LARGE for
    hwpoisoned entries,) and as the result we can dump all hugepages except
    for hwpoisoned ones.
    
    Signed-off-by: Naoya Horiguchi <[email protected]>
    Cc: Rik van Riel <[email protected]>
    Acked-by: Michal Hocko <[email protected]>
    Cc: HATAYAMA Daisuke <[email protected]>
    Acked-by: KOSAKI Motohiro <[email protected]>
    Acked-by: David Rientjes <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Naoya Horiguchi authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    f42097f View commit details
    Browse the repository at this point in the history
  5. kernel/signal.c: stop info leak via the tkill and the tgkill syscalls

    commit b9e146d upstream.
    
    This fixes a kernel memory contents leak via the tkill and tgkill syscalls
    for compat processes.
    
    This is visible in the siginfo_t->_sifields._rt.si_sigval.sival_ptr field
    when handling signals delivered from tkill.
    
    The place of the infoleak:
    
    int copy_siginfo_to_user32(compat_siginfo_t __user *to, siginfo_t *from)
    {
            ...
            put_user_ex(ptr_to_compat(from->si_ptr), &to->si_ptr);
            ...
    }
    
    Signed-off-by: Emese Revfy <[email protected]>
    Reviewed-by: PaX Team <[email protected]>
    Signed-off-by: Kees Cook <[email protected]>
    Cc: Al Viro <[email protected]>
    Cc: Oleg Nesterov <[email protected]>
    Cc: "Eric W. Biederman" <[email protected]>
    Cc: Serge Hallyn <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    ephox-gcc-plugins authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    cf27674 View commit details
    Browse the repository at this point in the history
  6. hfsplus: fix potential overflow in hfsplus_file_truncate()

    commit 12f267a upstream.
    
    Change a u32 to loff_t hfsplus_file_truncate().
    
    Signed-off-by: Vyacheslav Dubeyko <[email protected]>
    Cc: Christoph Hellwig <[email protected]>
    Cc: Al Viro <[email protected]>
    Cc: Hin-Tak Leung <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    dubeyko authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    e3aa855 View commit details
    Browse the repository at this point in the history
  7. KVM: x86: fix for buffer overflow in handling of MSR_KVM_SYSTEM_TIME (C…

    …VE-2013-1796)
    
    commit c300aa6 upstream.
    
    If the guest sets the GPA of the time_page so that the request to update the
    time straddles a page then KVM will write onto an incorrect page.  The
    write is done byusing kmap atomic to get a pointer to the page for the time
    structure and then performing a memcpy to that page starting at an offset
    that the guest controls.  Well behaved guests always provide a 32-byte aligned
    address, however a malicious guest could use this to corrupt host kernel
    memory.
    
    Tested: Tested against kvmclock unit test.
    
    Signed-off-by: Andrew Honig <[email protected]>
    Signed-off-by: Marcelo Tosatti <[email protected]>
    Cc: Ben Hutchings <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Andy Honig authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    ce7d866 View commit details
    Browse the repository at this point in the history
  8. KVM: x86: Convert MSR_KVM_SYSTEM_TIME to use gfn_to_hva_cache functio…

    …ns (CVE-2013-1797)
    
    commit 0b79459 upstream.
    
    There is a potential use after free issue with the handling of
    MSR_KVM_SYSTEM_TIME.  If the guest specifies a GPA in a movable or removable
    memory such as frame buffers then KVM might continue to write to that
    address even after it's removed via KVM_SET_USER_MEMORY_REGION.  KVM pins
    the page in memory so it's unlikely to cause an issue, but if the user
    space component re-purposes the memory previously used for the guest, then
    the guest will be able to corrupt that memory.
    
    Tested: Tested against kvmclock unit test
    
    Signed-off-by: Andrew Honig <[email protected]>
    Signed-off-by: Marcelo Tosatti <[email protected]>
    Cc: Ben Hutchings <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Andy Honig authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    f6dfc74 View commit details
    Browse the repository at this point in the history
  9. KVM: Fix bounds checking in ioapic indirect register reads (CVE-2013-…

    …1798)
    
    commit a2c118b upstream.
    
    If the guest specifies a IOAPIC_REG_SELECT with an invalid value and follows
    that with a read of the IOAPIC_REG_WINDOW KVM does not properly validate
    that request.  ioapic_read_indirect contains an
    ASSERT(redir_index < IOAPIC_NUM_PINS), but the ASSERT has no effect in
    non-debug builds.  In recent kernels this allows a guest to cause a kernel
    oops by reading invalid memory.  In older kernels (pre-3.3) this allows a
    guest to read from large ranges of host memory.
    
    Tested: tested against apic unit tests.
    
    Signed-off-by: Andrew Honig <[email protected]>
    Signed-off-by: Marcelo Tosatti <[email protected]>
    Cc: Ben Hutchings <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Andy Honig authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    f56d137 View commit details
    Browse the repository at this point in the history
  10. KVM: Allow cross page reads and writes from cached translations.

    commit 8f96452 upstream.
    
    This patch adds support for kvm_gfn_to_hva_cache_init functions for
    reads and writes that will cross a page.  If the range falls within
    the same memslot, then this will be a fast operation.  If the range
    is split between two memslots, then the slower kvm_read_guest and
    kvm_write_guest are used.
    
    Tested: Test against kvm_clock unit tests.
    
    Signed-off-by: Andrew Honig <[email protected]>
    Signed-off-by: Gleb Natapov <[email protected]>
    Cc: Ben Hutchings <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Andrew Honig authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    2a6b024 View commit details
    Browse the repository at this point in the history
  11. sched: Convert BUG_ON()s in try_to_wake_up_local() to WARN_ON_ONCE()s

    commit 383efcd upstream.
    
    try_to_wake_up_local() should only be invoked to wake up another
    task in the same runqueue and BUG_ON()s are used to enforce the
    rule. Missing try_to_wake_up_local() can stall workqueue
    execution but such stalls are likely to be finite either by
    another work item being queued or the one blocked getting
    unblocked.  There's no reason to trigger BUG while holding rq
    lock crashing the whole system.
    
    Convert BUG_ON()s in try_to_wake_up_local() to WARN_ON_ONCE()s.
    
    Signed-off-by: Tejun Heo <[email protected]>
    Acked-by: Steven Rostedt <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    htejun authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    4105375 View commit details
    Browse the repository at this point in the history
  12. ARM: 7696/1: Fix kexec by setting outer_cache.inv_all for Feroceon

    commit cd272d1 upstream.
    
    On Feroceon the L2 cache becomes non-coherent with the CPU
    when the L1 caches are disabled. Thus the L2 needs to be invalidated
    after both L1 caches are disabled.
    
    On kexec before the starting the code for relocation the kernel,
    the L1 caches are disabled in cpu_froc_fin (cpu_v7_proc_fin for Feroceon),
    but after L2 cache is never invalidated, because inv_all is not set
    in cache-feroceon-l2.c.
    So kernel relocation and decompression may has (and usually has) errors.
    Setting the function enables L2 invalidation and fixes the issue.
    
    Signed-off-by: Illia Ragozin <[email protected]>
    Acked-by: Jason Cooper <[email protected]>
    Signed-off-by: Russell King <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Illia Ragozin authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    9c27582 View commit details
    Browse the repository at this point in the history
  13. ARM: 7698/1: perf: fix group validation when using enable_on_exec

    commit cb2d8b3 upstream.
    
    Events may be created with attr->disabled == 1 and attr->enable_on_exec
    == 1, which confuses the group validation code because events with the
    PERF_EVENT_STATE_OFF are not considered candidates for scheduling, which
    may lead to failure at group scheduling time.
    
    This patch fixes the validation check for ARM, so that events in the
    OFF state are still considered when enable_on_exec is true.
    
    Reported-by: Sudeep KarkadaNagesha <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Arnaldo Carvalho de Melo <[email protected]>
    Cc: Jiri Olsa <[email protected]>
    Signed-off-by: Will Deacon <[email protected]>
    Signed-off-by: Russell King <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    wildea01 authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    bb93ad5 View commit details
    Browse the repository at this point in the history
  14. ath9k_htc: accept 1.x firmware newer than 1.3

    commit 319e7bd upstream.
    
    Since the firmware has been open sourced, the minor version has been
    bumped to 1.4 and the API/ABI will stay compatible across further 1.x
    releases.
    
    Signed-off-by: Felix Fietkau <[email protected]>
    Signed-off-by: John W. Linville <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Felix Fietkau authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    563868a View commit details
    Browse the repository at this point in the history
  15. ath9k_hw: change AR9580 initvals to fix a stability issue

    commit f09a878 upstream.
    
    The hardware parsing of Control Wrapper Frames needs to be disabled, as
    it has been causing spurious decryption error reports. The initvals for
    other chips have been updated to disable it, but AR9580 was left out for
    some reason.
    
    Signed-off-by: Felix Fietkau <[email protected]>
    Signed-off-by: John W. Linville <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Felix Fietkau authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    f4ec6e0 View commit details
    Browse the repository at this point in the history
  16. ssb: implement spurious tone avoidance

    commit 46fc4c9 upstream.
    
    And make use of it in b43. This fixes a regression introduced with
    49d55ce
    b43: N-PHY: implement spurious tone avoidance
    This commit made BCM4322 use only MCS 0 on channel 13, which of course
    resulted in performance drop (down to 0.7Mb/s).
    
    Reported-by: Stefan Brüns <[email protected]>
    Signed-off-by: Rafał Miłecki <[email protected]>
    Signed-off-by: John W. Linville <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    rmilecki authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    d6b8c33 View commit details
    Browse the repository at this point in the history
  17. crypto: algif - suppress sending source address information in recvmsg

    commit 72a763d upstream.
    
    The current code does not set the msg_namelen member to 0 and therefore
    makes net/socket.c leak the local sockaddr_storage variable to userland
    -- 128 bytes of kernel stack memory. Fix that.
    
    Signed-off-by: Mathias Krause <[email protected]>
    Signed-off-by: Herbert Xu <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    minipli authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    a3c2127 View commit details
    Browse the repository at this point in the history
  18. perf: Treat attr.config as u64 in perf_swevent_init()

    commit 8176cce upstream.
    
    Trinity discovered that we fail to check all 64 bits of
    attr.config passed by user space, resulting to out-of-bounds
    access of the perf_swevent_enabled array in
    sw_perf_event_destroy().
    
    Introduced in commit b0a873e ("perf: Register PMU
    implementations").
    
    Signed-off-by: Tommi Rantala <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: [email protected]
    Cc: Paul Mackerras <[email protected]>
    Cc: Arnaldo Carvalho de Melo <[email protected]>
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    rantala authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    da307d1 View commit details
    Browse the repository at this point in the history
  19. perf/x86: Fix offcore_rsp valid mask for SNB/IVB

    commit f192382 upstream.
    
    The valid mask for both offcore_response_0 and
    offcore_response_1 was wrong for SNB/SNB-EP,
    IVB/IVB-EP. It was possible to write to
    reserved bit and cause a GP fault crashing
    the kernel.
    
    This patch fixes the problem by correctly marking the
    reserved bits in the valid mask for all the processors
    mentioned above.
    
    A distinction between desktop and server parts is introduced
    because bits 24-30 are only available on the server parts.
    
    This version of the  patch is just a rebase to perf/urgent tree
    and should apply to older kernels as well.
    
    Signed-off-by: Stephane Eranian <[email protected]>
    Cc: [email protected]
    Cc: [email protected]
    Cc: [email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Stephane Eranian authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    6b48c21 View commit details
    Browse the repository at this point in the history
  20. fbcon: fix locking harder

    commit 054430e upstream.
    
    Okay so Alan's patch handled the case where there was no registered fbcon,
    however the other path entered in set_con2fb_map pit.
    
    In there we called fbcon_takeover, but we also took the console lock in a couple
    of places. So push the console lock out to the callers of set_con2fb_map,
    
    this means fbmem and switcheroo needed to take the lock around the fb notifier
    entry points that lead to this.
    
    This should fix the efifb regression seen by Maarten.
    
    Tested-by: Maarten Lankhorst <[email protected]>
    Tested-by: Lu Hua <[email protected]>
    Signed-off-by: Dave Airlie <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    airlied authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    726cc91 View commit details
    Browse the repository at this point in the history
  21. vm: add vm_iomap_memory() helper function

    commit b4cbb19 upstream.
    
    Various drivers end up replicating the code to mmap() their memory
    buffers into user space, and our core memory remapping function may be
    very flexible but it is unnecessarily complicated for the common cases
    to use.
    
    Our internal VM uses pfn's ("page frame numbers") which simplifies
    things for the VM, and allows us to pass physical addresses around in a
    denser and more efficient format than passing a "phys_addr_t" around,
    and having to shift it up and down by the page size.  But it just means
    that drivers end up doing that shifting instead at the interface level.
    
    It also means that drivers end up mucking around with internal VM things
    like the vma details (vm_pgoff, vm_start/end) way more than they really
    need to.
    
    So this just exports a function to map a certain physical memory range
    into user space (using a phys_addr_t based interface that is much more
    natural for a driver) and hides all the complexity from the driver.
    Some drivers will still end up tweaking the vm_page_prot details for
    things like prefetching or cacheability etc, but that's actually
    relevant to the driver, rather than caring about what the page offset of
    the mapping is into the particular IO memory region.
    
    Acked-by: Greg Kroah-Hartman <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    torvalds authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    c420060 View commit details
    Browse the repository at this point in the history
  22. vm: convert snd_pcm_lib_mmap_iomem() to vm_iomap_memory() helper

    commit 0fe09a4 upstream.
    
    This is my example conversion of a few existing mmap users.  The pcm
    mmap case is one of the more straightforward ones.
    
    Acked-by: Takashi Iwai <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    torvalds authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    ada37d8 View commit details
    Browse the repository at this point in the history
  23. vm: convert fb_mmap to vm_iomap_memory() helper

    commit fc9bbca upstream.
    
    This is my example conversion of a few existing mmap users.  The
    fb_mmap() case is a good example because it is a bit more complicated
    than some: fb_mmap() mmaps one of two different memory areas depending
    on the page offset of the mmap (but happily there is never any mixing of
    the two, so the helper function still works).
    
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    torvalds authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    b67bca9 View commit details
    Browse the repository at this point in the history
  24. vm: convert HPET mmap to vm_iomap_memory() helper

    commit 2323036 upstream.
    
    This is my example conversion of a few existing mmap users.  The HPET
    case is simple, widely available, and easy to test (Clemens Ladisch sent
    a trivial test-program for it).
    
    Test-program-by: Clemens Ladisch <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    torvalds authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    5de41eb View commit details
    Browse the repository at this point in the history
  25. vm: convert mtdchar mmap to vm_iomap_memory() helper

    commit 8558e4a upstream.
    
    This is my example conversion of a few existing mmap users.  The mtdchar
    case is actually disabled right now (and stays disabled), but I did it
    because it showed up on my "git grep", and I was familiar with the code
    due to fixing an overflow problem in the code in commit 9c603e5
    ("mtdchar: fix offset overflow detection").
    
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    torvalds authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    b00919c View commit details
    Browse the repository at this point in the history
  26. Btrfs: make sure nbytes are right after log replay

    commit 4bc4bee upstream.
    
    While trying to track down a tree log replay bug I noticed that fsck was always
    complaining about nbytes not being right for our fsynced file.  That is because
    the new fsync stuff doesn't wait for ordered extents to complete, so the inodes
    nbytes are not necessarily updated properly when we log it.  So to fix this we
    need to set nbytes to whatever it is on the inode that is on disk, so when we
    replay the extents we can just add the bytes that are being added as we replay
    the extent.  This makes it work for the case that we have the wrong nbytes or
    the case that we logged everything and nbytes is actually correct.  With this
    I'm no longer getting nbytes errors out of btrfsck.
    
    Signed-off-by: Josef Bacik <[email protected]>
    Signed-off-by: Chris Mason <[email protected]>
    Signed-off-by: Lingzhu Xiang <[email protected]>
    Reviewed-by: CAI Qian <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Josef Bacik authored and gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    8fdeb71 View commit details
    Browse the repository at this point in the history
  27. Linux 3.4.42

    gregkh committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    a5a9e7c View commit details
    Browse the repository at this point in the history
  28. cpufreq: interactive: fix uninitialized spinlock

    Add missing spinlock init
    
    Backtrace:
    [<c0011ce4>] (dump_backtrace+0x0/0x10c) from [<c0662a68>] (dump_stack+0x18/0x1c)
     r6:00000032 r5:c0bd09ec r4:e6848000 r3:00000000
    [<c0662a50>] (dump_stack+0x0/0x1c) from [<c06670b0>] (spin_dump+0x80/0x94)
    [<c0667030>] (spin_dump+0x0/0x94) from [<c06670f0>] (spin_bug+0x2c/0x30)
     r5:c08f91fc r4:c0bd09ec
    [<c06670c4>] (spin_bug+0x0/0x30) from [<c0245f74>] (do_raw_spin_unlock+0x88/0xcc)
     r5:e547bac0 r4:c0bd09ec
    [<c0245eec>] (do_raw_spin_unlock+0x0/0xcc) from [<c066c9cc>] (_raw_spin_unlock_irqrestore+0x14/0x40)
     r5:e547bac0 r4:60000013
    [<c066c9b8>] (_raw_spin_unlock_irqrestore+0x0/0x40) from [<c044b884>] (store_above_hispeed_delay+0x6c/0x80)
     r4:c0b4cf78 r3:00000007
    [<c044b818>] (store_above_hispeed_delay+0x0/0x80) from [<c0235d24>] (kobj_attr_store+0x1c/0x28)
     r7:e68ff000 r6:00000032 r5:e58137c0 r4:e61cde80
    [<c0235d08>] (kobj_attr_store+0x0/0x28) from [<c0156b78>] (sysfs_write_file+0x104/0x184)
    [<c0156a74>] (sysfs_write_file+0x0/0x184) from [<c0100680>] (vfs_write+0xb0/0x140)
    [<c01005d0>] (vfs_write+0x0/0x140) from [<c0100900>] (sys_write+0x44/0x70)
     r8:00000000 r7:00000004 r6:00000032 r5:bee43c90 r4:e5600300
    [<c01008bc>] (sys_write+0x0/0x70) from [<c000e400>] (ret_fast_syscall+0x0/0x30)
     r9:e6842000 r8:c000e584 r6:00000032 r5:bee43c90 r4:00000009
    
    Change-Id: I80a1e0b3fecb24adba501ff44f568479deeff7fa
    Signed-off-by: Minsung Kim <[email protected]>
    Minsung Kim authored and Gerrit Code Review committed Apr 26, 2013
    Configuration menu
    Copy the full SHA
    2e745d3 View commit details
    Browse the repository at this point in the history

Commits on Apr 29, 2013

  1. ARM: fault: assume no context when IRQs are disabled during data abort.

    Bail out early if IRQs are disabled in do_page_fault or else
      [14415.157266] BUG: sleeping function called from invalid context at arch/arm/mm/fault.c:301
    
    Russell King's idea from
      http://comments.gmane.org/gmane.linux.ports.arm.omap/59256
    
    Signed-off-by: JP Abgrall <[email protected]>
    jpa468 committed Apr 29, 2013
    Configuration menu
    Copy the full SHA
    0e473ae View commit details
    Browse the repository at this point in the history

Commits on May 1, 2013

  1. aio: fix possible invalid memory access when DEBUG is enabled

    commit 91d80a8 upstream.
    
    dprintk() shouldn't access @Ring after it's unmapped.
    
    Signed-off-by: Zhao Hongjiang <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Zhao Hongjiang authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    6bcd300 View commit details
    Browse the repository at this point in the history
  2. TTY: do not update atime/mtime on read/write

    commit b0de59b upstream.
    
    On http://vladz.devzero.fr/013_ptmx-timing.php, we can see how to find
    out length of a password using timestamps of /dev/ptmx. It is
    documented in "Timing Analysis of Keystrokes and Timing Attacks on
    SSH". To avoid that problem, do not update time when reading
    from/writing to a TTY.
    
    I am afraid of regressions as this is a behavior we have since 0.97
    and apps may expect the time to be current, e.g. for monitoring
    whether there was a change on the TTY. Now, there is no change. So
    this would better have a lot of testing before it goes upstream.
    
    References: CVE-2013-0160
    
    Signed-off-by: Jiri Slaby <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Jiri Slaby authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    3ab8db7 View commit details
    Browse the repository at this point in the history
  3. TTY: fix atime/mtime regression

    commit 37b7f3c upstream.
    
    In commit b0de59b ("TTY: do not update atime/mtime on read/write")
    we removed timestamps from tty inodes to fix a security issue and waited
    if something breaks.  Well, 'w', the utility to find out logged users
    and their inactivity time broke.  It shows that users are inactive since
    the time they logged in.
    
    To revert to the old behaviour while still preventing attackers to
    guess the password length, we update the timestamps in one-minute
    intervals by this patch.
    
    Signed-off-by: Jiri Slaby <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Jiri Slaby authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    c61642c View commit details
    Browse the repository at this point in the history
  4. sparc64: Fix race in TLB batch processing.

    [ Commits f36391d and
      f0af970 upstream. ]
    
    As reported by Dave Kleikamp, when we emit cross calls to do batched
    TLB flush processing we have a race because we do not synchronize on
    the sibling cpus completing the cross call.
    
    So meanwhile the TLB batch can be reset (tb->tlb_nr set to zero, etc.)
    and either flushes are missed or flushes will flush the wrong
    addresses.
    
    Fix this by using generic infrastructure to synchonize on the
    completion of the cross call.
    
    This first required getting the flush_tlb_pending() call out from
    switch_to() which operates with locks held and interrupts disabled.
    The problem is that smp_call_function_many() cannot be invoked with
    IRQs disabled and this is explicitly checked for with WARN_ON_ONCE().
    
    We get the batch processing outside of locked IRQ disabled sections by
    using some ideas from the powerpc port. Namely, we only batch inside
    of arch_{enter,leave}_lazy_mmu_mode() calls.  If we're not in such a
    region, we flush TLBs synchronously.
    
    1) Get rid of xcall_flush_tlb_pending and per-cpu type
       implementations.
    
    2) Do TLB batch cross calls instead via:
    
    	smp_call_function_many()
    		tlb_pending_func()
    			__flush_tlb_pending()
    
    3) Batch only in lazy mmu sequences:
    
    	a) Add 'active' member to struct tlb_batch
    	b) Define __HAVE_ARCH_ENTER_LAZY_MMU_MODE
    	c) Set 'active' in arch_enter_lazy_mmu_mode()
    	d) Run batch and clear 'active' in arch_leave_lazy_mmu_mode()
    	e) Check 'active' in tlb_batch_add_one() and do a synchronous
               flush if it's clear.
    
    4) Add infrastructure for synchronous TLB page flushes.
    
    	a) Implement __flush_tlb_page and per-cpu variants, patch
    	   as needed.
    	b) Likewise for xcall_flush_tlb_page.
    	c) Implement smp_flush_tlb_page() to invoke the cross-call.
    	d) Wire up global_flush_tlb_page() to the right routine based
               upon CONFIG_SMP
    
    5) It turns out that singleton batches are very common, 2 out of every
       3 batch flushes have only a single entry in them.
    
       The batch flush waiting is very expensive, both because of the poll
       on sibling cpu completeion, as well as because passing the tlb batch
       pointer to the sibling cpus invokes a shared memory dereference.
    
       Therefore, in flush_tlb_pending(), if there is only one entry in
       the batch perform a completely asynchronous global_flush_tlb_page()
       instead.
    
    Reported-by: Dave Kleikamp <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Acked-by: Dave Kleikamp <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    davem330 authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    bf6f841 View commit details
    Browse the repository at this point in the history
  5. atm: update msg_namelen in vcc_recvmsg()

    [ Upstream commit 9b3e617 ]
    
    The current code does not fill the msg_name member in case it is set.
    It also does not set the msg_namelen member to 0 and therefore makes
    net/socket.c leak the local, uninitialized sockaddr_storage variable
    to userland -- 128 bytes of kernel stack memory.
    
    Fix that by simply setting msg_namelen to 0 as obviously nobody cared
    about vcc_recvmsg() not filling the msg_name in case it was set.
    
    Signed-off-by: Mathias Krause <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    minipli authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    0e242b8 View commit details
    Browse the repository at this point in the history
  6. ax25: fix info leak via msg_name in ax25_recvmsg()

    [ Upstream commit ef3313e ]
    
    When msg_namelen is non-zero the sockaddr info gets filled out, as
    requested, but the code fails to initialize the padding bytes of struct
    sockaddr_ax25 inserted by the compiler for alignment. Additionally the
    msg_namelen value is updated to sizeof(struct full_sockaddr_ax25) but is
    not always filled up to this size.
    
    Both issues lead to the fact that the code will leak uninitialized
    kernel stack bytes in net/socket.c.
    
    Fix both issues by initializing the memory with memset(0).
    
    Signed-off-by: Mathias Krause <[email protected]>
    Cc: Ralf Baechle <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    minipli authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    0373095 View commit details
    Browse the repository at this point in the history
  7. Bluetooth: fix possible info leak in bt_sock_recvmsg()

    [ Upstream commit 4683f42 ]
    
    In case the socket is already shutting down, bt_sock_recvmsg() returns
    with 0 without updating msg_namelen leading to net/socket.c leaking the
    local, uninitialized sockaddr_storage variable to userland -- 128 bytes
    of kernel stack memory.
    
    Fix this by moving the msg_namelen assignment in front of the shutdown
    test.
    
    Signed-off-by: Mathias Krause <[email protected]>
    Cc: Marcel Holtmann <[email protected]>
    Cc: Gustavo Padovan <[email protected]>
    Cc: Johan Hedberg <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    minipli authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    a776cc3 View commit details
    Browse the repository at this point in the history
  8. Bluetooth: RFCOMM - Fix missing msg_namelen update in rfcomm_sock_rec…

    …vmsg()
    
    [ Upstream commit e11e045 ]
    
    If RFCOMM_DEFER_SETUP is set in the flags, rfcomm_sock_recvmsg() returns
    early with 0 without updating the possibly set msg_namelen member. This,
    in turn, leads to a 128 byte kernel stack leak in net/socket.c.
    
    Fix this by updating msg_namelen in this case. For all other cases it
    will be handled in bt_sock_stream_recvmsg().
    
    Signed-off-by: Mathias Krause <[email protected]>
    Cc: Marcel Holtmann <[email protected]>
    Cc: Gustavo Padovan <[email protected]>
    Cc: Johan Hedberg <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    minipli authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    2d97f68 View commit details
    Browse the repository at this point in the history
  9. caif: Fix missing msg_namelen update in caif_seqpkt_recvmsg()

    [ Upstream commit 2d6fbfe ]
    
    The current code does not fill the msg_name member in case it is set.
    It also does not set the msg_namelen member to 0 and therefore makes
    net/socket.c leak the local, uninitialized sockaddr_storage variable
    to userland -- 128 bytes of kernel stack memory.
    
    Fix that by simply setting msg_namelen to 0 as obviously nobody cared
    about caif_seqpkt_recvmsg() not filling the msg_name in case it was
    set.
    
    Signed-off-by: Mathias Krause <[email protected]>
    Cc: Sjur Braendeland <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    minipli authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    3300687 View commit details
    Browse the repository at this point in the history
  10. irda: Fix missing msg_namelen update in irda_recvmsg_dgram()

    [ Upstream commit 5ae94c0 ]
    
    The current code does not fill the msg_name member in case it is set.
    It also does not set the msg_namelen member to 0 and therefore makes
    net/socket.c leak the local, uninitialized sockaddr_storage variable
    to userland -- 128 bytes of kernel stack memory.
    
    Fix that by simply setting msg_namelen to 0 as obviously nobody cared
    about irda_recvmsg_dgram() not filling the msg_name in case it was
    set.
    
    Signed-off-by: Mathias Krause <[email protected]>
    Cc: Samuel Ortiz <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    minipli authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    d3dd629 View commit details
    Browse the repository at this point in the history
  11. iucv: Fix missing msg_namelen update in iucv_sock_recvmsg()

    [ Upstream commit a5598bd ]
    
    The current code does not fill the msg_name member in case it is set.
    It also does not set the msg_namelen member to 0 and therefore makes
    net/socket.c leak the local, uninitialized sockaddr_storage variable
    to userland -- 128 bytes of kernel stack memory.
    
    Fix that by simply setting msg_namelen to 0 as obviously nobody cared
    about iucv_sock_recvmsg() not filling the msg_name in case it was set.
    
    Signed-off-by: Mathias Krause <[email protected]>
    Cc: Ursula Braun <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    minipli authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    dbd9957 View commit details
    Browse the repository at this point in the history
  12. llc: Fix missing msg_namelen update in llc_ui_recvmsg()

    [ Upstream commit c77a4b9 ]
    
    For stream sockets the code misses to update the msg_namelen member
    to 0 and therefore makes net/socket.c leak the local, uninitialized
    sockaddr_storage variable to userland -- 128 bytes of kernel stack
    memory. The msg_namelen update is also missing for datagram sockets
    in case the socket is shutting down during receive.
    
    Fix both issues by setting msg_namelen to 0 early. It will be
    updated later if we're going to fill the msg_name member.
    
    Signed-off-by: Mathias Krause <[email protected]>
    Cc: Arnaldo Carvalho de Melo <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    minipli authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    40aea04 View commit details
    Browse the repository at this point in the history
  13. netrom: fix info leak via msg_name in nr_recvmsg()

    [ Upstream commits 3ce5efa and
      c802d75 ]
    
    In case msg_name is set the sockaddr info gets filled out, as
    requested, but the code fails to initialize the padding bytes of
    struct sockaddr_ax25 inserted by the compiler for alignment. Also
    the sax25_ndigis member does not get assigned, leaking four more
    bytes.
    
    Both issues lead to the fact that the code will leak uninitialized
    kernel stack bytes in net/socket.c.
    
    Fix both issues by initializing the memory with memset(0).
    
    Signed-off-by: Mathias Krause <[email protected]>
    Cc: Ralf Baechle <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    minipli authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    cd5e3d9 View commit details
    Browse the repository at this point in the history
  14. NFC: llcp: fix info leaks via msg_name in llcp_sock_recvmsg()

    [ Upstream commit d26d650 ]
    
    The code in llcp_sock_recvmsg() does not initialize all the members of
    struct sockaddr_nfc_llcp when filling the sockaddr info. Nor does it
    initialize the padding bytes of the structure inserted by the compiler
    for alignment.
    
    Also, if the socket is in state LLCP_CLOSED or is shutting down during
    receive the msg_namelen member is not updated to 0 while otherwise
    returning with 0, i.e. "success". The msg_namelen update is also
    missing for stream and seqpacket sockets which don't fill the sockaddr
    info.
    
    Both issues lead to the fact that the code will leak uninitialized
    kernel stack bytes in net/socket.c.
    
    Fix the first issue by initializing the memory used for sockaddr info
    with memset(0). Fix the second one by setting msg_namelen to 0 early.
    It will be updated later if we're going to fill the msg_name member.
    
    Signed-off-by: Mathias Krause <[email protected]>
    Cc: Lauro Ramos Venancio <[email protected]>
    Cc: Aloisio Almeida Jr <[email protected]>
    Cc: Samuel Ortiz <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    minipli authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    1091d7d View commit details
    Browse the repository at this point in the history
  15. rose: fix info leak via msg_name in rose_recvmsg()

    [ Upstream commit 4a18423 ]
    
    The code in rose_recvmsg() does not initialize all of the members of
    struct sockaddr_rose/full_sockaddr_rose when filling the sockaddr info.
    Nor does it initialize the padding bytes of the structure inserted by
    the compiler for alignment. This will lead to leaking uninitialized
    kernel stack bytes in net/socket.c.
    
    Fix the issue by initializing the memory used for sockaddr info with
    memset(0).
    
    Signed-off-by: Mathias Krause <[email protected]>
    Cc: Ralf Baechle <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    minipli authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    1a4dc01 View commit details
    Browse the repository at this point in the history
  16. tipc: fix info leaks via msg_name in recv_msg/recv_stream

    [ Upstream commit 60085c3 ]
    
    The code in set_orig_addr() does not initialize all of the members of
    struct sockaddr_tipc when filling the sockaddr info -- namely the union
    is only partly filled. This will make recv_msg() and recv_stream() --
    the only users of this function -- leak kernel stack memory as the
    msg_name member is a local variable in net/socket.c.
    
    Additionally to that both recv_msg() and recv_stream() fail to update
    the msg_namelen member to 0 while otherwise returning with 0, i.e.
    "success". This is the case for, e.g., non-blocking sockets. This will
    lead to a 128 byte kernel stack leak in net/socket.c.
    
    Fix the first issue by initializing the memory of the union with
    memset(0). Fix the second one by setting msg_namelen to 0 early as it
    will be updated later if we're going to fill the msg_name member.
    
    Signed-off-by: Mathias Krause <[email protected]>
    Cc: Jon Maloy <[email protected]>
    Cc: Allan Stephens <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    minipli authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    e979f54 View commit details
    Browse the repository at this point in the history
  17. netrom: fix invalid use of sizeof in nr_recvmsg()

    [ Upstream commit c802d75 ]
    
    sizeof() when applied to a pointer typed expression gives the size of the
    pointer, not that of the pointed data.
    Introduced by commit 3ce5ef(netrom: fix info leak via msg_name in nr_recvmsg)
    
    Signed-off-by: Wei Yongjun <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Wei Yongjun authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    7b806e7 View commit details
    Browse the repository at this point in the history
  18. cbq: incorrect processing of high limits

    [ Upstream commit f0f6ee1 ]
    
    currently cbq works incorrectly for limits > 10% real link bandwidth,
    and practically does not work for limits > 50% real link bandwidth.
    Below are results of experiments taken on 1 Gbit link
    
     In shaper | Actual Result
    -----------+---------------
      100M     | 108 Mbps
      200M     | 244 Mbps
      300M     | 412 Mbps
      500M     | 893 Mbps
    
    This happen because of q->now changes incorrectly in cbq_dequeue():
    when it is called before real end of packet transmitting,
    L2T is greater than real time delay, q_now gets an extra boost
    but never compensate it.
    
    To fix this problem we prevent change of q->now until its synchronization
    with real time.
    
    Signed-off-by: Vasily Averin <[email protected]>
    Reviewed-by: Alexey Kuznetsov <[email protected]>
    Acked-by: Eric Dumazet <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    VasilyAverin authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    815b101 View commit details
    Browse the repository at this point in the history
  19. net IPv6 : Fix broken IPv6 routing table after loopback down-up

    [ Upstream commit 25fb6ca ]
    
    IPv6 Routing table becomes broken once we do ifdown, ifup of the loopback(lo)
    interface. After down-up, routes of other interface's IPv6 addresses through
    'lo' are lost.
    
    IPv6 addresses assigned to all interfaces are routed through 'lo' for internal
    communication. Once 'lo' is down, those routing entries are removed from routing
    table. But those removed entries are not being re-created properly when 'lo' is
    brought up. So IPv6 addresses of other interfaces becomes unreachable from the
    same machine. Also this breaks communication with other machines because of
    NDISC packet processing failure.
    
    This patch fixes this issue by reading all interface's IPv6 addresses and adding
    them to IPv6 routing table while bringing up 'lo'.
    
    ==Testing==
    Before applying the patch:
    $ route -A inet6
    Kernel IPv6 routing table
    Destination                    Next Hop                   Flag Met Ref Use If
    2000::20/128                   ::                         U    256 0     0 eth0
    fe80::/64                      ::                         U    256 0     0 eth0
    ::/0                           ::                         !n   -1  1     1 lo
    ::1/128                        ::                         Un   0   1     0 lo
    2000::20/128                   ::                         Un   0   1     0 lo
    fe80::xxxx:xxxx:xxxx:xxxx/128  ::                         Un   0   1     0 lo
    ff00::/8                       ::                         U    256 0     0 eth0
    ::/0                           ::                         !n   -1  1     1 lo
    $ sudo ifdown lo
    $ sudo ifup lo
    $ route -A inet6
    Kernel IPv6 routing table
    Destination                    Next Hop                   Flag Met Ref Use If
    2000::20/128                   ::                         U    256 0     0 eth0
    fe80::/64                      ::                         U    256 0     0 eth0
    ::/0                           ::                         !n   -1  1     1 lo
    ::1/128                        ::                         Un   0   1     0 lo
    ff00::/8                       ::                         U    256 0     0 eth0
    ::/0                           ::                         !n   -1  1     1 lo
    $
    
    After applying the patch:
    $ route -A inet6
    Kernel IPv6 routing
    table
    Destination                    Next Hop                   Flag Met Ref Use If
    2000::20/128                   ::                         U    256 0     0 eth0
    fe80::/64                      ::                         U    256 0     0 eth0
    ::/0                           ::                         !n   -1  1     1 lo
    ::1/128                        ::                         Un   0   1     0 lo
    2000::20/128                   ::                         Un   0   1     0 lo
    fe80::xxxx:xxxx:xxxx:xxxx/128  ::                         Un   0   1     0 lo
    ff00::/8                       ::                         U    256 0     0 eth0
    ::/0                           ::                         !n   -1  1     1 lo
    $ sudo ifdown lo
    $ sudo ifup lo
    $ route -A inet6
    Kernel IPv6 routing table
    Destination                    Next Hop                   Flag Met Ref Use If
    2000::20/128                   ::                         U    256 0     0 eth0
    fe80::/64                      ::                         U    256 0     0 eth0
    ::/0                           ::                         !n   -1  1     1 lo
    ::1/128                        ::                         Un   0   1     0 lo
    2000::20/128                   ::                         Un   0   1     0 lo
    fe80::xxxx:xxxx:xxxx:xxxx/128  ::                         Un   0   1     0 lo
    ff00::/8                       ::                         U    256 0     0 eth0
    ::/0                           ::                         !n   -1  1     1 lo
    $
    
    Signed-off-by: Balakumaran Kannan <[email protected]>
    Signed-off-by: Maruthi Thotad <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    0xba1a authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    ef95e3d View commit details
    Browse the repository at this point in the history
  20. net: count hw_addr syncs so that unsync works properly.

    [ Upstream commit 4543fbe ]
    
    A few drivers use dev_uc_sync/unsync to synchronize the
    address lists from master down to slave/lower devices.  In
    some cases (bond/team) a single address list is synched down
    to multiple devices.  At the time of unsync, we have a leak
    in these lower devices, because "synced" is treated as a
    boolean and the address will not be unsynced for anything after
    the first device/call.
    
    Treat "synced" as a count (same as refcount) and allow all
    unsync calls to work.
    
    Signed-off-by: Vlad Yasevich <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Vlad Yasevich authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    617f13b View commit details
    Browse the repository at this point in the history
  21. atl1e: limit gso segment size to prevent generation of wrong ip lengt…

    …h fields
    
    [ Upstream commit 31d1670 ]
    
    The limit of 0x3c00 is taken from the windows driver.
    
    Suggested-by: Huang, Xiong <[email protected]>
    Cc: Huang, Xiong <[email protected]>
    Cc: Eric Dumazet <[email protected]>
    Signed-off-by: Hannes Frederic Sowa <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    strssndktn authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    74595d0 View commit details
    Browse the repository at this point in the history
  22. bonding: fix bonding_masters race condition in bond unloading

    [ Upstream commit 69b0216 ]
    
    While the bonding module is unloading, it is considered that after
    rtnl_link_unregister all bond devices are destroyed but since no
    synchronization mechanism exists, a new bond device can be created
    via bonding_masters before unregister_pernet_subsys which would
    lead to multiple problems (e.g. NULL pointer dereference, wrong RIP,
    list corruption).
    
    This patch fixes the issue by removing any bond devices left in the
    netns after bonding_masters is removed from sysfs.
    
    Signed-off-by: Nikolay Aleksandrov <[email protected]>
    Acked-by: Veaceslav Falico <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    [email protected] authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    643094a View commit details
    Browse the repository at this point in the history
  23. bonding: IFF_BONDING is not stripped on enslave failure

    [ Upstream commit b6a5a7b ]
    
    While enslaving a new device and after IFF_BONDING flag is set, in case
    of failure it is not stripped from the device's priv_flags while
    cleaning up, which could lead to other problems.
    Cleaning at err_close because the flag is set after dev_open().
    
    v2: no change
    
    Signed-off-by: Nikolay Aleksandrov <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    [email protected] authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    2a11e5f View commit details
    Browse the repository at this point in the history
  24. af_unix: If we don't care about credentials coallesce all messages

    [ Upstream commit 0e82e7f ]
    
    It was reported that the following LSB test case failed
    https://lsbbugs.linuxfoundation.org/attachment.cgi?id=2144 because we
    were not coallescing unix stream messages when the application was
    expecting us to.
    
    The problem was that the first send was before the socket was accepted
    and thus sock->sk_socket was NULL in maybe_add_creds, and the second
    send after the socket was accepted had a non-NULL value for sk->socket
    and thus we could tell the credentials were not needed so we did not
    bother.
    
    The unnecessary credentials on the first message cause
    unix_stream_recvmsg to start verifying that all messages had the same
    credentials before coallescing and then the coallescing failed because
    the second message had no credentials.
    
    Ignoring credentials when we don't care in unix_stream_recvmsg fixes a
    long standing pessimization which would fail to coallesce messages when
    reading from a unix stream socket if the senders were different even if
    we did not care about their credentials.
    
    I have tested this and verified that the in the LSB test case mentioned
    above that the messages do coallesce now, while the were failing to
    coallesce without this change.
    
    Reported-by: Karel Srot <[email protected]>
    Reported-by: Ding Tianhong <[email protected]>
    Signed-off-by: "Eric W. Biederman" <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    ebiederm authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    ba12001 View commit details
    Browse the repository at this point in the history
  25. netfilter: don't reset nf_trace in nf_reset()

    [ Upstream commit 124dff0 ]
    
    Commit 130549f ("netfilter: reset nf_trace in nf_reset") added code
    to reset nf_trace in nf_reset(). This is wrong and unnecessary.
    
    nf_reset() is used in the following cases:
    
    - when passing packets up the the socket layer, at which point we want to
      release all netfilter references that might keep modules pinned while
      the packet is queued. nf_trace doesn't matter anymore at this point.
    
    - when encapsulating or decapsulating IPsec packets. We want to continue
      tracing these packets after IPsec processing.
    
    - when passing packets through virtual network devices. Only devices on
      that encapsulate in IPv4/v6 matter since otherwise nf_trace is not
      used anymore. Its not entirely clear whether those packets should
      be traced after that, however we've always done that.
    
    - when passing packets through virtual network devices that make the
      packet cross network namespace boundaries. This is the only cases
      where we clearly want to reset nf_trace and is also what the
      original patch intended to fix.
    
    Add a new function nf_reset_trace() and use it in dev_forward_skb() to
    fix this properly.
    
    Signed-off-by: Patrick McHardy <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    kaber authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    1ab6b2a View commit details
    Browse the repository at this point in the history
  26. rtnetlink: Call nlmsg_parse() with correct header length

    [ Upstream commit 88c5b5c ]
    
    Signed-off-by: Michael Riesch <[email protected]>
    Cc: Jiri Benc <[email protected]>
    Cc: "Theodore Ts'o" <[email protected]>
    Acked-by: Mark Rustad <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Michael Riesch authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    f29e246 View commit details
    Browse the repository at this point in the history
  27. tcp: incoming connections might use wrong route under synflood

    [ Upstream commit d66954a ]
    
    There is a bug in cookie_v4_check (net/ipv4/syncookies.c):
    	flowi4_init_output(&fl4, 0, sk->sk_mark, RT_CONN_FLAGS(sk),
    			   RT_SCOPE_UNIVERSE, IPPROTO_TCP,
    			   inet_sk_flowi_flags(sk),
    			   (opt && opt->srr) ? opt->faddr : ireq->rmt_addr,
    			   ireq->loc_addr, th->source, th->dest);
    
    Here we do not respect sk->sk_bound_dev_if, therefore wrong dst_entry may be
    taken. This dst_entry is used by new socket (get_cookie_sock ->
    tcp_v4_syn_recv_sock), so its packets may take the wrong path.
    
    Signed-off-by: Dmitry Popov <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Dmitry Popov authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    d0d7ee0 View commit details
    Browse the repository at this point in the history
  28. tcp: Reallocate headroom if it would overflow csum_start

    [ Upstream commit 50bceae ]
    
    If a TCP retransmission gets partially ACKed and collapsed multiple
    times it is possible for the headroom to grow beyond 64K which will
    overflow the 16bit skb->csum_start which is based on the start of
    the headroom. It has been observed rarely in the wild with IPoIB due
    to the 64K MTU.
    
    Verify if the acking and collapsing resulted in a headroom exceeding
    what csum_start can cover and reallocate the headroom if so.
    
    A big thank you to Jim Foraker <[email protected]> and the team at
    LLNL for helping out with the investigation and testing.
    
    Reported-by: Jim Foraker <[email protected]>
    Signed-off-by: Thomas Graf <[email protected]>
    Acked-by: Eric Dumazet <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    tgraf authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    ca6ad5d View commit details
    Browse the repository at this point in the history
  29. esp4: fix error return code in esp_output()

    [ Upstream commit 06848c1 ]
    
    Fix to return a negative error code from the error handling
    case instead of 0, as returned elsewhere in this function.
    
    Signed-off-by: Wei Yongjun <[email protected]>
    Acked-by: Steffen Klassert <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Wei Yongjun authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    d768ca1 View commit details
    Browse the repository at this point in the history
  30. net: sctp: sctp_auth_key_put: use kzfree instead of kfree

    [ Upstream commit 586c31f ]
    
    For sensitive data like keying material, it is common practice to zero
    out keys before returning the memory back to the allocator. Thus, use
    kzfree instead of kfree.
    
    Signed-off-by: Daniel Borkmann <[email protected]>
    Acked-by: Neil Horman <[email protected]>
    Acked-by: Vlad Yasevich <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    borkmann authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    a009d58 View commit details
    Browse the repository at this point in the history
  31. tcp: call tcp_replace_ts_recent() from tcp_ack()

    [ Upstream commit 12fb3dd ]
    
    commit bd090df (tcp: tcp_replace_ts_recent() should not be called
    from tcp_validate_incoming()) introduced a TS ecr bug in slow path
    processing.
    
    1 A > B P. 1:10001(10000) ack 1 <nop,nop,TS val 1001 ecr 200>
    2 B < A . 1:1(0) ack 1 win 257 <sack 9001:10001,TS val 300 ecr 1001>
    3 A > B . 1:1001(1000) ack 1 win 227 <nop,nop,TS val 1002 ecr 200>
    4 A > B . 1001:2001(1000) ack 1 win 227 <nop,nop,TS val 1002 ecr 200>
    
    (ecr 200 should be ecr 300 in packets 3 & 4)
    
    Problem is tcp_ack() can trigger send of new packets (retransmits),
    reflecting the prior TSval, instead of the TSval contained in the
    currently processed incoming packet.
    
    Fix this by calling tcp_replace_ts_recent() from tcp_ack() after the
    checks, but before the actions.
    
    Reported-by: Yuchung Cheng <[email protected]>
    Signed-off-by: Eric Dumazet <[email protected]>
    Cc: Neal Cardwell <[email protected]>
    Acked-by: Neal Cardwell <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Eric Dumazet authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    7575f50 View commit details
    Browse the repository at this point in the history
  32. net: rate-limit warn-bad-offload splats.

    [ Upstream commit c846ad9 ]
    
    If one does do something unfortunate and allow a
    bad offload bug into the kernel, this the
    skb_warn_bad_offload can effectively live-lock the
    system, filling the logs with the same error over
    and over.
    
    Add rate limitation to this so that box remains otherwise
    functional in this case.
    
    Signed-off-by: Ben Greear <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    greearb authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    4087320 View commit details
    Browse the repository at this point in the history
  33. net: fix incorrect credentials passing

    [ Upstream commit 83f1b4b ]
    
    Commit 257b535 ("scm: Capture the full credentials of the scm
    sender") changed the credentials passing code to pass in the effective
    uid/gid instead of the real uid/gid.
    
    Obviously this doesn't matter most of the time (since normally they are
    the same), but it results in differences for suid binaries when the wrong
    uid/gid ends up being used.
    
    This just undoes that (presumably unintentional) part of the commit.
    
    Reported-by: Andy Lutomirski <[email protected]>
    Cc: Eric W. Biederman <[email protected]>
    Cc: Serge E. Hallyn <[email protected]>
    Cc: David S. Miller <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    Acked-by: "Eric W. Biederman" <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    torvalds authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    ca4bf7c View commit details
    Browse the repository at this point in the history
  34. net: drop dst before queueing fragments

    [ Upstream commit 97599dc ]
    
    Commit 4a94445 (net: Use ip_route_input_noref() in input path)
    added a bug in IP defragmentation handling, as non refcounted
    dst could escape an RCU protected section.
    
    Commit 64f3b9e (net: ip_expire() must revalidate route) fixed
    the case of timeouts, but not the general problem.
    
    Tom Parkin noticed crashes in UDP stack and provided a patch,
    but further analysis permitted us to pinpoint the root cause.
    
    Before queueing a packet into a frag list, we must drop its dst,
    as this dst has limited lifetime (RCU protected)
    
    When/if a packet is finally reassembled, we use the dst of the very
    last skb, still protected by RCU and valid, as the dst of the
    reassembled packet.
    
    Use same logic in IPv6, as there is no need to hold dst references.
    
    Reported-by: Tom Parkin <[email protected]>
    Tested-by: Tom Parkin <[email protected]>
    Signed-off-by: Eric Dumazet <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Eric Dumazet authored and gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    1d0dd1d View commit details
    Browse the repository at this point in the history
  35. Linux 3.4.43

    gregkh committed May 1, 2013
    Configuration menu
    Copy the full SHA
    b375a75 View commit details
    Browse the repository at this point in the history

Commits on May 3, 2013

  1. lowmemorykiller: make default lowmemorykiller debug message useful

    lowmemorykiller debug messages are inscrutable and mostly useful
    for debugging the lowmemorykiller, not explaining why a process
    was killed.  Make the messages more useful by prefixing them
    with "lowmemorykiller: " and explaining in more readable terms
    what was killed, who it was killed for, and why it was killed.
    
    The messages now look like:
    [   76.997631] lowmemorykiller: Killing 'droid.gallery3d' (2172), adj 1000,
    [   76.997635]    to free 27436kB on behalf of 'kswapd0' (29) because
    [   76.997638]    cache 122624kB is below limit 122880kB for oom_score_adj 1000
    [   76.997641]    Free memory is -53356kB above reserved
    
    A negative number for free memory above reserved means some of the
    reserved memory has been used and is being regenerated by kswapd,
    which is likely what called the shrinkers.
    
    Change-Id: I1fe983381e73e124b90aa5d91cb66e55eaca390f
    Signed-off-by: Colin Cross <[email protected]>
    colincross authored and jpa468 committed May 3, 2013
    Configuration menu
    Copy the full SHA
    f8f24e6 View commit details
    Browse the repository at this point in the history

Commits on May 4, 2013

  1. sunxi:i2c: unify headers with name inification

    sun4i-i2c and sun5i-i2c now will have same sunxi-i2c name,
    patch removes many #ifdef stuff for it
    wingrime authored and amery committed May 4, 2013
    Configuration menu
    Copy the full SHA
    4e217b8 View commit details
    Browse the repository at this point in the history
  2. sunxi:pm: Merge mach-sun[45]i/pm.

    v2: rebase, rename a magic constant.
    
    Signed-off-by: Michal Suchanek <[email protected]>
    hramrach authored and amery committed May 4, 2013
    Configuration menu
    Copy the full SHA
    b7428e8 View commit details
    Browse the repository at this point in the history
  3. sunxi:pm: Remove superfluous functions from pm.c and reindent.

    Signed-off-by: Michal Suchanek <[email protected]>
    hramrach authored and amery committed May 4, 2013
    Configuration menu
    Copy the full SHA
    fa6a930 View commit details
    Browse the repository at this point in the history
  4. sunxi-sound: Merge sun5i sound support into sun4i code

    I did a diff between the 2 soc/sound/sun?i dirs, then renamed differently
    named files, and s/sun5i/sun4i/ and run the diff again. After this the
    differences were very small. This patch adds the differences to the
    sun4i code (with machine_sun4i() / machine_sun5i()) checks and drops the
    entire sun5i dir.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed May 4, 2013
    Configuration menu
    Copy the full SHA
    199d459 View commit details
    Browse the repository at this point in the history
  5. sunxi:dma: unify sun[45] dma

    Only unification, all changes related headers, moving mach->plat
    Signed-off-by: Alexsey Shestacov <[email protected]>
    wingrime authored and amery committed May 4, 2013
    Configuration menu
    Copy the full SHA
    10d4e39 View commit details
    Browse the repository at this point in the history
  6. sunxi:nand: Add dma operation timeout

    In some cases dma operation can hung and that hung all process try
    access to that device. Timeout (20 sec) make possible exit from that
    but code still need handle such return
    wingrime authored and amery committed May 4, 2013
    Configuration menu
    Copy the full SHA
    8a8bf2c View commit details
    Browse the repository at this point in the history
  7. Add support for interbyte delay in SPI transfers

    Some SPI slave devices require a delay between each byte of an SPI transfer so that the slave has time to save/load the data.  This is common for slave devices that do not support DMA such as other small MCU's.
    
    The A10/A13 devices have a mechanism to easily do this, there is a function in spi_sunxi.c that sets it up (aw_spi_set_waitclk_cnt), but no mechanism is provided to call this function.
    
    This patch addresses this shortcoming by adding an extra field to struct spi_ioc_transfer.
    
    Here is an example of how to include interbyte delays in an SPI transfer:
    
    struct spi_ioc_transfer tr[2];
    
    memset(tr, 0, sizeof tr);
    
    tr[0].tx_buf = (unsigned long)tx;
    tr[0].len = 1;
    tr[0].delay_usecs = 10;
    
    tr[1].rx_buf = (unsigned long)rx;
    tr[1].len = 2;
    tr[1].interbyte_usecs = 5;
    
    if ((ret = ioctl(fd, SPI_IOC_MESSAGE(2), tr)) == -1)
    {
    	ERRMSG("Lacrosse: can't send spi message");
    	return -2;
    }
    
    Signed-off-by: Simon Ratcliffe [email protected]
    theOzzieRat authored and amery committed May 4, 2013
    Configuration menu
    Copy the full SHA
    2e7cc33 View commit details
    Browse the repository at this point in the history
  8. sunxi: Make avs compile.

    Functionality not tested.
    
    Signed-off-by: Michal Suchanek <[email protected]>
    hramrach authored and amery committed May 4, 2013
    Configuration menu
    Copy the full SHA
    9b2a434 View commit details
    Browse the repository at this point in the history
  9. sunxi: usb: introduce config hack to workaround lack of sunxi USB mod…

    …ule support
    
    Signed-off-by: Jussi Kivilinna <[email protected]>
    jkivilin authored and amery committed May 4, 2013
    Configuration menu
    Copy the full SHA
    3c82c89 View commit details
    Browse the repository at this point in the history
  10. disp: track layers created by ioctl.

    When fd is closed the layers created on it should be removed.
    
    v2: don't BOG_ON() removing not created layers.
    
    Signed-off-by: Michal Suchanek <[email protected]>
    hramrach authored and amery committed May 4, 2013
    Configuration menu
    Copy the full SHA
    c5b0367 View commit details
    Browse the repository at this point in the history
  11. sunxi: fix tty ddc compilation

    fixes issue #127
    SPIN_LOCK_UNLOCKED is deprecated since 2007, this maybe merge error
    
    Signed-off-by: Alexsey Shestacov <[email protected]>
    wingrime authored and amery committed May 4, 2013
    Configuration menu
    Copy the full SHA
    2439ae6 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    3ba0428 View commit details
    Browse the repository at this point in the history
  13. Merge tag 'v3.4.43' into reference-3.4

    This is the 3.4.43 stable release
    amery committed May 4, 2013
    Configuration menu
    Copy the full SHA
    d809212 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    6416f0b View commit details
    Browse the repository at this point in the history

Commits on May 12, 2013

  1. sunxi: Fixup __devinit usage

    hno committed May 12, 2013
    Configuration menu
    Copy the full SHA
    b341bf8 View commit details
    Browse the repository at this point in the history

Commits on May 14, 2013

  1. rtl8188eu: Add new wireless driver

    This adds the rtl8188eu dir from rtl8188eu.zip from:
    http://gutspot.com/wp-content/uploads/2013/01/8188eu_USB_linux.zip
    Which is the latest version I can find, as drivers/net/wireless/rtl8188eu
    with all line-endings converted from dos to unix.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed May 14, 2013
    Configuration menu
    Copy the full SHA
    af15afb View commit details
    Browse the repository at this point in the history
  2. rtl8189es: Add new wireless driver

    This adds the rtl8188eu dir from rtl8188eu.zip from:
    http://gutspot.com/wp-content/uploads/2013/01/8188eu_USB_linux.zip
    Which is the latest version I can find, as drivers/net/wireless/rtl8189es
    with all line-endings converted from dos to unix and
    rtl8189es/autoconf_rtl8189e_sdio_linux.h copied to rtl8189es/include/autoconf.h
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed May 14, 2013
    Configuration menu
    Copy the full SHA
    408c44f View commit details
    Browse the repository at this point in the history
  3. rtl8723as: Add new wireless driver

    Add several drivers for various realtek chipsets. The code is taken from the
    i-onik.de source and the 8188eu driver has been tested.
    
    Signed-off-by: Hans de Goede <[email protected]>
    npeacock authored and jwrdegoede committed May 14, 2013
    Configuration menu
    Copy the full SHA
    df1af62 View commit details
    Browse the repository at this point in the history
  4. rtxx7x: Add new wireless driver

    Add several drivers for various realtek chipsets. The code is taken from the
    i-onik.de source and the 8188eu driver has been tested.
    
    HdG: Note this is not a realtek but a Ralink driver.
    
    Signed-off-by: Hans de Goede <[email protected]>
    npeacock authored and jwrdegoede committed May 14, 2013
    Configuration menu
    Copy the full SHA
    307628e View commit details
    Browse the repository at this point in the history
  5. rtl818x: Hookup the new wireless drivers

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed May 14, 2013
    Configuration menu
    Copy the full SHA
    66cdb2c View commit details
    Browse the repository at this point in the history
  6. wireless: Make the new drivers build with sunxi-3.4

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed May 14, 2013
    Configuration menu
    Copy the full SHA
    d4fba0e View commit details
    Browse the repository at this point in the history
  7. mmc-pm: Add support for a couple of new sdio wifi card types

    From the i-onik.de sources.
    
    Signed-off-by: Hans de Goede <[email protected]>
    theOzzieRat authored and jwrdegoede committed May 14, 2013
    Configuration menu
    Copy the full SHA
    3970c5a View commit details
    Browse the repository at this point in the history
  8. sunxi-mmc: Make sunximmc_rescan_card work if called before module-init

    The init order of builtin modules is not guaranteed, so mmc_pm
    init may get called first, leading to sunximmc_rescan_card being called before
    the sunxi-host mmc module is initialized itself.
    
    This patch makes this scenario work by remembering the rescan request, and
    executing it on module init.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed May 14, 2013
    Configuration menu
    Copy the full SHA
    0feaa78 View commit details
    Browse the repository at this point in the history
  9. rtl8189es: Make module auto-load

    Add a proper sdio: module-alias and move the initial powerup + rescan to
    rtl8189es_wifi_gpio_init, so that the wifi module gets auto-loaded if
    enabled in the fex file. This assumes that mmc_pm is build into the kernel,
    as mmc_pm is the one doing the sdio_wifi_para fex section parsing.
    
    If mmc_pm is not buildin it will need to be loaded manually (just as before),
    and then on mmc_pm load rtl8189es will be autoloaded.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed May 14, 2013
    Configuration menu
    Copy the full SHA
    20db948 View commit details
    Browse the repository at this point in the history
  10. rtl8723as: Make module auto-load

    Add a proper sdio: module-alias and move the initial powerup + rescan to
    rtl8723as_wifi_gpio_init, so that the wifi module gets auto-loaded if
    enabled in the fex file. This assumes that mmc_pm is build into the kernel,
    as mmc_pm is the one doing the sdio_wifi_para fex section parsing.
    
    If mmc_pm is not buildin it will need to be loaded manually (just as before),
    and then on mmc_pm load rtl8723as will be autoloaded.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed May 14, 2013
    Configuration menu
    Copy the full SHA
    8b9710f View commit details
    Browse the repository at this point in the history

Commits on May 22, 2013

  1. sunxi-sound: Fix soc-audio.x should use snd_soc_register_card() warnings

    These warnings are thrown at runtime when the device(s) in question are
    registering.
    
    Note this is possibly a 3.4 only thing / patch-series.
    
    While almost rewriting this code anyways also fix:
    1) script_parser_fetch's last argument is an integer count, not a byte count
    2) Fix cleaning up of platform_device when driver registration fails
    3) On module onload properly remove both the device and the driver
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed May 22, 2013
    Configuration menu
    Copy the full SHA
    be39452 View commit details
    Browse the repository at this point in the history
  2. sunxi-sound: Move registration of hdmi-audio devices to sunxi-hdmi code

    Registering the hdmi audio-devices when not using hdmi means that userspace
    may end up trying to use hdmi while it is not working. When hdmi-audio is
    not enabled, and userspace still tries to use it the audio-using app(s) will
    hang when trying to write to the audio-device, since the write will never
    complete when the video-part is not consuming any hdmi-audio.
    
    Note that this patch does not unregister the audio-card again if the hdmi
    block is powered down (dpms / blank screen), so as to avoid audio-streaming
    apps to crash / abort because the soundcard has gone away. Instead the app
    will pause (write will block) on monitor powerdown and resume again when
    the monitor powers back on.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed May 22, 2013
    Configuration menu
    Copy the full SHA
    7dd978e View commit details
    Browse the repository at this point in the history
  3. sunxi-sound: Cleanup spdif_used parsing

    Various spdif_used parsing fixes / cleanups:
    1) sun4i_spdma was not honoring spdif_used
    2) There are 4 .ko files build for spdif, having each of them complain when
       spdif_used is not set is a bit too much
    3) script_parser_fetch's last argument is an integer count, not a byte count
    4) Fix cleaning up of platform_device when driver registration fails
    5) On module onload properly remove both the device and the driver
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed May 22, 2013
    Configuration menu
    Copy the full SHA
    76facd1 View commit details
    Browse the repository at this point in the history
  4. sunxi-sound: Honor audio_used fex file setting

    So that devices which don't have analog audio hooked up don't get an
    alsa sound-card for it.
    
    While almost rewriting this code anyways also fix:
    1) Cleaning up of platform_device when driver registration fails
    2) On module onload properly remove both the device and the driver
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed May 22, 2013
    Configuration menu
    Copy the full SHA
    ae50d31 View commit details
    Browse the repository at this point in the history
  5. sunxi-sound: Honor capture_used and playback_used

    So that the onboard-coded alsa-card does not advertises that it can playback /
    capture sound on boards which cannot.
    
    Note playback_used is a linux-sunxi.org fex file extension for boards which use
    the onboard audio codec only for input, such as the uhost_u1a & mk802-a10s.
    
    Since playback_used is a linux-sunxi.org fex file extension, it is assumed to
    be 1 when not set.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed May 22, 2013
    Configuration menu
    Copy the full SHA
    7117947 View commit details
    Browse the repository at this point in the history
  6. sunxi-rfkill: Don't register a bluetooth rfkill device when there is …

    …no bt
    
    This also modifies mmc_pm_get_mod_type to make it safe to call before the
    mmc_pm module_init function has completed running, since the sunxi-rfkill
    module_init function may run first.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed May 22, 2013
    Configuration menu
    Copy the full SHA
    c7d2331 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2013

  1. 1-wire bus platform device for sunxi platforms

    This adds a way to register a platform device for 1-wire bus.
    It introduces a new section "[w1_para]" in the FEX to configure the
    GPIO pin number used for the bus, with the attribute named "gpio".
    The GPIO pin must also be defined in the "[gpio_para]" section.
    
    1-wire device can then be accessed using the w1-gpio driver.
    
    Example configuration :
    [w1_para]
    gpio = 3
    
    [gpio_para]
    gpio_used = 1
    gpio_num = 3
    ...
    gpio_pin_3 = port:PH7<0><default><default><0>
    
    It is also possible to configure the GPIO pin number with the
    module paramerer "gpio". In this case, if the pin is valid,
    it will be used instead of what is configured in the FEX script.
    
    Signed-off-by: Damien Nicolet <[email protected]>
    zardam authored and amery committed May 23, 2013
    Configuration menu
    Copy the full SHA
    893b59b View commit details
    Browse the repository at this point in the history

Commits on May 30, 2013

  1. rtc:rtc-sun5i: Chinese comments on RTC driver of sun5i translated to …

    …english
    
    Acked-by: Oliver Schinagl ([email protected])
    lxsameer authored and amery committed May 30, 2013
    Configuration menu
    Copy the full SHA
    9b373da View commit details
    Browse the repository at this point in the history
  2. sunxi-sound: Honor capture_used and playback_used

    Hans de Goede patched sun4i to be more friendly to playback_used and
    capture_used. This however had as a side effect, that disabled mixer
    elemnts where still available in the mixer controls. This patch extends
    this functionality and only shows mixer elements for enabled components.
    oliv3r authored and amery committed May 30, 2013
    Configuration menu
    Copy the full SHA
    f4c0d0c View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2013

  1. ARM: 7668/1: fix memset-related crashes caused by recent GCC (4.7.2) …

    …optimizations
    
    Recent GCC versions (e.g. GCC-4.7.2) perform optimizations based on
    assumptions about the implementation of memset and similar functions.
    The current ARM optimized memset code does not return the value of
    its first argument, as is usually expected from standard implementations.
    
    For instance in the following function:
    
    void debug_mutex_lock_common(struct mutex *lock, struct mutex_waiter *waiter)
    {
    	memset(waiter, MUTEX_DEBUG_INIT, sizeof(*waiter));
    	waiter->magic = waiter;
    	INIT_LIST_HEAD(&waiter->list);
    }
    
    compiled as:
    
    800554d0 <debug_mutex_lock_common>:
    800554d0:       e92d4008        push    {r3, lr}
    800554d4:       e1a00001        mov     r0, r1
    800554d8:       e3a02010        mov     r2, #16 ; 0x10
    800554dc:       e3a01011        mov     r1, #17 ; 0x11
    800554e0:       eb04426e        bl      80165ea0 <memset>
    800554e4:       e1a03000        mov     r3, r0
    800554e8:       e583000c        str     r0, [r3, #12]
    800554ec:       e5830000        str     r0, [r3]
    800554f0:       e5830004        str     r0, [r3, #4]
    800554f4:       e8bd8008        pop     {r3, pc}
    
    GCC assumes memset returns the value of pointer 'waiter' in register r0; causing
    register/memory corruptions.
    
    This patch fixes the return value of the assembly version of memset.
    It adds a 'mov' instruction and merges an additional load+store into
    existing load/store instructions.
    For ease of review, here is a breakdown of the patch into 4 simple steps:
    
    Step 1
    ======
    Perform the following substitutions:
    ip -> r8, then
    r0 -> ip,
    and insert 'mov ip, r0' as the first statement of the function.
    At this point, we have a memset() implementation returning the proper result,
    but corrupting r8 on some paths (the ones that were using ip).
    
    Step 2
    ======
    Make sure r8 is saved and restored when (! CALGN(1)+0) == 1:
    
    save r8:
    -       str     lr, [sp, #-4]!
    +       stmfd   sp!, {r8, lr}
    
    and restore r8 on both exit paths:
    -       ldmeqfd sp!, {pc}               @ Now <64 bytes to go.
    +       ldmeqfd sp!, {r8, pc}           @ Now <64 bytes to go.
    (...)
            tst     r2, #16
            stmneia ip!, {r1, r3, r8, lr}
    -       ldr     lr, [sp], #4
    +       ldmfd   sp!, {r8, lr}
    
    Step 3
    ======
    Make sure r8 is saved and restored when (! CALGN(1)+0) == 0:
    
    save r8:
    -       stmfd   sp!, {r4-r7, lr}
    +       stmfd   sp!, {r4-r8, lr}
    
    and restore r8 on both exit paths:
            bgt     3b
    -       ldmeqfd sp!, {r4-r7, pc}
    +       ldmeqfd sp!, {r4-r8, pc}
    (...)
            tst     r2, #16
            stmneia ip!, {r4-r7}
    -       ldmfd   sp!, {r4-r7, lr}
    +       ldmfd   sp!, {r4-r8, lr}
    
    Step 4
    ======
    Rewrite register list "r4-r7, r8" as "r4-r8".
    
    Signed-off-by: Ivan Djelic <[email protected]>
    Reviewed-by: Nicolas Pitre <[email protected]>
    Signed-off-by: Dirk Behme <[email protected]>
    Signed-off-by: Russell King <[email protected]>
    idjelic authored and turl committed Jun 27, 2013
    Configuration menu
    Copy the full SHA
    d6d356f View commit details
    Browse the repository at this point in the history
  2. ARM: 7670/1: fix the memset fix

    Commit 455bd4c ("ARM: 7668/1: fix memset-related crashes caused by
    recent GCC (4.7.2) optimizations") attempted to fix a compliance issue
    with the memset return value.  However the memset itself became broken
    by that patch for misaligned pointers.
    
    This fixes the above by branching over the entry code from the
    misaligned fixup code to avoid reloading the original pointer.
    
    Also, because the function entry alignment is wrong in the Thumb mode
    compilation, that fixup code is moved to the end.
    
    While at it, the entry instructions are slightly reworked to help dual
    issue pipelines.
    
    Signed-off-by: Nicolas Pitre <[email protected]>
    Tested-by: Alexander Holler <[email protected]>
    Signed-off-by: Russell King <[email protected]>
    Nicolas Pitre authored and turl committed Jun 27, 2013
    Configuration menu
    Copy the full SHA
    e75be34 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2013

  1. sunxi: disambiguate sw_get_ic_ver()'s enum

    Signed-off-by: Alejandro Mery <[email protected]>
    amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    0fb8f79 View commit details
    Browse the repository at this point in the history
  2. sunxi: soc-detect: move sw_get_ic_ver() to a separated module

    Signed-off-by: Alejandro Mery <[email protected]>
    amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    9c96a3f View commit details
    Browse the repository at this point in the history
  3. sunxi:soc-detect: move sunxi_chip_id() out of core.c

    Signed-off-by: Alejandro Mery <[email protected]>
    amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    1dce2de View commit details
    Browse the repository at this point in the history
  4. sunxi: don't assume SUNXI_VER_A10A == 0

    Signed-off-by: Alejandro Mery <[email protected]>
    amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    01b2eb9 View commit details
    Browse the repository at this point in the history
  5. sunxi: extend sw_get_ic_ver() to detect sun5i chips

    based on Allwinner's mach-sun5i code to "magically" detect the chip
    
    Signed-off-by: Alejandro Mery <[email protected]>
    amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    0938c4e View commit details
    Browse the repository at this point in the history
  6. sunxi:soc-detect: fix sw_get_ic_ver/sun5i bug

    Signed-off-by: Alejandro Mery <[email protected]>
    amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    1c2b0bd View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    7073876 View commit details
    Browse the repository at this point in the history
  8. sunxi: add sunxi_is_${soc_name}() macros

    supporting all known sun4i and sun5i SoCs.
    - sunxi_is_a10()
    - sunxi_is_a13()
    - sunxi_is_a12()
    - sunxi_is_a10s()
    
    Signed-off-by: Alejandro Mery <[email protected]>
    amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    4992226 View commit details
    Browse the repository at this point in the history
  9. sunxi: implement sw_get_chip_id()

    from latest sun[45]i SDK
    
    Signed-off-by: Alejandro Mery <[email protected]>
    amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    5620ab0 View commit details
    Browse the repository at this point in the history
  10. sunxi:soc-detect: mark sw_get_ic_ver() as pure

    Signed-off-by: Alejandro Mery <[email protected]>
    amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    9c8cb43 View commit details
    Browse the repository at this point in the history
  11. sunxi: bring sunxi_pr_chip_id() back, but using the ic_ver

    Signed-off-by: Alejandro Mery <[email protected]>
    amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    b411e16 View commit details
    Browse the repository at this point in the history
  12. sunxi:soc-detect: rename sunxi_chip_id() to sunxi_brom_chip_id()

    because there are other methods
    
    Signed-off-by: Alejandro Mery <[email protected]>
    amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    396c87c View commit details
    Browse the repository at this point in the history
  13. sunxi:soc-detect: export sunxi_brom_chip_id()

    Signed-off-by: Alejandro Mery <[email protected]>
    amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    1ac05cf View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    7ad3fec View commit details
    Browse the repository at this point in the history
  15. sunxi:soc-detect: introduce sunxi_sramc_chip_id()

    Thanks to hno's discovery
    
    Signed-off-by: Alejandro Mery <[email protected]>
    amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    7e7848d View commit details
    Browse the repository at this point in the history
  16. sunxi:soc-detect: add cached/pure sunxi_chip_id() and sunxi_is_sunNi(…

    …) macros
    
    Signed-off-by: Alejandro Mery <[email protected]>
    amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    ca529b9 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    0b80c99 View commit details
    Browse the repository at this point in the history
  18. sunxi:soc-detect: remove CONFIG_ARCH_SUNnI optimization

    Signed-off-by: Alejandro Mery <[email protected]>
    amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    93dfd67 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    21f20c5 View commit details
    Browse the repository at this point in the history
  20. sunxi:soc-detect: clean register dumping code

    Signed-off-by: Alejandro Mery <[email protected]>
    amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    7014cae View commit details
    Browse the repository at this point in the history
  21. sunxi:soc-detect: add basic sun6i/A31 detection

    Thanks to drachensun
    
    Signed-off-by: Alejandro Mery <[email protected]>
    amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    89dbe5f View commit details
    Browse the repository at this point in the history
  22. sunxi:soc-detect: refactored SUNXI_VER_ values into something more us…

    …eful
    
    Signed-off-by: Alejandro Mery <[email protected]>
    amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    0f00aee View commit details
    Browse the repository at this point in the history
  23. SUN5I GPIO EINT definition and fix to irq search function

    This patch fix the break condition in "sunxi_find_gpio_irq" to prevent the early stop of the search in the "gpio_eint_list".
    If the EINT enumeration is discontinuous it could happen that some elements in the list are empty, but the search must go on until the scan of the list is complete, without stopping at the first not-defined EINT.
    For example, as defined in "gpio-sunxi.h" patch, SUN5I arch has only some of the 32 interrupts available, but the enumeration is not continuous. This is not a problem in the SUN4I which has all the 0-31 interrupts defined.
    
    EINT_NUM definition in "gpio-sunxi.h" is 32 because there are 4 8-bit registers for interrupts configuration, so it should be reasonable that the interrupt layout of SUN5I is simlar to SUN4I with only some irqs enable.
    
    Signed-off-by: Lorenzo Nava <[email protected]>
    LorenzoNava authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    34b1781 View commit details
    Browse the repository at this point in the history
  24. gpio:sunxi: move eint table within the .c and using sunxi_is_foo()

    Signed-off-by: Alejandro Mery <[email protected]>
    amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    3e8b768 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    aec8363 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    c9b3a45 View commit details
    Browse the repository at this point in the history
  27. sunxi:soc-detect: introduce CONFIG_SUNXI_MULTIPLATFORM

    to deal with CONFIG_ARCH_SUNnI optimizations, when disabled.
    
    Signed-off-by: Alejandro Mery <[email protected]>
    amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    0384a87 View commit details
    Browse the repository at this point in the history
  28. sunxi:soc-detect: add initial A20 support

    thanks to lkcl!
    
    Signed-off-by: Alejandro Mery <[email protected]>
    amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    c00f1d7 View commit details
    Browse the repository at this point in the history
  29. sunxi [soc-detect]: Fix detection of A10s

    This fixes the detection of the A10s of my 2 A10s boards, while still
    successfully identifying the A13 on my olinuxio A13 micro board as an A13.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    9958517 View commit details
    Browse the repository at this point in the history
  30. axp20: Do not load if the fex file says the board has an axp152

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    4466b13 View commit details
    Browse the repository at this point in the history
  31. axp20: Rename axp20_core supply to Vcore

    Make cpu-freq use a generic supply name to find the regulator for the A8 cpu
    core voltage, so that it will work with other pmic-s like the axp152 too,
    without the axp152 needing to hackishly present an axp20_core supply.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    d0b5d43 View commit details
    Browse the repository at this point in the history
  32. Revert "Add AXP 15 power module for A10s Chips"

    This reverts commit 1c6adbb.
    
    Conflicts:
    	drivers/power/axp_power/axp15-board.c
    	drivers/power/axp_power/axp15-regu.c
    	drivers/power/axp_power/axp15-sply.c
    	drivers/power/axp_power/virtual15.c
    	drivers/power/axp_power/virtual15_dev.c
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    c3d8c01 View commit details
    Browse the repository at this point in the history
  33. Revert "axp15: Hookup the axp152 code"

    This reverts commit f7b9808.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    698f31f View commit details
    Browse the repository at this point in the history
  34. axp152: New power/regulator driver for axp152 chips

    This patch adds a driver for the axp152 pmic typically found on boards which
    use the Allwinner A10s soc.
    
    This driver has been written from scratch, since the driver from the
    Allwinner Android kernels is unnecessary complicated and in general it makes
    your eyes bleed. As an added bonus this can now be built into a single kernel
    together with the axp20 driver, allowing the use of one kernel for boards
    with both type of regulator.
    
    It adds support for the dcdc1-4 regulators, the dldo2 regulator, as well as
    pm_power_off functionality.
    
    dcdc1 is hardcoded at 3.3V, dcdc2 is controller through cpu-freq (it offers
    a Vcore supply the cpu-freq code will use), dcdc3 and dcdc4 values are taken
    from the Allwinner specific fex file (custom dtb alike file). dldo2 is
    hardcoded at 3.0V. This mimicks the behavior of the driver from the Allwinner
    Android kernel.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    7ff9a04 View commit details
    Browse the repository at this point in the history
  35. sunxi: cpu-freq-table remove duplicate dvfs table entries

    There were 2 entries for 1250 volt and 2 for 1400 volt, this patch combines
    their frequency ranges, removing the duplicate entries.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    78bc0b2 View commit details
    Browse the repository at this point in the history
  36. sunxi: cpu-freq-table add sun5i dvfs table

    The table as added can be found in various forms in various places, which
    all agree on the freq <-> volt mapping, so this definitely seems the right
    table for sun5i, places where this can be found are the onik.de A13
    (arch/arm/mach-sun5i/cpu-freq/cpu-freq.c) sources, onik.de A10s
    (arch/arm/mach-sun5i/cpu-freq-pmu/cpu_freq_dvfs.c) sources, and various
    script.bin-s from newer boards, which have a dvfs_table section in their
    fex files.
    
    Also remove the TODO from the sunxi_cpufreq_table() and sunxi_div_order_table()
    functions, I compared the tables in the onik.de A10 and A13 sources and
    they are identical.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    d2d608e View commit details
    Browse the repository at this point in the history
  37. sunxi-hdmi: Try harder to get EDID

    Sometimes a bit can flip on the ddc bus, so if we get an io error, or
    a bad checksum, try again (up to 3 times).
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    7257fa1 View commit details
    Browse the repository at this point in the history
  38. sun4i_wemac: Fix scheduling from atomic context oops on tx timeout

    On my wobo-i5 the phy is hooked-up to port D rather then port A (to be fixed
    in the next patch in this series), this causes things to not work, and thus
    the tx timeout watchdog to trigger.
    
    The tx timeout callback may not sleep, but before this patch it called
    wemac_init_wemac, which in turns uses wemac_phy_read / wemac_phy_write,
    which use mutexes and thus can sleep. This makes the kernel very unhappy!
    
    This patch fixes this by doing the emac reset on tx timeout from a workqueue.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    641f67e View commit details
    Browse the repository at this point in the history
  39. sun4i_wemac: Add support for the mii-phy being connected to PortD

    This is possible with the A10s (and used on the wobo-i5), and indicated
    by emac_used being 2 rather then 1.
    
    While working on this I noticed that the port related defines in
    sun4i_wemac.h are wrong. The port registers are 0x24 bytes apart, not 0x20,
    correct the define for PD_CFG0, which this patch uses, and remove all the
    others as they are unused anyways.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    1ec24ce View commit details
    Browse the repository at this point in the history
  40. sun4i_wemac: Fix get_link() function

    Things are hardcoded to use the mii interface everywhere, and the flags
    get_link checks are never set, so hardcode it to the mii like elsewhere in
    the driver.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    5b312a4 View commit details
    Browse the repository at this point in the history
  41. sun4i_wemac: Give the phy some time to settle after powering it on

    This is necessary to avoid ending up with 10 Mbit half-duplex on
    100 Mbit networks.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    da1eaa6 View commit details
    Browse the repository at this point in the history
  42. sun4i_wemac: Use random parts of SID for MAC (if none is specified)

    So that the emac gets a unique *and* stable MAC address.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    e7d46d2 View commit details
    Browse the repository at this point in the history
  43. sun4i_wemac: Add wemac_set_mac_addr() helper function

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    e607003 View commit details
    Browse the repository at this point in the history
  44. rtl8188eu: Silence debug spew

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    887bf9f View commit details
    Browse the repository at this point in the history
  45. rtl8189es: Silence debug spew

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    e8449f4 View commit details
    Browse the repository at this point in the history
  46. rtl8192cu: Silence debug spew

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    414f1ed View commit details
    Browse the repository at this point in the history
  47. sunxi-disp: fb#_scaler_mode = 0 breaks interlaced modes, force to 1 f…

    …or now
    
    This is a temporary workaround, although depending on when someone finds
    time to look into this it may not be so temporary ...
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    a645e42 View commit details
    Browse the repository at this point in the history
  48. sun4i_wemac: Do not use MAC from fex if it is 000000000000

    Also improve MAC address logging:
    -In case it comes from the cmdline, print the actual address after parsing,
     not the string from the kerne cmdline
    -Log a message when using a MAC address from the fex file
    -The fixed prefix for the MAC-address from the SID is 02 not 00
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    54c0e20 View commit details
    Browse the repository at this point in the history
  49. sunxi-hdmi: Don't warn twice on an invalid EDID checksum

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    fba6140 View commit details
    Browse the repository at this point in the history
  50. sunxi-rfkill: Add support for usb-rfkill

    Specifically add support for the usb_wifi_para section and esp. the
    usb_wifi_gpio_power keyword. Without this the rtl8188ctv in the uhost-u1a
    never gets power!
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    1e1edbb View commit details
    Browse the repository at this point in the history
  51. Add arch/arm/mach-sun7i directory

    This is a direct import of the sunxi-3.3-cb2 branch, minus:
    -the rf stuff, as we have mmc_pm for that (same thing in a different form).
    -the gpio stuff, as the a20 source dump uses the kernels official gpio
     mechanism for this now, but all our code wants the old gpio_request ext
     stuff, so we will use that from plat-sunxi (the pio controller seems
     unchanged)
    -sys_config.c, as that was changed in ways incompatible with our existing code
     too.
    -the cpu-freq-pmu and dram dirs, as they are unused
    
    This is a temporary hack which will be hooked up with further commits, so as
    to get sun7i support up and going using existing unified drivers for things
    like the lcd/hdmi controller. Eventually this should be mostly unified too
    and use arch/arm/plat-sunxi as much as possible.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    8230d84 View commit details
    Browse the repository at this point in the history
  52. sun7i: Hookup, make build and make run with serial console

    After this commit is is possible to select sun7i in make config, build without
    selecting any other sunxi specific devices, and then run on a serial console.
    
    Next stop mmc support :)
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    d7d1100 View commit details
    Browse the repository at this point in the history
  53. sun7i: Switch to using soc-detect.c

    And also cleanup various headers to fix build breakage caused by the switch.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    719abc4 View commit details
    Browse the repository at this point in the history
  54. sun7i: Invert meaning of clk_reset reset parameter

    The sun7i code from allwinner has changed the clk_reset function parameter
    from an int to an enum, and that has the values (0 or 1) exactly reversed
    of the previous parameters meaning.
    
    Switch it back to how it was with sun4i / sun5i to avoid the need to add
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    0a345cf View commit details
    Browse the repository at this point in the history
  55. sunxi-mmc: Add support for A20

    Make sunxi-mmcm build (and work!) with sun7i as arch.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    ca055b0 View commit details
    Browse the repository at this point in the history
  56. sunxi-ehci/ohci: Add support for A20

    And we've working USB (for the 2 regular controllers) !
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    e048811 View commit details
    Browse the repository at this point in the history
  57. sunxi-hdmi-cec: Do not define own highres counter functionality

    This is unnecessary code duplication, and more over, the implementation is
    wrong as it sets the latch bit, but does not wait for it to clear again
    before reading the counter. Which causes hdmi_delay_us to hang on mach-sun7i.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    285a4f0 View commit details
    Browse the repository at this point in the history
  58. video-sunxi: Add A20 support

    Tested on the cubieboard2, with several different dvi/hdmi monitors. Note
    lcd / vga / composite out is not tested.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    9dc79b8 View commit details
    Browse the repository at this point in the history
  59. video-sunxi: Fix interlaced modes being broken with the scaler disabled

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    983fda7 View commit details
    Browse the repository at this point in the history
  60. sunxi-nand-compat: Fix compiler warning

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    67d5562 View commit details
    Browse the repository at this point in the history
  61. sunxi: Unify platform.h

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    f210269 View commit details
    Browse the repository at this point in the history
  62. i2c-sunxi: Add support for A20

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    f01c53f View commit details
    Browse the repository at this point in the history
  63. sunxi: Unify devices.c

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    76c36ec View commit details
    Browse the repository at this point in the history
  64. sun7i-cpufreq: Fix dvfs support

    Make dvfs support compile and change sunxi_cpufreq_initcall from a
    module_init function to a late_initcall (*), so that it loads after the
    axp power driver, and thus can get to the Vcore regulator.
    
    *) sun7i-cpufreq is never build as a module.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    be5eabb View commit details
    Browse the repository at this point in the history
  65. sun7i-cpufreq: Sanitize log output

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    236ab91 View commit details
    Browse the repository at this point in the history
  66. i2c-sunxi: Silence initialization

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    4c4553c View commit details
    Browse the repository at this point in the history
  67. usb:sun4i:Rename sun4i_usb to sunxi_usb

    No other changes. Just rename everything to point sunxi_usb directory instead of sun4i_usb.
    
    Signed-off-by: Jari Helaakoski <[email protected]>
    Signed-off-by: Hans de Goede <[email protected]>
    techn authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    7d474df View commit details
    Browse the repository at this point in the history
  68. usb:sunxi:Merge sun5i_usb to sunxi_usb

    Differences ifdef'ed.
    
    Signed-off-by: Jari Helaakoski <[email protected]>
    Signed-off-by: Hans de Goede <[email protected]>
    techn authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    41826ea View commit details
    Browse the repository at this point in the history
  69. usb:sunxi:Import changes from Allwinner SDK. Unification part.

    Compared to latest SDK. Reduce sun4i and sun5i differences.
    
    Signed-off-by: Jari Helaakoski <[email protected]>
    Signed-off-by: Hans de Goede <[email protected]>
    techn authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    95e472f View commit details
    Browse the repository at this point in the history
  70. usb:sunxi:Import changes from Allwinner SDK. Minor bits.

    Compared to latest SDK. Minor bits. Shouldn't have any functional effect
    
    Signed-off-by: Jari Helaakoski <[email protected]>
    Signed-off-by: Hans de Goede <[email protected]>
    techn authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    8242195 View commit details
    Browse the repository at this point in the history
  71. usb:sunxi:Import changes from Allwinner SDK. Functionality.

    hcd:
     -Power gpio related changes
    
    udc:
     -Use spinlock instead of disable interrupts
     -Huge amount of random fixes
    
    manager:
     -Add extra sleep to scan_thread
     -Fix scan when USB role is NULL
     -Read controller type from .fex file
    
    Signed-off-by: Jari Helaakoski <[email protected]>
    Signed-off-by: Hans de Goede <[email protected]>
    techn authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    1d524c5 View commit details
    Browse the repository at this point in the history
  72. usb: add sys_config support

    Signed-off-by: Hans de Goede <[email protected]>
    Javen authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    b20c046 View commit details
    Browse the repository at this point in the history
  73. usb:sunxi:Fix "device not recognized" problem during android boot

    Tested with g_serial, g_ether and android composite gadgets.
    
    Problem was noticed after "sunxi:udc: fix gadget init after loading as module".
    Previous fix did pullup right after gadget bind, like it's commonly done.
    
    It conflicts with sunxi usb module internal state machine which does pullup a bit later.
    Device negotation breaks When pullup is done twice. So, this commit does pullup only once.
    
    Signed-off-by: Jari Helaakoski <[email protected]>
    Signed-off-by: Hans de Goede <[email protected]>
    techn authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    1ef1517 View commit details
    Browse the repository at this point in the history
  74. synaptics_i2c: fix earlysuspend.

    Signed-off-by: Hans de Goede <[email protected]>
    hramrach authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    f627f95 View commit details
    Browse the repository at this point in the history
  75. sunxi rtxx7x: Weed out some Makefile junk.

    Signed-off-by: Hans de Goede <[email protected]>
    hramrach authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    1db41f5 View commit details
    Browse the repository at this point in the history
  76. sunxi: Do not allow compat nand partition names to overflow alphabet.

    Signed-off-by: Michal Suchanek <[email protected]>
    Signed-off-by: Hans de Goede <[email protected]>
    hramrach authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    76b6945 View commit details
    Browse the repository at this point in the history
  77. sunxi: Preliminary support for new nand partition scheme.

       - add magic/version matching
       - add partition type in messages
       - read version 0x200 (softw411) partition
    
    Signed-off-by: Michal Suchanek <[email protected]>
    Signed-off-by: Hans de Goede <[email protected]>
    hramrach authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    02c9e0c View commit details
    Browse the repository at this point in the history
  78. sunxi-hcd0: Cleanup Kconfig

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    01e75a8 View commit details
    Browse the repository at this point in the history
  79. wireless-drivers: Fix compilation without hcd0

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    20e1fe8 View commit details
    Browse the repository at this point in the history
  80. sun7i: Remove super-standby support

    Super standby support requires modifications to various drivers (ie the
    sunxi-disp driver), which we don't have in our sunxi-3.4 tree. And we
    dont't support super-standby on sun4i or sun5i either.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    38209ac View commit details
    Browse the repository at this point in the history
  81. sunxi-mmc: Add new sunxi-mmc driver from a20 code dump

    The sunxi-3.3-cubieboard2 branch has a new mmc driver, which is much cleaner,
    properly using the existing mmc framework for many things, and offers more
    features then the original driver we carry in sunxi-3.4.
    
    Note this commit just adds the driver as is. The next commits will actually
    hook it up to the build system and port it to sunxi-3.4 in sofar that is
    needed.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    1916a53 View commit details
    Browse the repository at this point in the history
  82. sunxi-mmc: hookup new sunxi-mci driver in buildsys and make it build …

    …(and work)
    
    For sun7i for now, also using this for sun5i should be easy, making it work
    for sun4i will require slightly more work.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    6a4d4e8 View commit details
    Browse the repository at this point in the history
  83. sunxi-rtc: Add sun7i support

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    69bce7a View commit details
    Browse the repository at this point in the history
  84. sunxi: unify gpio.h

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    129cec3 View commit details
    Browse the repository at this point in the history
  85. sun7i: Document why we don't use the scu

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede authored and amery committed Jul 8, 2013
    Configuration menu
    Copy the full SHA
    6223362 View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2013

  1. sun7i: Remove super-standby support fixup

    Removing the dram parameter parsing was not a good idea, since for sun7i that
    is used for regular standby too.
    
    Also do some misc. cleanups.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 9, 2013
    Configuration menu
    Copy the full SHA
    db70f78 View commit details
    Browse the repository at this point in the history
  2. sunxi: Don't log a useless error when we fail to get a gpio

    Instead let the caller log a meaning-full error (and allow the caller to
    simply ignore this if not getting the gpio is a valid thing to happen).
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 9, 2013
    Configuration menu
    Copy the full SHA
    e3edd33 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2013

  1. sunxi-video: check there is enough memory

    Check there is enough memory for an EDID discovered mode, and if not don't
    use it. This avoids crashing with a kernel panic when we encounter modes
    for which we don't have enough reserved fbmem.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 10, 2013
    Configuration menu
    Copy the full SHA
    a7d6184 View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2013

  1. sunxi-video: Fix high res mode (>= 1920x1080) issues on sun5i and sun7i

    Fix 1920x1200 hdmi output being very distorted, and also fix some pixels
    flickering and hdmiaudio not working at 1920x1080.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 12, 2013
    Configuration menu
    Copy the full SHA
    8716ab5 View commit details
    Browse the repository at this point in the history
  2. sunxi: Add dma-compat code

    The sun4i/sun5i and sun7i code from Allwinner have significant different
    dma controller code, including a different API. This patch adds a wrapper
    over the sun4i/sun5i and sun7i code, offering a consistent interface for
    drivers, making it easier to write a driver supporting both.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 12, 2013
    Configuration menu
    Copy the full SHA
    445ccb7 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2013

  1. sunxi-sound-soc: Use new sunxi dma-compat code

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 15, 2013
    Configuration menu
    Copy the full SHA
    3cab789 View commit details
    Browse the repository at this point in the history
  2. sunxi-sound-soc: Add support for sun7i

    Note: spdif untested, i2s disabled for sun7i since the i2s code needs various
    adjustments for sun7i support.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 15, 2013
    Configuration menu
    Copy the full SHA
    d720f10 View commit details
    Browse the repository at this point in the history
  3. sunxi-codec: Fix memleak on hw_free()

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 15, 2013
    Configuration menu
    Copy the full SHA
    84f4221 View commit details
    Browse the repository at this point in the history
  4. sunxi-hdmi-audio: Fix un-support sample_rate errors

    sndhdmi_hw_params gets called before sun4i_hdmiaudio_trigger, causing
    hdmi_audio_enable to be called before hdmi_set_audio_para, which makes
    the hdmi_core.c: audio_config() unhappy and report errors like this one:
    [DISP] un-support sample_rate,value=0
    
    This patch fixes this by moving the calling of hdmi_set_audio_para to
    sndhdmi_hw_params. It also makes some changes to avoid doing audio_config
    multiple times if not necessary, and lastly it makes Hdmi_run_thread check
    for changes 4 times / second, rather then once every 2 seconds, so that
    audio-setting changes get applied with a maximum latency of 250 ms.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 15, 2013
    Configuration menu
    Copy the full SHA
    c7d3ad5 View commit details
    Browse the repository at this point in the history
  5. sun7i: Use high-res counter for sched-clock

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 15, 2013
    Configuration menu
    Copy the full SHA
    ba2fe06 View commit details
    Browse the repository at this point in the history
  6. sun7i: Make early boot a bit more quiet

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 15, 2013
    Configuration menu
    Copy the full SHA
    13b50c8 View commit details
    Browse the repository at this point in the history
  7. sunxi-sound-codec: Silence some uninteresting debug messages

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 15, 2013
    Configuration menu
    Copy the full SHA
    87ef3a1 View commit details
    Browse the repository at this point in the history
  8. sun4i_wemac: Don't use sid for mac address if it is all 0

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 15, 2013
    Configuration menu
    Copy the full SHA
    10cab40 View commit details
    Browse the repository at this point in the history
  9. sun4i_wemac: Remove dead dma tx code

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 15, 2013
    Configuration menu
    Copy the full SHA
    f88f40a View commit details
    Browse the repository at this point in the history
  10. sun4i_wemac: Remove dead ccmu code

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 15, 2013
    Configuration menu
    Copy the full SHA
    5ed6531 View commit details
    Browse the repository at this point in the history
  11. sun4i_wemac: Remove dead plat_data code

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 15, 2013
    Configuration menu
    Copy the full SHA
    c455ba2 View commit details
    Browse the repository at this point in the history
  12. sun4i_wemac: Remove dead eeprom code

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 15, 2013
    Configuration menu
    Copy the full SHA
    f7373c9 View commit details
    Browse the repository at this point in the history
  13. sun4i_wemac: Remove dead internal phy code

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 15, 2013
    Configuration menu
    Copy the full SHA
    da59c37 View commit details
    Browse the repository at this point in the history
  14. sun4i_wemac: Use new sunxi dma-compat code

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 15, 2013
    Configuration menu
    Copy the full SHA
    225a270 View commit details
    Browse the repository at this point in the history
  15. sun4i_wemac: Add sun7i (A20) support

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 15, 2013
    Configuration menu
    Copy the full SHA
    dd6b780 View commit details
    Browse the repository at this point in the history
  16. sun4i_wemac: Make driver init a bit more quiet

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 15, 2013
    Configuration menu
    Copy the full SHA
    831ba0c View commit details
    Browse the repository at this point in the history
  17. sunxi-sata: Add support for sun7i (A20)

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 15, 2013
    Configuration menu
    Copy the full SHA
    233a65a View commit details
    Browse the repository at this point in the history
  18. sunxi-usbc0: Fix sunxi-usbc0 never being enabled

    My commit 01e75a8
    "sunxi-hcd0: Cleanup Kconfig", accidentally made it so that the driver for
    sunxi-usbc0 would never be enabled in the kernel .config, since it made it
    depend on the non existent ARCH_SUNXI, oops!
    
    This commit fixes this.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 15, 2013
    Configuration menu
    Copy the full SHA
    f7c3d7f View commit details
    Browse the repository at this point in the history
  19. sunxi-usbc0: Properly power up vbus from pin_init when the gpio is in…

    …verted
    
    The Auxtek-t003 has an inverted vbus gpio control. sw_hcd_board_set_vbus deals
    properly with this, but pin_init does not, this fixes this.
    
    While at it also fix the currently unused code path for using gpio's on the
    axp pmic for this.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 15, 2013
    Configuration menu
    Copy the full SHA
    e0df1da View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    646d60f View commit details
    Browse the repository at this point in the history
  21. sunxi-usbc0: Silence udc_probe error

    udc_probe failing is normal in host-only mode.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 15, 2013
    Configuration menu
    Copy the full SHA
    8c8d8e8 View commit details
    Browse the repository at this point in the history
  22. sunxi-codec: Fix failing to load if there is no capture_used fex setting

    This fixes the sound driver not loading on the A13-OLinuXino-MICRO.
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 15, 2013
    Configuration menu
    Copy the full SHA
    c9c75c0 View commit details
    Browse the repository at this point in the history
  23. sunxi-uart: Only look for 2 uarts on A13

    The A13 and A10s are both sun5i, but the A13 has only 2 uarts, where as
    the A10s has 4. This fixes error messages like these when booting an A13 board:
    [uart]: failed to get uart2's used information
    [uart]: failed to get uart3's used information
    
    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 15, 2013
    Configuration menu
    Copy the full SHA
    b8b7bed View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2013

  1. sun7i: Update mach-type to match u-boot

    Signed-off-by: Hans de Goede <[email protected]>
    jwrdegoede committed Jul 17, 2013
    Configuration menu
    Copy the full SHA
    5a92219 View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2013

  1. sunxi usb: Make HCD0 boolean.

    Signed-off-by: Michal Suchanek <[email protected]>
    hramrach authored and amery committed Jul 27, 2013
    Configuration menu
    Copy the full SHA
    bceb03f View commit details
    Browse the repository at this point in the history
  2. sunxi: re-add the USB Kconfig hack broken by USB driver merge.

    Signed-off-by: Michal Suchanek <[email protected]>
    hramrach authored and amery committed Jul 27, 2013
    Configuration menu
    Copy the full SHA
    2008906 View commit details
    Browse the repository at this point in the history
  3. sunxi: Fix compilation without ARM_ARCH_TIMER

    Comilation without Arm Architect Timer selected in .config fails
    
    This patch fixes it.
    
    Signed-off-by: Alexsey Shestacov <[email protected]>
    Alexsey Shestacov authored and amery committed Jul 27, 2013
    Configuration menu
    Copy the full SHA
    479a57f View commit details
    Browse the repository at this point in the history