01 Nov, 2014

8 commits

  • Rusty noticed a Really Bad Bug (tm) in my NT fix. The entry code
    reads out of bounds, causing the NT fix to be unreliable. But, and
    this is much, much worse, if your stack is somehow just below the
    top of the direct map (or a hole), you read out of bounds and crash.

    Excerpt from the crash:

    [ 1.129513] RSP: 0018:ffff88001da4bf88 EFLAGS: 00010296

    2b:* f7 84 24 90 00 00 00 testl $0x4000,0x90(%rsp)

    That read is deterministically above the top of the stack. I
    thought I even single-stepped through this code when I wrote it to
    check the offset, but I clearly screwed it up.

    Fixes: 8c7aa698baca ("x86_64, entry: Filter RFLAGS.NT on entry from userspace")
    Reported-by: Rusty Russell
    Cc: stable@vger.kernel.org
    Signed-off-by: Andy Lutomirski
    Signed-off-by: Linus Torvalds

    Andy Lutomirski
     
  • Pull networking fixes from David Miller:
    "A bit has accumulated, but it's been a week or so since my last batch
    of post-merge-window fixes, so...

    1) Missing module license in netfilter reject module, from Pablo.
    Lots of people ran into this.

    2) Off by one in mac80211 baserate calculation, from Karl Beldan.

    3) Fix incorrect return value from ax88179_178a driver's set_mac_addr
    op, which broke use of it with bonding. From Ian Morgan.

    4) Checking of skb_gso_segment()'s return value was not all
    encompassing, it can return an SKB pointer, a pointer error, or
    NULL. Fix from Florian Westphal.

    This is crummy, and longer term will be fixed to just return error
    pointers or a real SKB.

    6) Encapsulation offloads not being handled by
    skb_gso_transport_seglen(). From Florian Westphal.

    7) Fix deadlock in TIPC stack, from Ying Xue.

    8) Fix performance regression from using rhashtable for netlink
    sockets. The problem was the synchronize_net() invoked for every
    socket destroy. From Thomas Graf.

    9) Fix bug in eBPF verifier, and remove the strong dependency of BPF
    on NET. From Alexei Starovoitov.

    10) In qdisc_create(), use the correct interface to allocate
    ->cpu_bstats, otherwise the u64_stats_sync member isn't
    initialized properly. From Sabrina Dubroca.

    11) Off by one in ip_set_nfnl_get_byindex(), from Dan Carpenter.

    12) nf_tables_newchain() was erroneously expecting error pointers from
    netdev_alloc_pcpu_stats(). It only returna a valid pointer or
    NULL. From Sabrina Dubroca.

    13) Fix use-after-free in _decode_session6(), from Li RongQing.

    14) When we set the TX flow hash on a socket, we mistakenly do so
    before we've nailed down the final source port. Move the setting
    deeper to fix this. From Sathya Perla.

    15) NAPI budget accounting in amd-xgbe driver was counting descriptors
    instead of full packets, fix from Thomas Lendacky.

    16) Fix total_data_buflen calculation in hyperv driver, from Haiyang
    Zhang.

    17) Fix bcma driver build with OF_ADDRESS disabled, from Hauke
    Mehrtens.

    18) Fix mis-use of per-cpu memory in TCP md5 code. The problem is
    that something that ends up being vmalloc memory can't be passed
    to the crypto hash routines via scatter-gather lists. From Eric
    Dumazet.

    19) Fix regression in promiscuous mode enabling in cdc-ether, from
    Olivier Blin.

    20) Bucket eviction and frag entry killing can race with eachother,
    causing an unlink of the object from the wrong list. Fix from
    Nikolay Aleksandrov.

    21) Missing initialization of spinlock in cxgb4 driver, from Anish
    Bhatt.

    22) Do not cache ipv4 routing failures, otherwise if the sysctl for
    forwarding is subsequently enabled this won't be seen. From
    Nicolas Cavallari"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (131 commits)
    drivers: net: cpsw: Support ALLMULTI and fix IFF_PROMISC in switch mode
    drivers: net: cpsw: Fix broken loop condition in switch mode
    net: ethtool: Return -EOPNOTSUPP if user space tries to read EEPROM with lengh 0
    stmmac: pci: set default of the filter bins
    net: smc91x: Fix gpios for device tree based booting
    mpls: Allow mpls_gso to be built as module
    mpls: Fix mpls_gso handler.
    r8152: stop submitting intr for -EPROTO
    netfilter: nft_reject_bridge: restrict reject to prerouting and input
    netfilter: nft_reject_bridge: don't use IP stack to reject traffic
    netfilter: nf_reject_ipv6: split nf_send_reset6() in smaller functions
    netfilter: nf_reject_ipv4: split nf_send_reset() in smaller functions
    netfilter: nf_tables_bridge: update hook_mask to allow {pre,post}routing
    drivers/net: macvtap and tun depend on INET
    drivers/net, ipv6: Select IPv6 fragment idents for virtio UFO packets
    drivers/net: Disable UFO through virtio
    net: skb_fclone_busy() needs to detect orphaned skb
    gre: Use inner mac length when computing tunnel length
    mlx4: Avoid leaking steering rules on flow creation error flow
    net/mlx4_en: Don't attempt to TX offload the outer UDP checksum for VXLAN
    ...

    Linus Torvalds
     
  • Pull sparc update from David Miller:
    "Two changes:

    1) It makes no sense to execute a VTOC partition table request in the
    Sun virtual block device driver and fail to load if it doesn't
    succeed because a) we don't use the result at all and b) it won't
    succeed if there is an EFI partition on the disk, for example.

    We read the partition table via the normal means in the block layer
    anyways, so this is really completely useless, so just remove it.

    From Dwight Engen.

    2) Hook up new bpf system call"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    sunvdc: don't call VD_OP_GET_VTOC
    sparc: Hook up bpf system call.

    Linus Torvalds
     
  • Pull Microblaze updates from Michal Simek:
    - wire-up new bpf syscall
    - fix PCI bug
    - fix Kconfig warning

    * tag 'microblaze-3.18-rc3' of git://git.monstr.eu/linux-2.6-microblaze:
    microblaze: Wire up bpf syscall
    microblaze: Fix IO space breakage after of_pci_range_to_resource() change
    microblaze: Fix missing NR_CPUS in menuconfig

    Linus Torvalds
     
  • Pull x86 fixes from Ingo Molnar:
    "Fixes from all around the place:

    - hyper-V 32-bit PAE guest kernel fix
    - two IRQ allocation fixes on certain x86 boards
    - intel-mid boot crash fix
    - intel-quark quirk
    - /proc/interrupts duplicate irq chip name fix
    - cma boot crash fix
    - syscall audit fix
    - boot crash fix with certain TSC configurations (seen on Qemu)
    - smpboot.c build warning fix"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, pageattr: Prevent overflow in slow_virt_to_phys() for X86_PAE
    ACPI, irq, x86: Return IRQ instead of GSI in mp_register_gsi()
    x86, intel-mid: Create IRQs for APB timers and RTC timers
    x86: Don't enable F00F workaround on Intel Quark processors
    x86/irq: Fix XT-PIC-XT-PIC in /proc/interrupts
    x86, cma: Reserve DMA contiguous area after initmem_init()
    i386/audit: stop scribbling on the stack frame
    x86, apic: Handle a bad TSC more gracefully
    x86: ACPI: Do not translate GSI number if IOAPIC is disabled
    x86/smpboot: Move data structure to its primary usage scope

    Linus Torvalds
     
  • Pull scheduler fixes from Ingo Molnar:
    "Various scheduler fixes all over the place: three SCHED_DL fixes,
    three sched/numa fixes, two generic race fixes and a comment fix"

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched/dl: Fix preemption checks
    sched: Update comments for CLONE_NEWNS
    sched: stop the unbound recursion in preempt_schedule_context()
    sched/fair: Fix division by zero sysctl_numa_balancing_scan_size
    sched/fair: Care divide error in update_task_scan_period()
    sched/numa: Fix unsafe get_task_struct() in task_numa_assign()
    sched/deadline: Fix races between rt_mutex_setprio() and dl_task_timer()
    sched/deadline: Don't replenish from a !SCHED_DEADLINE entity
    sched: Fix race between task_group and sched_task_group

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar:
    "Mostly tooling fixes, plus on the kernel side:

    - a revert for a newly introduced PMU driver which isn't complete yet
    and where we ran out of time with fixes (to be tried again in
    v3.19) - this makes up for a large chunk of the diffstat.

    - compilation warning fixes

    - a printk message fix

    - event_idx usage fixes/cleanups"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf probe: Trivial typo fix for --demangle
    perf tools: Fix report -F dso_from for data without branch info
    perf tools: Fix report -F dso_to for data without branch info
    perf tools: Fix report -F symbol_from for data without branch info
    perf tools: Fix report -F symbol_to for data without branch info
    perf tools: Fix report -F mispredict for data without branch info
    perf tools: Fix report -F in_tx for data without branch info
    perf tools: Fix report -F abort for data without branch info
    perf tools: Make CPUINFO_PROC an array to support different kernel versions
    perf callchain: Use global caching provided by libunwind
    perf/x86/intel: Revert incomplete and undocumented Broadwell client support
    perf/x86: Fix compile warnings for intel_uncore
    perf: Fix typos in sample code in the perf_event.h header
    perf: Fix and clean up initialization of pmu::event_idx
    perf: Fix bogus kernel printk
    perf diff: Add missing hists__init() call at tool start

    Linus Torvalds
     
  • With legacy booting, the platform init code was taking care of
    the configuring of GPIOs. With device tree based booting, things
    may or may not work depending what bootloader has configured or
    if the legacy platform code gets called.

    Let's add support for the pwrdn and reset GPIOs to the smc91x
    driver to fix the issues of smc91x not working properly when
    booted in device tree mode.

    And let's change n900 to use these settings as some versions
    of the bootloader do not configure things properly causing
    errors.

    Reported-by: Kevin Hilman
    Signed-off-by: Tony Lindgren
    Signed-off-by: David S. Miller

    Tony Lindgren
     

