10 Nov, 2015

1 commit

  • Pull xtensa updates from Chris Zankel:

    - fix remaining issues with noMMU cores
    - fix build for cores w/o cache or zero overhead loop options
    - fix boot of secondary cores in SMP configuration
    - add support for DMA to high memory pages
    - add dma_to_phys and phys_to_dma functions.

    * tag 'xtensa-20151108' of git://github.com/czankel/xtensa-linux:
    xtensa: implement dma_to_phys and phys_to_dma
    xtensa: support DMA to high memory
    Revert "xtensa: cache inquiry and unaligned cache handling functions"
    xtensa: drop unused sections and remapped reset handlers
    xtensa: fix secondary core boot in SMP
    xtensa: add FORCE_MAX_ZONEORDER to Kconfig
    xtensa: nommu: provide defconfig for de212 on kc705
    xtensa: nommu: xtfpga: add kc705 DTS
    xtensa: add de212 core variant
    xtensa: nommu: select HAVE_FUTEX_CMPXCHG
    xtensa: nommu: fix default memory start address
    xtensa: nommu: provide correct KIO addresses
    xtensa: nommu: fix USER_RING definition
    xtensa: xtfpga: fix integer overflow in TASK_SIZE
    xtensa: fix build for configs without cache options
    xtensa: fixes for configs without loop option

    Linus Torvalds
     

09 Nov, 2015

1 commit

  • - don't bugcheck if high memory page is passed to xtensa_map_page;
    - turn empty dcache flush macros into functions so that they could be
    passed as function parameters;
    - use kmap_atomic to map high memory pages for cache invalidation/
    flushing performed by xtensa_sync_single_for_{cpu,device}.

    Signed-off-by: Max Filippov

    Max Filippov
     

03 Nov, 2015