30 Oct, 2014

3 commits

  • Merge misc fixes from Andrew Morton:
    "21 fixes"

    * emailed patches from Andrew Morton : (21 commits)
    mm/balloon_compaction: fix deflation when compaction is disabled
    sh: fix sh770x SCIF memory regions
    zram: avoid NULL pointer access in concurrent situation
    mm/slab_common: don't check for duplicate cache names
    ocfs2: fix d_splice_alias() return code checking
    mm: rmap: split out page_remove_file_rmap()
    mm: memcontrol: fix missed end-writeback page accounting
    mm: page-writeback: inline account_page_dirtied() into single caller
    lib/bitmap.c: fix undefined shift in __bitmap_shift_{left|right}()
    drivers/rtc/rtc-bq32k.c: fix register value
    memory-hotplug: clear pgdat which is allocated by bootmem in try_offline_node()
    drivers/rtc/rtc-s3c.c: fix initialization failure without rtc source clock
    kernel/kmod: fix use-after-free of the sub_info structure
    drivers/rtc/rtc-pm8xxx.c: rework to support pm8941 rtc
    mm, thp: fix collapsing of hugepages on madvise
    drivers: of: add return value to of_reserved_mem_device_init()
    mm: free compound page with correct order
    gcov: add ARM64 to GCOV_PROFILE_ALL
    fsnotify: next_i is freed during fsnotify_unmount_inodes.
    mm/compaction.c: avoid premature range skip in isolate_migratepages_range
    ...

    Linus Torvalds
     
  • Resources scif1_resources & scif2_resources overlap. Actual SCIF region
    size is 0x10.

    This is regression from commit d850acf975be ("sh: Declare SCIF register
    base and IRQ as resources")

    Signed-off-by: Andriy Skulysh
    Acked-by: Laurent Pinchart
    Cc: Geert Uytterhoeven
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andriy Skulysh
     
  • Pull powerpc updates from Michael Ellerman:
    "There's some bug fixes or cleanups to facilitate fixes, a MAINTAINERS
    update, and a new syscall (bpf)"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux:
    powerpc/numa: ensure per-cpu NUMA mappings are correct on topology update
    powerpc/numa: use cached value of update->cpu in update_cpu_topology
    cxl: Fix PSL error due to duplicate segment table entries
    powerpc/mm: Use appropriate ESID mask in copro_calculate_slb()
    cxl: Refactor cxl_load_segment() and find_free_sste()
    cxl: Disable secondary hash in segment table
    Revert "powerpc/powernv: Fix endian bug in LPC bus debugfs accessors"
    powernv: Use _GLOBAL_TOC for opal wrappers
    powerpc: Wire up sys_bpf() syscall
    MAINTAINERS: nx-842 driver maintainer change
    powerpc/mm: Remove redundant #if case
    powerpc/mm: Fix build error with hugetlfs disabled

    Linus Torvalds
     

29 Oct, 2014

9 commits

  • These patches:

    86a349a28b24 ("perf/x86/intel: Add Broadwell core support")
    c46e665f0377 ("perf/x86: Add INST_RETIRED.ALL workarounds")
    fdda3c4aacec ("perf/x86/intel: Use Broadwell cache event list for Haswell")

    introduced magic constants and unexplained changes:

    https://lkml.org/lkml/2014/10/28/1128
    https://lkml.org/lkml/2014/10/27/325
    https://lkml.org/lkml/2014/8/27/546
    https://lkml.org/lkml/2014/10/28/546

    Peter Zijlstra has attempted to help out, to clean up the mess:

    https://lkml.org/lkml/2014/10/28/543

    But has not received helpful and constructive replies which makes
    me doubt wether it can all be finished in time until v3.18 is
    released.

    Despite various review feedback the author (Andi Kleen) has answered
    only few of the review questions and has generally been uncooperative,
    only giving replies when prompted repeatedly, and only giving minimal
    answers instead of constructively explaining and helping along the effort.

    That kind of behavior is not acceptable.

    There's also a boot crash on Intel E5-1630 v3 CPUs reported for another
    commit from Andi Kleen:

    e735b9db12d7 ("perf/x86/intel/uncore: Add Haswell-EP uncore support")

    https://lkml.org/lkml/2014/10/22/730

    Which is not yet resolved. The uncore driver is independent in theory,
    but the crash makes me worry about how well all these patches were
    tested and makes me uneasy about the level of interminging that the
    Broadwell and Haswell code has received by the commits above.

    As a first step to resolve the mess revert the Broadwell client commits
    back to the v3.17 version, before we run out of time and problematic
    code hits a stable upstream kernel.

    ( If the Haswell-EP crash is not resolved via a simple fix then we'll have
    to revert the Haswell-EP uncore driver as well. )

    The Broadwell client series has to be submitted in a clean fashion, with
    single, well documented changes per patch. If they are submitted in time
    and are accepted during review then they can possibly go into v3.19 but
    will need additional scrutiny due to the rocky history of this patch set.

    Cc: Andi Kleen
    Cc: Peter Zijlstra (Intel)
    Cc: eranian@google.com
    Cc: Arnaldo Carvalho de Melo
    Cc: Linus Torvalds
    Link: http://lkml.kernel.org/r/1409683455-29168-3-git-send-email-andi@firstfloor.org
    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • pte_pfn() returns a PFN of long (32 bits in 32-PAE), so "long <<
    PAGE_SHIFT" will overflow for PFNs above 4GB.

    Due to this issue, some Linux 32-PAE distros, running as guests on Hyper-V,
    with 5GB memory assigned, can't load the netvsc driver successfully and
    hence the synthetic network device can't work (we can use the kernel parameter
    mem=3000M to work around the issue).

    Cast pte_pfn() to phys_addr_t before shifting.

    Fixes: "commit d76565344512: x86, mm: Create slow_virt_to_phys()"
    Signed-off-by: Dexuan Cui
    Cc: K. Y. Srinivasan
    Cc: Haiyang Zhang
    Cc: gregkh@linuxfoundation.org
    Cc: linux-mm@kvack.org
    Cc: olaf@aepfle.de
    Cc: apw@canonical.com
    Cc: jasowang@redhat.com
    Cc: dave.hansen@intel.com
    Cc: riel@redhat.com
    Cc: stable@vger.kernel.org
    Link: http://lkml.kernel.org/r/1414580017-27444-1-git-send-email-decui@microsoft.com
    Signed-off-by: Thomas Gleixner

    Dexuan Cui
     
  • Function mp_register_gsi() returns blindly the GSI number for the ACPI
    SCI interrupt. That causes a regression when the GSI for ACPI SCI is
    shared with other devices.

    The regression was caused by commit 84245af7297ced9e8fe "x86, irq, ACPI:
    Change __acpi_register_gsi to return IRQ number instead of GSI" and
    exposed on a SuperMicro system, which shares one GSI between ACPI SCI
    and PCI device, with following failure:

    http://sourceforge.net/p/linux1394/mailman/linux1394-user/?viewmonth=201410
    [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 20 low
    level)
    [ 2.699224] firewire_ohci 0000:06:00.0: failed to allocate interrupt
    20

    Return mp_map_gsi_to_irq(gsi, 0) instead of the GSI number.

    Reported-and-Tested-by: Daniel Robbins
    Signed-off-by: Jiang Liu
    Cc: Konrad Rzeszutek Wilk
    Cc: Tony Luck
    Cc: Joerg Roedel
    Cc: Greg Kroah-Hartman
    Cc: Benjamin Herrenschmidt
    Cc: Rafael J. Wysocki
    Cc: Bjorn Helgaas
    Cc: Randy Dunlap
    Cc: Yinghai Lu
    Cc: Borislav Petkov
    Cc: Len Brown
    Cc: Pavel Machek
    Cc: # 3.17
    Link: http://lkml.kernel.org/r/1414387308-27148-4-git-send-email-jiang.liu@linux.intel.com
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Ingo Molnar

    Jiang Liu
     
  • Intel MID platforms has no legacy interrupts, so no IRQ descriptors
    preallocated. We need to call mp_map_gsi_to_irq() to create IRQ
    descriptors for APB timers and RTC timers, otherwise it may cause
    invalid memory access as:
    [ 0.116839] BUG: unable to handle kernel NULL pointer dereference at
    0000003a
    [ 0.123803] IP: [] setup_irq+0xf/0x4d

    Tested-by: Andy Shevchenko
    Signed-off-by: Jiang Liu
    Cc: Konrad Rzeszutek Wilk
    Cc: Tony Luck
    Cc: Joerg Roedel
    Cc: Greg Kroah-Hartman
    Cc: H. Peter Anvin
    Cc: Benjamin Herrenschmidt
    Cc: Rafael J. Wysocki
    Cc: Bjorn Helgaas
    Cc: Randy Dunlap
    Cc: Yinghai Lu
    Cc: Borislav Petkov
    Cc: David Cohen
    Cc: # 3.17
    Link: http://lkml.kernel.org/r/1414387308-27148-3-git-send-email-jiang.liu@linux.intel.com
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Ingo Molnar

    Jiang Liu
     
  • The Intel Quark processor is a part of family 5, but does not have the
    F00F bug present in Pentiums of the same family.

    Pentiums were models 0 through 8, Quark is model 9.

    Signed-off-by: Dave Jones
    Cc: Bryan O'Donoghue
    Link: http://lkml.kernel.org/r/20141028175753.GA12743@redhat.com
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Ingo Molnar

    Dave Jones
     
  • We received a report of warning in kernel/sched/core.c where the sched
    group was NULL on an LPAR after a topology update. This seems to occur
    because after the topology update has moved the CPUs, cpu_to_node is
    returning the old value still, which ends up breaking the consistency of
    the NUMA topology in the per-cpu maps. Ensure that we update the per-cpu
    fields when we re-map CPUs.

    Signed-off-by: Nishanth Aravamudan
    Signed-off-by: Michael Ellerman

    Nishanth Aravamudan
     
  • There isn't any need to keep referring to update->cpu, as we've already
    checked cpu == update->cpu at this point.

    Signed-off-by: Nishanth Aravamudan
    Signed-off-by: Michael Ellerman

    Nishanth Aravamudan
     
  • Pull ARM fixes from Russell King:
    "A couple of ARM fixes.

    We fix some printk formats for ptrdiff_t quantities which cause GCC
    4.9 to complain, and we also blacklist known buggy GCC 4.8.x compilers
    as their miscompilation is serious enough to cause filesystem
    corruption, even through many distros have fixed their versions"

    * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
    ARM: fix some printk formats
    ARM: Blacklist GCC 4.8.0 to GCC 4.8.2 - PR58854

    Linus Torvalds
     
  • Signed-off-by: David S. Miller

    David S. Miller
     

28 Oct, 2014

8 commits

  • Fix duplicate XT-PIC seen in /proc/interrupts on x86 systems
    that make use of 8259A Programmable Interrupt Controllers.
    Specifically convert output like this:

    CPU0
    0: 76573 XT-PIC-XT-PIC timer
    1: 11 XT-PIC-XT-PIC i8042
    2: 0 XT-PIC-XT-PIC cascade
    4: 8 XT-PIC-XT-PIC serial
    6: 3 XT-PIC-XT-PIC floppy
    7: 0 XT-PIC-XT-PIC parport0
    8: 1 XT-PIC-XT-PIC rtc0
    10: 448 XT-PIC-XT-PIC fddi0
    12: 23 XT-PIC-XT-PIC eth0
    14: 2464 XT-PIC-XT-PIC ide0
    NMI: 0 Non-maskable interrupts
    ERR: 0

    to one like this:

    CPU0
    0: 122033 XT-PIC timer
    1: 11 XT-PIC i8042
    2: 0 XT-PIC cascade
    4: 8 XT-PIC serial
    6: 3 XT-PIC floppy
    7: 0 XT-PIC parport0
    8: 1 XT-PIC rtc0
    10: 145 XT-PIC fddi0
    12: 31 XT-PIC eth0
    14: 2245 XT-PIC ide0
    NMI: 0 Non-maskable interrupts
    ERR: 0

    that is one like we used to have from ~2.2 till it was changed
    sometime.

    The rationale is there is no value in this duplicate
    information, it merely clutters output and looks ugly. We only
    have one handler for 8259A interrupts so there is no need to
    give it a name separate from the name already given to
    irq_chip.

    We could define meaningful names for handlers based on bits in
    the ELCR register on systems that have it or the value of the
    LTIM bit we use in ICW1 otherwise (hardcoded to 0 though with
    MCA support gone), to tell edge-triggered and level-triggered
    inputs apart. While that information does not affect 8259A
    interrupt handlers it could help people determine which lines
    are shareable and which are not. That is material for a
    separate change though.

    Any tools that parse /proc/interrupts are supposed not to be
    affected since it was many years we used the format this change
    converts back to.

    Signed-off-by: Maciej W. Rozycki
    Cc: Linus Torvalds
    Link: http://lkml.kernel.org/r/alpine.LFD.2.11.1410260147190.21390@eddie.linux-mips.org
    Signed-off-by: Ingo Molnar

    Maciej W. Rozycki
     
  • The uncore drivers require PCI and generate compile time warnings when
    !CONFIG_PCI.

    Reported-by: Andrew Morton
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Stephane Eranian
    Cc: Andi Kleen
    Cc: Borislav Petkov
    Cc: Josh Triplett
    Cc: Stephane Eranian
    Cc: Yan, Zheng
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • Andy reported that the current state of event_idx is rather confused.
    So remove all but the x86_pmu implementation and change the default to
    return 0 (the safe option).

    Reported-by: Andy Lutomirski
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Arnaldo Carvalho de Melo
    Cc: Benjamin Herrenschmidt
    Cc: Christoph Lameter
    Cc: Cody P Schafer
    Cc: Cody P Schafer
    Cc: Heiko Carstens
    Cc: Hendrik Brueckner
    Cc: Himangi Saraogi
    Cc: Linus Torvalds
    Cc: Martin Schwidefsky
    Cc: Michael Ellerman
    Cc: Paul Gortmaker
    Cc: Paul Mackerras
    Cc: sukadev@linux.vnet.ibm.com
    Cc: Thomas Huth
    Cc: Vince Weaver
    Cc: linux390@de.ibm.com
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: linux-s390@vger.kernel.org
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • Andy spotted the fail in what was intended as a conditional printk level.

    Reported-by: Andy Lutomirski
    Fixes: cc6cd47e7395 ("perf/x86: Tone down kernel messages when the PMU check fails in a virtual environment")
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Arnaldo Carvalho de Melo
    Cc: Linus Torvalds
    Link: http://lkml.kernel.org/r/20141007124757.GH19379@twins.programming.kicks-ass.net
    Signed-off-by: Ingo Molnar

    Peter Zijlstra (Intel)
     
  • preempt_schedule_context() does preempt_enable_notrace() at the end
    and this can call the same function again; exception_exit() is heavy
    and it is quite possible that need-resched is true again.

    1. Change this code to dec preempt_count() and check need_resched()
    by hand.

    2. As Linus suggested, we can use the PREEMPT_ACTIVE bit and avoid
    the enable/disable dance around __schedule(). But in this case
    we need to move into sched/core.c.

    3. Cosmetic, but x86 forgets to declare this function. This doesn't
    really matter because it is only called by asm helpers, still it
    make sense to add the declaration into asm/preempt.h to match
    preempt_schedule().

    Reported-by: Sasha Levin
    Signed-off-by: Oleg Nesterov
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Alexander Graf
    Cc: Andrew Morton
    Cc: Christoph Lameter
    Cc: Linus Torvalds
    Cc: Masami Hiramatsu
    Cc: Steven Rostedt
    Cc: Peter Anvin
    Cc: Andy Lutomirski
    Cc: Denys Vlasenko
    Cc: Chuck Ebbert
    Cc: Frederic Weisbecker
    Link: http://lkml.kernel.org/r/20141005202322.GB27962@redhat.com
    Signed-off-by: Ingo Molnar

    Oleg Nesterov
     
  • This patch makes copro_calculate_slb() mask the ESID by the correct mask
    for 1T vs 256M segments.

    This has no effect by itself as the extra bits were ignored, but it
    makes debugging the segment table entries easier and means that we can
    directly compare the ESID values for duplicates without needing to worry
    about masking in the comparison.

    This will be used to simplify a comparison in the following patch.

    Signed-off-by: Ian Munsie
    Reviewed-by: Aneesh Kumar K.V
    Signed-off-by: Michael Ellerman

    Ian Munsie
     
  • Fengguang Wu reported a boot crash on the x86 platform
    via the 0-day Linux Kernel Performance Test:

    cma: dma_contiguous_reserve: reserving 31 MiB for global area
    BUG: Int 6: CR2 (null)
    [] dump_stack+0x16/0x18
    [] early_idt_handler+0x6b/0x6b
    [] ? __phys_addr+0x2e/0xca
    [] cma_declare_contiguous+0x3c/0x2d7
    [] dma_contiguous_reserve_area+0x27/0x47
    [] dma_contiguous_reserve+0x158/0x163
    [] setup_arch+0x79b/0xc68
    [] start_kernel+0x9c/0x456
    [] i386_start_kernel+0x79/0x7d

    (See details at: https://lkml.org/lkml/2014/10/8/708)

    It is because dma_contiguous_reserve() is called before
    initmem_init() in x86, the variable high_memory is not
    initialized but accessed by __pa(high_memory) in
    dma_contiguous_reserve().

    This patch moves dma_contiguous_reserve() after initmem_init()
    so that high_memory is initialized before accessed.

    Reported-by: Fengguang Wu
    Signed-off-by: Weijie Yang
    Acked-by: Andrew Morton
    Acked-by: Marek Szyprowski
    Acked-by: Michal Nazarewicz
    Cc: iamjoonsoo.kim@lge.com
    Cc: 'Linux-MM'
    Cc: 'Weijie Yang'
    Link: http://lkml.kernel.org/r/000101cfef69%2431e528a0%2495af79e0%24%25yang@samsung.com
    Signed-off-by: Ingo Molnar

    Weijie Yang
     
  • This reverts commit bf7588a0859580a45c63cb082825d77c13eca357.

    Ben says although the code is not correct "[this] fix was completely
    wrong and does more damages than it fixes things."

    Acked-by: Benjamin Herrenschmidt
    Signed-off-by: Michael Ellerman

    Michael Ellerman
     

27 Oct, 2014

4 commits

  • Add new bpf syscall.

    Signed-off-by: Michal Simek

    Michal Simek
     
  • Commit 0b0b0893d49b "of/pci: Fix the conversion of IO ranges into IO
    resources" changed the behaviour of of_pci_range_to_resource().

    The issue is described here:
    "powerpc/pci: Fix IO space breakage after of_pci_range_to_resource()
    change"
    (sha1: aeba3731b150188685225b510886f1370d8814de)

    Signed-off-by: Michal Simek

    Michal Simek
     
  • The time Kconfig expects that NR_CPUS is defined.

    This patch remove this config warning:
    "kernel/time/Kconfig:163:warning: range is invalid"

    Signed-off-by: Michal Simek

    Michal Simek
     
  • Pull ARM SoC fixes from Olof Johansson:
    "Another week, another small batch of fixes.

    Most of these make zynq, socfpga and sunxi platforms work a bit
    better:

    - due to new requirements for regulators, DWMMC on socfpga broke past
    v3.17
    - SMP spinup fix for socfpga
    - a few DT fixes for zynq
    - another option (FIXED_REGULATOR) for sunxi is needed that used to
    be selected by other options but no longer is.
    - a couple of small DT fixes for at91
    - ...and a couple for i.MX"

    * tag 'armsoc-for-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: dts: imx28-evk: Let i2c0 run at 100kHz
    ARM: i.MX6: Fix "emi" clock name typo
    ARM: multi_v7_defconfig: enable CONFIG_MMC_DW_ROCKCHIP
    ARM: sunxi_defconfig: enable CONFIG_REGULATOR_FIXED_VOLTAGE
    ARM: dts: socfpga: Add a 3.3V fixed regulator node
    ARM: dts: socfpga: Fix SD card detect
    ARM: dts: socfpga: rename gpio nodes
    ARM: at91/dt: sam9263: fix PLLB frequencies
    power: reset: at91-reset: fix power down register
    MAINTAINERS: add atmel ssc driver maintainer entry
    arm: socfpga: fix fetching cpu1start_addr for SMP
    ARM: zynq: DT: trivial: Fix mc node
    ARM: zynq: DT: Add cadence watchdog node
    ARM: zynq: DT: Add missing reference for memory-controller
    ARM: zynq: DT: Add missing reference for ADC
    ARM: zynq: DT: Add missing address for L2 pl310
    ARM: zynq: DT: Remove 222 MHz OPP
    ARM: zynq: DT: Fix GEM register area size

    Linus Torvalds
     

26 Oct, 2014

1 commit


25 Oct, 2014

7 commits

  • Commit 78b81f4666fb ("ARM: dts: imx28-evk: Run I2C0 at 400kHz") caused issues
    when doing the following sequence in loop:

    - Boot the kernel
    - Perform audio playback
    - Reboot the system via 'reboot' command

    In many times the audio card cannot be probed, which causes playback to fail.

    After restoring to the original i2c0 frequency of 100kHz there is no such
    problem anymore.

    This reverts commit 78b81f4666fbb22a20b1e63e5baf197ad2e90e88.

    Cc: # 3.16+
    Signed-off-by: Fabio Estevam
    Signed-off-by: Shawn Guo

    Fabio Estevam
     
  • Fix a typo error, the "emi" names refer to the eim clocks.

    The change fixes typo in EIM and EIM_SLOW pre-output dividers and
    selectors clock names. Notably EIM_SLOW clock itself is named correctly.

    Signed-off-by: Steve Longerbeam
    [vladimir_zapolskiy@mentor.com: ported to v3.17]
    Signed-off-by: Vladimir Zapolskiy
    Cc: Sascha Hauer
    Signed-off-by: Shawn Guo

    Steve Longerbeam
     
  • git commit b4f0d3755c5e9cc86292d5fd78261903b4f23d4a was very very dumb.
    It was writing over %esp/pt_regs semi-randomly on i686 with the expected
    "system can't boot" results. As noted in:

    https://bugs.freedesktop.org/show_bug.cgi?id=85277

    This patch stops fscking with pt_regs. Instead it sets up the registers
    for the call to __audit_syscall_entry in the most obvious conceivable
    way. It then does just a tiny tiny touch of magic. We need to get what
    started in PT_EDX into 0(%esp) and PT_ESI into 4(%esp). This is as easy
    as a pair of pushes.

    After the call to __audit_syscall_entry all we need to do is get that
    now useless junk off the stack (pair of pops) and reload %eax with the
    original syscall so other stuff can keep going about it's business.

    Reported-by: Paulo Zanoni
    Signed-off-by: Eric Paris
    Link: http://lkml.kernel.org/r/1414037043-30647-1-git-send-email-eparis@redhat.com
    Cc: Richard Guy Briggs
    Signed-off-by: H. Peter Anvin

    Eric Paris
     
  • Reason:
    Need to apply audit patch on top of v3.18-rc1.

    Signed-off-by: H. Peter Anvin

    H. Peter Anvin
     
  • Pull MIPS fixes from Ralf Baechle:
    "This is the first round of fixes and tying up loose ends for MIPS.

    - plenty of fixes for build errors in specific obscure configurations
    - remove redundant code on the Lantiq platform
    - removal of a useless SEAD I2C driver that was causing a build issue
    - fix an earlier TLB exeption handler fix to also work on Octeon.
    - fix ISA level dependencies in FPU emulator's instruction decoding.
    - don't hardcode kernel command line in Octeon software emulator.
    - fix an earlier fix for the Loondson 2 clock setting"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: SEAD3: Fix I2C device registration.
    MIPS: SEAD3: Nuke PIC32 I2C driver.
    MIPS: ftrace: Fix a microMIPS build problem
    MIPS: MSP71xx: Fix build error
    MIPS: Malta: Do not build the malta-amon.c file if CMP is not enabled
    MIPS: Prevent compiler warning from cop2_{save,restore}
    MIPS: Kconfig: Add missing MIPS_CPS dependencies to PM and cpuidle
    MIPS: idle: Remove leftover __pastwait symbol and its references
    MIPS: Sibyte: Include the swarm subdir to the sb1250 LittleSur builds
    MIPS: ptrace.h: Add a missing include
    MIPS: ath79: Fix compilation error when CONFIG_PCI is disabled
    MIPS: MSP71xx: Remove compilation error when CONFIG_MIPS_MT is present
    MIPS: Octeon: Remove special case for simulator command line.
    MIPS: tlbex: Properly fix HUGE TLB Refill exception handler
    MIPS: loongson2_cpufreq: Fix CPU clock rate setting mismerge
    pci: pci-lantiq: remove duplicate check on resource
    MIPS: Lasat: Add missing CONFIG_PROC_FS dependency to PICVUE_PROC
    MIPS: cp1emu: Fix ISA restrictions for cop1x_op instructions

    Linus Torvalds
     
  • Pull arm64 fixes from Catalin Marinas:

    - enable 48-bit VA space now that KVM has been fixed, together with a
    couple of fixes for pgd allocation alignment and initial memblock
    current_limit. There is still a dependency on !ARM_SMMU which needs
    to be updated as it uses the page table manipulation macros of the
    host kernel
    - eBPF fixes following changes/conflicts during the merging window
    - Compat types affecting compat_elf_prpsinfo
    - Compilation error on UP builds
    - ASLR fix when /proc/sys/kernel/randomize_va_space == 0
    - DT definitions for CLCD support on ARMv8 model platform

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: Fix memblock current_limit with 64K pages and 48-bit VA
    arm64: ASLR: Don't randomise text when randomise_va_space == 0
    arm64: vexpress: Add CLCD support to the ARMv8 model platform
    arm64: Fix compilation error on UP builds
    Documentation/arm64/memory.txt: fix typo
    net: bpf: arm64: minor fix of type in jited
    arm64: bpf: add 'load 64-bit immediate' instruction
    arm64: bpf: add 'shift by register' instructions
    net: bpf: arm64: address randomize and write protect JIT code
    arm64: mm: Correct fixmap pagetable types
    arm64: compat: fix compat types affecting struct compat_elf_prpsinfo
    arm64: Align less than PAGE_SIZE pgds naturally
    arm64: Allow 48-bits VA space without ARM_SMMU

    Linus Torvalds
     
  • Pull two sparc fixes from David Miller:

    1) Fix boots with gcc-4.9 compiled sparc64 kernels.

    2) Add missing __get_user_pages_fast() on sparc64 to fix hangs on
    futexes used in transparent hugepage areas.

    It's really idiotic to have a weak symbolled fallback that just
    returns zero, and causes this kind of bug. There should be no
    backup implementation and the link should fail if the architecture
    fails to provide __get_user_pages_fast() and supports transparent
    hugepages.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    sparc64: Implement __get_user_pages_fast().
    sparc64: Fix register corruption in top-most kernel stack frame during boot.

    Linus Torvalds