2 commits

  • There are no .bootstrap or .ResetVector.text sections linked to the
    vmlinux image, drop these sections from vmlinux.ld.S. Drop
    RESET_VECTOR_VADDR definition only used for .ResetVector.text.

    Drop remapped copies of primary and secondary reset vectors, as modern
    gdb don't have problems stepping through instructions at arbitrary
    locations. Drop corresponding sections from the corresponding linker
    scripts.

    Signed-off-by: Max Filippov

    Max Filippov
     
  • There are multiple factors adding to the issue in different
    configurations:

    - commit 17290231df16eeee ("xtensa: add fixup for double exception raised
    in window overflow") added function window_overflow_restore_a0_fixup to
    double exception vector overlapping reset vector location of secondary
    processor cores.
    - on MMUv2 cores RESET_VECTOR1_VADDR may point to uncached kernel memory
    making code overlapping depend on cache type and size, so that without
    cache or with WT cache reset vector code overwrites double exception
    code, making issue even harder to detect.
    - on MMUv3 cores RESET_VECTOR1_VADDR may point to unmapped area, as
    MMUv3 cores change virtual address map to match MMUv2 layout, but
    reset vector virtual address is given for the original MMUv3 mapping.
    - physical memory region of the secondary reset vector is not reserved
    in the physical memory map, and thus may be allocated and overwritten
    at arbitrary moment.

    Fix it as follows:

    - move window_overflow_restore_a0_fixup code to .text section.
    - define RESET_VECTOR1_VADDR so that it points to reset vector in the
    cacheable MMUv2 map for cores with MMU.
    - reserve reset vector region in the physical memory map. Drop separate
    literal section and build mxhead.S with text section literals.

    Cc:
    Signed-off-by: Max Filippov

    Max Filippov
     

02 Nov, 2015

2 commits

  • KIO region location is different for noMMU cores. Provide different
    default physical address and make KIO virtual address equal to physical.

    Move xtensa_get_kio_paddr function close to XCHAL_KIO_PADDR definition
    and define it not only for MMUv3, but for all MMU options except MMUv2.

    Signed-off-by: Max Filippov

    Max Filippov
     
  • Build-time fixes:
    - make lbeg/lend/lcount save/restore conditional on kernel entry;
    - don't clear lcount in platform_restart functions unconditionally.

    Run-time fixes:
    - use correct end of range register in __endla paired with __loopt, not
    the unused temporary register. This fixes .bss zero-initialization.
    Update comments in asmmacro.h;
    - don't clobber a10 in the usercopy that leads to access to unmapped
    memory.

    Cc:
    Signed-off-by: Max Filippov

    Max Filippov
     

01 Oct, 2015

1 commit

  • Seeing the 'of' characters in a symbol that is being called from
    ACPI seems to freak out people. So let's do a bit of pointless
    renaming so that these folks do feel at home.

    Signed-off-by: Marc Zyngier
    Acked-by: Catalin Marinas
    Reviewed-by: Hanjun Guo
    Acked-by: Thomas Gleixner
    Tested-by: Hanjun Guo
    Signed-off-by: Rafael J. Wysocki

    Marc Zyngier
     

16 Sep, 2015

1 commit

  • Revert dff22d2054b5 ("PCI: Call pci_read_bridge_bases() from core instead
    of arch code").

    Reading PCI bridge windows is not arch-specific in itself, but there is PCI
    core code that doesn't work correctly if we read them too early. For
    example, Hannes found this case on an ARM Freescale i.mx6 board:

    pci_bus 0000:00: root bus resource [mem 0x01000000-0x01efffff]
    pci 0000:00:00.0: PCI bridge to [bus 01-ff]
    pci 0000:00:00.0: BAR 8: no space for [mem size 0x01000000] (mem window)
    pci 0000:01:00.0: BAR 2: failed to assign [mem size 0x00200000]
    pci 0000:01:00.0: BAR 1: failed to assign [mem size 0x00004000]
    pci 0000:01:00.0: BAR 0: failed to assign [mem size 0x00000100]

    The 00:00.0 mem window needs to be at least 3MB: the 01:00.0 device needs
    0x204100 of space, and mem windows are megabyte-aligned.

    Bus sizing can increase a bridge window size, but never *decrease* it (see
    d65245c3297a ("PCI: don't shrink bridge resources")). Prior to
    dff22d2054b5, ARM didn't read bridge windows at all, so the "original size"
    was zero, and we assigned a 3MB window.

    After dff22d2054b5, we read the bridge windows before sizing the bus. The
    firmware programmed a 16MB window (size 0x01000000) in 00:00.0, and since
    we never decrease the size, we kept 16MB even though we only needed 3MB.
    But 16MB doesn't fit in the host bridge aperture, so we failed to assign
    space for the window and the downstream devices.

    I think this is a defect in the PCI core: we shouldn't rely on the firmware
    to assign sensible windows.

    Ray reported a similar problem, also on ARM, with Broadcom iProc.

    Issues like this are too hard to fix right now, so revert dff22d2054b5.

    Reported-by: Hannes
    Reported-by: Ray Jui
    Link: http://lkml.kernel.org/r/CAAa04yFQEUJm7Jj1qMT57-LG7ZGtnhNDBe=PpSRa70Mj+XhW-A@mail.gmail.com
    Link: http://lkml.kernel.org/r/55F75BB8.4070405@broadcom.com
    Signed-off-by: Bjorn Helgaas
    Acked-by: Yinghai Lu
    Acked-by: Lorenzo Pieralisi

    Bjorn Helgaas
     

02 Sep, 2015

2 commits

  • Pull irq updates from Thomas Gleixner:
    "This updated pull request does not contain the last few GIC related
    patches which were reported to cause a regression. There is a fix
    available, but I let it breed for a couple of days first.

    The irq departement provides:

    - new infrastructure to support non PCI based MSI interrupts
    - a couple of new irq chip drivers
    - the usual pile of fixlets and updates to irq chip drivers
    - preparatory changes for removal of the irq argument from interrupt
    flow handlers
    - preparatory changes to remove IRQF_VALID"

    * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (129 commits)
    irqchip/imx-gpcv2: IMX GPCv2 driver for wakeup sources
    irqchip: Add bcm2836 interrupt controller for Raspberry Pi 2
    irqchip: Add documentation for the bcm2836 interrupt controller
    irqchip/bcm2835: Add support for being used as a second level controller
    irqchip/bcm2835: Refactor handle_IRQ() calls out of MAKE_HWIRQ
    PCI: xilinx: Fix typo in function name
    irqchip/gic: Ensure gic_cpu_if_up/down() programs correct GIC instance
    irqchip/gic: Only allow the primary GIC to set the CPU map
    PCI/MSI: pci-xgene-msi: Consolidate chained IRQ handler install/remove
    unicore32/irq: Prepare puv3_gpio_handler for irq argument removal
    tile/pci_gx: Prepare trio_handle_level_irq for irq argument removal
    m68k/irq: Prepare irq handlers for irq argument removal
    C6X/megamode-pic: Prepare megamod_irq_cascade for irq argument removal
    blackfin: Prepare irq handlers for irq argument removal
    arc/irq: Prepare idu_cascade_isr for irq argument removal
    sparc/irq: Use access helper irq_data_get_affinity_mask()
    sparc/irq: Use helper irq_data_get_irq_handler_data()
    parisc/irq: Use access helper irq_data_get_affinity_mask()
    mn10300/irq: Use access helper irq_data_get_affinity_mask()
    irqchip/i8259: Prepare i8259_irq_dispatch for irq argument removal
    ...

    Linus Torvalds
     
  • Pull timer updates from Thomas Gleixner:
    "Rather large, but nothing exiting:

    - new range check for settimeofday() to prevent that boot time
    becomes negative.
    - fix for file time rounding
    - a few simplifications of the hrtimer code
    - fix for the proc/timerlist code so the output of clock realtime
    timers is accurate
    - more y2038 work
    - tree wide conversion of clockevent drivers to the new callbacks"

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (88 commits)
    hrtimer: Handle failure of tick_init_highres() gracefully
    hrtimer: Unconfuse switch_hrtimer_base() a bit
    hrtimer: Simplify get_target_base() by returning current base
    hrtimer: Drop return code of hrtimer_switch_to_hres()
    time: Introduce timespec64_to_jiffies()/jiffies_to_timespec64()
    time: Introduce current_kernel_time64()
    time: Introduce struct itimerspec64
    time: Add the common weak version of update_persistent_clock()
    time: Always make sure wall_to_monotonic isn't positive
    time: Fix nanosecond file time rounding in timespec_trunc()
    timer_list: Add the base offset so remaining nsecs are accurate for non monotonic timers
    cris/time: Migrate to new 'set-state' interface
    kernel: broadcast-hrtimer: Migrate to new 'set-state' interface
    xtensa/time: Migrate to new 'set-state' interface
    unicore/time: Migrate to new 'set-state' interface
    um/time: Migrate to new 'set-state' interface
    sparc/time: Migrate to new 'set-state' interface
    sh/localtimer: Migrate to new 'set-state' interface
    score/time: Migrate to new 'set-state' interface
    s390/time: Migrate to new 'set-state' interface
    ...

    Linus Torvalds
     

01 Sep, 2015

1 commit

  • Pull PCI updates from Bjorn Helgaas:
    "PCI changes for the v4.3 merge window:

    Enumeration:
    - Allocate ATS struct during enumeration (Bjorn Helgaas)
    - Embed ATS info directly into struct pci_dev (Bjorn Helgaas)
    - Reduce size of ATS structure elements (Bjorn Helgaas)
    - Stop caching ATS Invalidate Queue Depth (Bjorn Helgaas)
    - iommu/vt-d: Cache PCI ATS state and Invalidate Queue Depth (Bjorn Helgaas)
    - Move MPS configuration check to pci_configure_device() (Bjorn Helgaas)
    - Set MPS to match upstream bridge (Keith Busch)
    - ARM/PCI: Set MPS before pci_bus_add_devices() (Murali Karicheri)
    - Add pci_scan_root_bus_msi() (Lorenzo Pieralisi)
    - ARM/PCI, designware, xilinx: Use pci_scan_root_bus_msi() (Lorenzo Pieralisi)

    Resource management:
    - Call pci_read_bridge_bases() from core instead of arch code (Lorenzo Pieralisi)

    PCI device hotplug:
    - pciehp: Remove unused interrupt events (Bjorn Helgaas)
    - pciehp: Remove ignored MRL sensor interrupt events (Bjorn Helgaas)
    - pciehp: Handle invalid data when reading from non-existent devices (Jarod Wilson)
    - pciehp: Simplify pcie_poll_cmd() (Yijing Wang)
    - Use "slot" and "pci_slot" for struct hotplug_slot and struct pci_slot (Yijing Wang)
    - Protect pci_bus->slots with pci_slot_mutex, not pci_bus_sem (Yijing Wang)
    - Hold pci_slot_mutex while searching bus->slots list (Yijing Wang)

    Power management:
    - Disable async suspend/resume for JMicron multi-function SATA/AHCI (Zhang Rui)

    Virtualization:
    - Add ACS quirks for Intel I219-LM/V (Alex Williamson)
    - Restore ACS configuration as part of pci_restore_state() (Alexander Duyck)

    MSI:
    - Add pcibios_alloc_irq() and pcibios_free_irq() (Jiang Liu)
    - x86: Implement pcibios_alloc_irq() and pcibios_free_irq() (Jiang Liu)
    - Add helpers to manage pci_dev->irq and pci_dev->irq_managed (Jiang Liu)
    - Free legacy IRQ when enabling MSI/MSI-X (Jiang Liu)
    - ARM/PCI: Remove msi_controller from struct pci_sys_data (Lorenzo Pieralisi)
    - Remove unused pcibios_msi_controller() hook (Lorenzo Pieralisi)

    Generic host bridge driver:
    - Remove dependency on ARM-specific struct hw_pci (Jayachandran C)
    - Build setup-irq.o for arm64 (Jayachandran C)
    - Add arm64 support (Jayachandran C)

    APM X-Gene host bridge driver:
    - Add APM X-Gene PCIe 64-bit prefetchable window (Duc Dang)
    - Add support for a 64-bit prefetchable memory window (Duc Dang)
    - Drop owner assignment from platform_driver (Krzysztof Kozlowski)

    Broadcom iProc host bridge driver:
    - Allow BCMA bus driver to be built as module (Hauke Mehrtens)
    - Delete unnecessary checks before phy calls (Markus Elfring)
    - Add arm64 support (Ray Jui)

    Synopsys DesignWare host bridge driver:
    - Don't complain missing *config* reg space if va_cfg0 is set (Murali Karicheri)

    TI DRA7xx host bridge driver:
    - Disable pm_runtime on get_sync failure (Kishon Vijay Abraham I)
    - Add PM support (Kishon Vijay Abraham I)
    - Clear MSE bit during suspend so clocks will idle (Kishon Vijay Abraham I)
    - Add support to make GPIO drive PERST# line (Kishon Vijay Abraham I)

    Xilinx AXI host bridge driver:
    - Check for MSI interrupt flag before handling as INTx (Russell Joyce)

    Miscellaneous:
    - Fix Intersil/Techwell TW686[4589] AV capture class code (Krzysztof Hałasa)
    - Use PCI_CLASS_SERIAL_USB instead of bare number (Bjorn Helgaas)
    - Fix generic NCR 53c810 class code quirk (Bjorn Helgaas)
    - Fix TI816X class code quirk (Bjorn Helgaas)
    - Remove unused "pci_probe" flags (Bjorn Helgaas)
    - Host bridge driver code simplifications (Fabio Estevam)
    - Add dev_flags bit to access VPD through function 0 (Mark Rustad)
    - Add VPD function 0 quirk for Intel Ethernet devices (Mark Rustad)
    - Kill off set_irq_flags() usage (Rob Herring)
    - Remove Intel Cherrytrail D3 delays (Srinidhi Kasagar)
    - Clean up pci_find_capability() (Wei Yang)"

    * tag 'pci-v4.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (72 commits)
    PCI: Disable async suspend/resume for JMicron multi-function SATA/AHCI
    PCI: Set MPS to match upstream bridge
    PCI: Move MPS configuration check to pci_configure_device()
    PCI: Drop references acquired by of_parse_phandle()
    PCI/MSI: Remove unused pcibios_msi_controller() hook
    ARM/PCI: Remove msi_controller from struct pci_sys_data
    ARM/PCI, designware, xilinx: Use pci_scan_root_bus_msi()
    PCI: Add pci_scan_root_bus_msi()
    ARM/PCI: Replace panic with WARN messages on failures
    PCI: generic: Add arm64 support
    PCI: Build setup-irq.o for arm64
    PCI: generic: Remove dependency on ARM-specific struct hw_pci
    PCI: imx6: Simplify a trivial if-return sequence
    PCI: spear: Use BUG_ON() instead of condition followed by BUG()
    PCI: dra7xx: Remove unneeded use of IS_ERR_VALUE()
    PCI: Remove pci_ats_enabled()
    PCI: Stop caching ATS Invalidate Queue Depth
    PCI: Move ATS declarations to linux/pci.h so they're all together
    PCI: Clean up ATS error handling
    PCI: Use pci_physfn() rather than looking up physfn by hand
    ...

    Linus Torvalds
     

20 Aug, 2015

1 commit

  • Current sed script makes assumptions about the structure of rules that
    group .text sections in the vmlinux linker script. These assumptions
    get broken occasionally, e.g.: 779c88c94c34 "ARM: 8321/1: asm-generic:
    introduce.text.fixup input section", or 9bebe9e5b0f3 "kbuild: Fix
    .text.unlikely placement".

    Rewrite sed rules so that they don't depend on number/arrangement of text
    sections in *(...) blocks.

    Signed-off-by: Max Filippov

    Max Filippov
     

17 Aug, 2015

10 commits

  • Signed-off-by: Max Filippov

    Max Filippov
     
  • In case perf IRQ is the highest of the medium-level IRQs, and is alone
    on its level, it may be treated as NMI:
    - LOCKLEVEL is defined to be one level less than EXCM level,
    - IRQ masking never lowers current IRQ level,
    - new fake exception cause code, EXCCAUSE_MAPPED_NMI is assigned to that
    IRQ; new second level exception handler, do_nmi, assigned to it
    handles it as NMI,
    - atomic operations in configurations without s32c1i still need to mask
    all interrupts.

    Cc: Peter Zijlstra
    Acked-by: Peter Zijlstra (Intel)
    Signed-off-by: Max Filippov

    Max Filippov
     
  • There's no way _switch_to can produce double exceptions now, don't
    enter/leave EXC_TABLE_FIXUP critical section.

    Signed-off-by: Max Filippov

    Max Filippov
     
  • call12 can't be safely used as the first call in the inline function,
    because the compiler does not extend the stack frame of the bounding
    function accordingly, which may result in corruption of local variables.

    If a call needs to be done, do call8 first followed by call12.

    For pure assembly code in _switch_to increase stack frame size of the
    bounding function.

    Cc: stable@vger.kernel.org
    Signed-off-by: Max Filippov

    Max Filippov
     
  • entry.s only disables IRQs on hardware IRQ, move trace_hardirqs_off call
    into do_interrupt. Check actual intlevel that will be restored on return
    from exception handler to decide if trace_hardirqs_on should be called.
    Annotate IRQ on/off points in the TIF_* handling loop on return from
    exception handler.

    Signed-off-by: Max Filippov

    Max Filippov
     
  • Xtensa Performance Monitor Module has up to 8 32 bit wide performance
    counters. Each counter may be enabled independently and can count any
    single type of hardware performance events. Event counting may be enabled
    and disabled globally (per PMM).
    Each counter has status register with bits indicating if the counter has
    been overflown and may be programmed to raise profiling IRQ on overflow.
    This IRQ is used to rewind counters and allow for counting more than 2^32
    samples for counting events and to report samples for sampling events.

    For more details see Tensilica Debug User's Guide, chapter 8
    "Performance monitor module".

    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Arnaldo Carvalho de Melo
    Signed-off-by: Max Filippov

    Max Filippov
     
  • Signed-off-by: Max Filippov

    Max Filippov
     
  • Old oprofile interface will share user stack tracing with new perf
    interface. Move oprofile user/kernel stack tracing to stacktrace.c to
    make it possible.

    Signed-off-by: Max Filippov

    Max Filippov
     
  • Restore original a0 in the kernel exception stack frame. This way it
    looks like the frame that got interrupt/exception did alloca (copy a0 and
    a1 spilled under old stack to the new location as well) to save registers
    and then did a call to handler.
    The point where interrupt/exception was taken is not in the stack chain,
    only in pt_regs (call4 from that address can be simulated to keep it in
    the stack trace).

    Signed-off-by: Max Filippov

    Max Filippov
     
  • - keep existing functionality: don't handle attributes, don't support
    high memory;
    - implement scatterlist primitives (map/unmap/sync);
    - enable DMA API debug.

    Signed-off-by: Max Filippov

    Max Filippov
     

10 Aug, 2015

1 commit

  • Migrate xtensa driver to the new 'set-state' interface provided by
    clockevents core, the earlier 'set-mode' interface is marked obsolete
    now.

    This also enables us to implement callbacks for new states of clockevent
    devices, for example: ONESHOT_STOPPED.

    Cc: Chris Zankel
    Cc: Max Filippov
    Cc: linux-xtensa@linux-xtensa.org
    Signed-off-by: Viresh Kumar
    Signed-off-by: Daniel Lezcano

    Viresh Kumar
     

29 Jul, 2015

1 commit


23 Jul, 2015

1 commit

  • When we scan a PCI bus, we read PCI-PCI bridge window registers with
    pci_read_bridge_bases() so we can validate the resource hierarchy. Most
    architectures call pci_read_bridge_bases() from pcibios_fixup_bus(), but
    PCI-PCI bridges are not arch-specific, so this doesn't need to be in
    arch-specific code.

    Call pci_read_bridge_bases() directly from the PCI core instead of from
    arch code.

    For alpha and mips, we now call pci_read_bridge_bases() always; previously
    we only called it if PCI_PROBE_ONLY was set.

    [bhelgaas: changelog]
    Signed-off-by: Lorenzo Pieralisi
    Signed-off-by: Bjorn Helgaas
    CC: Ralf Baechle
    CC: James E.J. Bottomley
    CC: Michael Ellerman
    CC: Bjorn Helgaas
    CC: Richard Henderson
    CC: Benjamin Herrenschmidt
    CC: David Howells
    CC: Russell King
    CC: Tony Luck
    CC: David S. Miller
    CC: Ingo Molnar
    CC: Guenter Roeck
    CC: Michal Simek
    CC: Chris Zankel

    Lorenzo Pieralisi
     

15 Jul, 2015

1 commit


18 Apr, 2015

1 commit

  • Pull Xtensa updates from Chris Zankel:

    - fix linker script transformation for .text / .text.fixup

    - wire bpf and execveat syscalls

    - provide __NR_sync_file_range2 instead of __NR_sync_file_range, as
    that's what xtensa uses.

    - make xtfpgs LCD driver functional and configurable. This fixes
    hardware lockup on KC705/ML605 boot

    - add audio subsystem bits to xtfpga DTS and provide sample KC705
    config with audio features enabled

    - add CY7C67300 USB controller support to XTFPGA

    - fix locking issues in ISS network driver

    - document PIC and MX interrupt distributor device tree bindings

    * tag 'xtensa-20150416' of git://github.com/czankel/xtensa-linux:
    xtensa: xtfpga: add CY7C67300 USB controller support
    irqchip: xtensa-pic: xtensa-mx: document DT bindings
    xtensa: ISS: fix locking in TAP network adapter
    xtensa: Fix fix linker script transformation for .text / .text.fixup
    xtensa: provide __NR_sync_file_range2 instead of __NR_sync_file_range
    xtensa: wire bpf and execveat syscalls
    xtensa: xtfpga: fix hardware lockup caused by LCD driver
    xtensa: xtfpga: provide defconfig with audio subsystem
    xtensa: xtfpga: add audio card to xtfpga DTS

    Linus Torvalds
     

16 Apr, 2015

1 commit

  • Pull exec domain removal from Richard Weinberger:
    "This series removes execution domain support from Linux.

    The idea behind exec domains was to support different ABIs. The
    feature was never complete nor stable. Let's rip it out and make the
    kernel signal handling code less complicated"

    * 'exec_domain_rip_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc: (27 commits)
    arm64: Removed unused variable
    sparc: Fix execution domain removal
    Remove rest of exec domains.
    arch: Remove exec_domain from remaining archs
    arc: Remove signal translation and exec_domain
    xtensa: Remove signal translation and exec_domain
    xtensa: Autogenerate offsets in struct thread_info
    x86: Remove signal translation and exec_domain
    unicore32: Remove signal translation and exec_domain
    um: Remove signal translation and exec_domain
    tile: Remove signal translation and exec_domain
    sparc: Remove signal translation and exec_domain
    sh: Remove signal translation and exec_domain
    s390: Remove signal translation and exec_domain
    mn10300: Remove signal translation and exec_domain
    microblaze: Remove signal translation and exec_domain
    m68k: Remove signal translation and exec_domain
    m32r: Remove signal translation and exec_domain
    m32r: Autogenerate offsets in struct thread_info
    frv: Remove signal translation and exec_domain
    ...

    Linus Torvalds
     

15 Apr, 2015

1 commit

  • Pull vfs update from Al Viro:
    "Part one:

    - struct filename-related cleanups

    - saner iov_iter_init() replacements (and switching the syscalls to
    use of those)

    - ntfs switch to ->write_iter() (Anton)

    - aio cleanups and splitting iocb into common and async parts
    (Christoph)

    - assorted fixes (me, bfields, Andrew Elble)

    There's a lot more, including the completion of switchover to
    ->{read,write}_iter(), d_inode/d_backing_inode annotations, f_flags
    race fixes, etc, but that goes after #for-davem merge. David has
    pulled it, and once it's in I'll send the next vfs pull request"

    * 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (35 commits)
    sg_start_req(): use import_iovec()
    sg_start_req(): make sure that there's not too many elements in iovec
    blk_rq_map_user(): use import_single_range()
    sg_io(): use import_iovec()
    process_vm_access: switch to {compat_,}import_iovec()
    switch keyctl_instantiate_key_common() to iov_iter
    switch {compat_,}do_readv_writev() to {compat_,}import_iovec()
    aio_setup_vectored_rw(): switch to {compat_,}import_iovec()
    vmsplice_to_user(): switch to import_iovec()
    kill aio_setup_single_vector()
    aio: simplify arguments of aio_setup_..._rw()
    aio: lift iov_iter_init() into aio_setup_..._rw()
    lift iov_iter into {compat_,}do_readv_writev()
    NFS: fix BUG() crash in notify_change() with patch to chown_common()
    dcache: return -ESTALE not -EBUSY on distributed fs race
    NTFS: Version 2.1.32 - Update file write from aio_write to write_iter.
    VFS: Add iov_iter_fault_in_multipages_readable()
    drop bogus check in file_open_root()
    switch security_inode_getattr() to struct path *
    constify tomoyo_realpath_from_path()
    ...

    Linus Torvalds
     

14 Apr, 2015

1 commit


13 Apr, 2015

2 commits


12 Apr, 2015

1 commit


10 Apr, 2015

1 commit

  • Commit 779c88c94c34 ("ARM: 8321/1: asm-generic: introduce .text.fixup
    input section") introduced a new .text.fixup section which is merged
    with .text at link time. This causes xtensa builds to fail with lots
    of error messages similar to the following.

    lib/lib.a(kobject.o): In function `kobject_create':
    (.text+0x498): dangerous relocation: l32r: literal placed after use:
    (.literal+0x150)

    Linker script transformation needs to be updated to detect and handle
    the new section.

    Fixes: 779c88c94c34 ("ARM: 8321/1: asm-generic: introduce .text.fixup
    input section")
    Cc: Ard Biesheuvel
    Cc: Arnd Bergmann
    Signed-off-by: Guenter Roeck
    Signed-off-by: Chris Zankel

    Guenter Roeck
     

19 Mar, 2015

1 commit

  • Previously, pci_scan_root_bus() created a root PCI bus, enumerated the
    devices on it, and called pci_bus_add_devices(), which made the devices
    available for drivers to claim them.

    Most callers assigned resources to devices after pci_scan_root_bus()
    returns, which may be after drivers have claimed the devices. This is
    incorrect; the PCI core should not change device resources while a driver
    is managing the device.

    Remove pci_bus_add_devices() from pci_scan_root_bus() and do it after any
    resource assignment in the callers.

    Note that ARM's pci_common_init_dev() already called pci_bus_add_devices()
    after pci_scan_root_bus(), so we only need to remove the first call:

    pci_common_init_dev
    pcibios_init_hw
    pci_scan_root_bus
    pci_bus_add_devices # first call
    pci_bus_assign_resources
    pci_bus_add_devices # second call

    [bhelgaas: changelog, drop "root_bus" var in alpha common_init_pci(),
    return failure earlier in mn10300, add "return" in x86 pcibios_scan_root(),
    return early if xtensa platform_pcibios_fixup() fails]
    Signed-off-by: Yijing Wang
    Signed-off-by: Bjorn Helgaas
    CC: Richard Henderson
    CC: Ivan Kokshaysky
    CC: Matt Turner
    CC: David Howells
    CC: Tony Luck
    CC: Michal Simek
    CC: Ralf Baechle
    CC: Koichi Yasutake
    CC: Sebastian Ott
    CC: "David S. Miller"
    CC: Chris Metcalf
    CC: Chris Zankel
    CC: Max Filippov
    CC: Thomas Gleixner

    Yijing Wang
     

14 Feb, 2015

1 commit

  • printk and friends can now format bitmaps using '%*pb[l]'. cpumask
    and nodemask also provide cpumask_pr_args() and nodemask_pr_args()
    respectively which can be used to generate the two printf arguments
    necessary to format the specified cpu/nodemask.

    Signed-off-by: Tejun Heo
    Cc: Chris Zankel
    Cc: Max Filippov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tejun Heo
     

13 Feb, 2015

1 commit

  • If an attacker can cause a controlled kernel stack overflow, overwriting
    the restart block is a very juicy exploit target. This is because the
    restart_block is held in the same memory allocation as the kernel stack.

    Moving the restart block to struct task_struct prevents this exploit by
    making the restart_block harder to locate.

    Note that there are other fields in thread_info that are also easy
    targets, at least on some architectures.

    It's also a decent simplification, since the restart code is more or less
    identical on all architectures.

    [james.hogan@imgtec.com: metag: align thread_info::supervisor_stack]
    Signed-off-by: Andy Lutomirski
    Cc: Thomas Gleixner
    Cc: Al Viro
    Cc: "H. Peter Anvin"
    Cc: Ingo Molnar
    Cc: Kees Cook
    Cc: David Miller
    Acked-by: Richard Weinberger
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Matt Turner
    Cc: Vineet Gupta
    Cc: Russell King
    Cc: Catalin Marinas
    Cc: Will Deacon
    Cc: Haavard Skinnemoen
    Cc: Hans-Christian Egtvedt
    Cc: Steven Miao
    Cc: Mark Salter
    Cc: Aurelien Jacquiot
    Cc: Mikael Starvik
    Cc: Jesper Nilsson
    Cc: David Howells
    Cc: Richard Kuo
    Cc: "Luck, Tony"
    Cc: Geert Uytterhoeven
    Cc: Michal Simek
    Cc: Ralf Baechle
    Cc: Jonas Bonn
    Cc: "James E.J. Bottomley"
    Cc: Helge Deller
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Acked-by: Michael Ellerman (powerpc)
    Tested-by: Michael Ellerman (powerpc)
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: Chen Liqin
    Cc: Lennox Wu
    Cc: Chris Metcalf
    Cc: Guan Xuetao
    Cc: Chris Zankel
    Cc: Max Filippov
    Cc: Oleg Nesterov
    Cc: Guenter Roeck
    Signed-off-by: James Hogan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Lutomirski
     

10 Nov, 2014

1 commit


21 Oct, 2014

2 commits