16 Aug, 2014

2 commits


10 Aug, 2014

1 commit

  • Pull namespace updates from Eric Biederman:
    "This is a bunch of small changes built against 3.16-rc6. The most
    significant change for users is the first patch which makes setns
    drmatically faster by removing unneded rcu handling.

    The next chunk of changes are so that "mount -o remount,.." will not
    allow the user namespace root to drop flags on a mount set by the
    system wide root. Aks this forces read-only mounts to stay read-only,
    no-dev mounts to stay no-dev, no-suid mounts to stay no-suid, no-exec
    mounts to stay no exec and it prevents unprivileged users from messing
    with a mounts atime settings. I have included my test case as the
    last patch in this series so people performing backports can verify
    this change works correctly.

    The next change fixes a bug in NFS that was discovered while auditing
    nsproxy users for the first optimization. Today you can oops the
    kernel by reading /proc/fs/nfsfs/{servers,volumes} if you are clever
    with pid namespaces. I rebased and fixed the build of the
    !CONFIG_NFS_FS case yesterday when a build bot caught my typo. Given
    that no one to my knowledge bases anything on my tree fixing the typo
    in place seems more responsible that requiring a typo-fix to be
    backported as well.

    The last change is a small semantic cleanup introducing
    /proc/thread-self and pointing /proc/mounts and /proc/net at it. This
    prevents several kinds of problemantic corner cases. It is a
    user-visible change so it has a minute chance of causing regressions
    so the change to /proc/mounts and /proc/net are individual one line
    commits that can be trivially reverted. Unfortunately I lost and
    could not find the email of the original reporter so he is not
    credited. From at least one perspective this change to /proc/net is a
    refgression fix to allow pthread /proc/net uses that were broken by
    the introduction of the network namespace"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
    proc: Point /proc/mounts at /proc/thread-self/mounts instead of /proc/self/mounts
    proc: Point /proc/net at /proc/thread-self/net instead of /proc/self/net
    proc: Implement /proc/thread-self to point at the directory of the current thread
    proc: Have net show up under /proc//task/
    NFS: Fix /proc/fs/nfsfs/servers and /proc/fs/nfsfs/volumes
    mnt: Add tests for unprivileged remount cases that have found to be faulty
    mnt: Change the default remount atime from relatime to the existing value
    mnt: Correct permission checks in do_remount
    mnt: Move the test for MNT_LOCK_READONLY from change_mount_flags into do_remount
    mnt: Only change user settable mount flags in remount
    namespaces: Use task_lock and not rcu to protect nsproxy

    Linus Torvalds
     

09 Aug, 2014

3 commits

  • Setting SEAL_WRITE is not possible if there're pending GUP users. This
    commit adds selftests for memfd+sealing that use FUSE to create pending
    page-references. FUSE is very helpful here in that it allows us to delay
    direct-IO operations for an arbitrary amount of time. This way, we can
    force the kernel to pin pages and then run our normal selftests.

    Signed-off-by: David Herrmann
    Acked-by: Hugh Dickins
    Cc: Michael Kerrisk
    Cc: Ryan Lortie
    Cc: Lennart Poettering
    Cc: Daniel Mack
    Cc: Andy Lutomirski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Herrmann
     
  • Some basic tests to verify sealing on memfds works as expected and
    guarantees the advertised semantics.

    Signed-off-by: David Herrmann
    Acked-by: Hugh Dickins
    Cc: Michael Kerrisk
    Cc: Ryan Lortie
    Cc: Lennart Poettering
    Cc: Daniel Mack
    Cc: Andy Lutomirski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Herrmann
     
  • On IBM powerpc where multiple page size value are supported, current
    ppc64 and ppc64el distro don't define the PAGE_SIZE variable in
    /usr/include as this is a dynamic value retrieved by the getpagesize()
    or sysconf() defined in unistd.h. The PAGE_SIZE variable sounds defined
    when only one value is supported by the kernel.

    As such, when the PAGE_SIZE definition doesn't exist system should
    retrieve the dynamic value.

    Signed-off-by: Thierry Fauck
    Cc: Andrey Vagin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thierry Fauck
     

07 Aug, 2014

2 commits

  • Pull powerpc updates from Ben Herrenschmidt:
    "This is the powerpc new goodies for 3.17. The short story:

    The biggest bit is Michael removing all of pre-POWER4 processor
    support from the 64-bit kernel. POWER3 and rs64. This gets rid of a
    ton of old cruft that has been bitrotting in a long while. It was
    broken for quite a few versions already and nobody noticed. Nobody
    uses those machines anymore. While at it, he cleaned up a bunch of
    old dusty cabinets, getting rid of a skeletton or two.

    Then, we have some base VFIO support for KVM, which allows assigning
    of PCI devices to KVM guests, support for large 64-bit BARs on
    "powernv" platforms, support for HMI (Hardware Management Interrupts)
    on those same platforms, some sparse-vmemmap improvements (for memory
    hotplug),

    There is the usual batch of Freescale embedded updates (summary in the
    merge commit) and fixes here or there, I think that's it for the
    highlights"

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (102 commits)
    powerpc/eeh: Export eeh_iommu_group_to_pe()
    powerpc/eeh: Add missing #ifdef CONFIG_IOMMU_API
    powerpc: Reduce scariness of interrupt frames in stack traces
    powerpc: start loop at section start of start in vmemmap_populated()
    powerpc: implement vmemmap_free()
    powerpc: implement vmemmap_remove_mapping() for BOOK3S
    powerpc: implement vmemmap_list_free()
    powerpc: Fail remap_4k_pfn() if PFN doesn't fit inside PTE
    powerpc/book3s: Fix endianess issue for HMI handling on napping cpus.
    powerpc/book3s: handle HMIs for cpus in nap mode.
    powerpc/powernv: Invoke opal call to handle hmi.
    powerpc/book3s: Add basic infrastructure to handle HMI in Linux.
    powerpc/iommu: Fix comments with it_page_shift
    powerpc/powernv: Handle compound PE in config accessors
    powerpc/powernv: Handle compound PE for EEH
    powerpc/powernv: Handle compound PE
    powerpc/powernv: Split ioda_eeh_get_state()
    powerpc/powernv: Allow to freeze PE
    powerpc/powernv: Enable M64 aperatus for PHB3
    powerpc/eeh: Aux PE data for error log
    ...

    Linus Torvalds
     
  • Pull ACPI and power management updates from Rafael Wysocki:
    "Again, ACPICA leads the pack (47 commits), followed by cpufreq (18
    commits) and system suspend/hibernation (9 commits).

    From the new code perspective, the ACPICA update brings ACPI 5.1 to
    the table, including a new device configuration object called _DSD
    (Device Specific Data) that will hopefully help us to operate device
    properties like Device Trees do (at least to some extent) and changes
    related to supporting ACPI on ARM.

    Apart from that we have hibernation changes making it use radix trees
    to store memory bitmaps which should speed up some operations carried
    out by it quite significantly. We also have some power management
    changes related to suspend-to-idle (the "freeze" sleep state) support
    and more preliminary changes needed to support ACPI on ARM (outside of
    ACPICA).

    The rest is fixes and cleanups pretty much everywhere.

    Specifics:

    - ACPICA update to upstream version 20140724. That includes ACPI 5.1
    material (support for the _CCA and _DSD predefined names, changes
    related to the DMAR and PCCT tables and ARM support among other
    things) and cleanups related to using ACPICA's header files. A
    major part of it is related to acpidump and the core code used by
    that utility. Changes from Bob Moore, David E Box, Lv Zheng,
    Sascha Wildner, Tomasz Nowicki, Hanjun Guo.

    - Radix trees for memory bitmaps used by the hibernation core from
    Joerg Roedel.

    - Support for waking up the system from suspend-to-idle (also known
    as the "freeze" sleep state) using ACPI-based PCI wakeup signaling
    (Rafael J Wysocki).

    - Fixes for issues related to ACPI button events (Rafael J Wysocki).

    - New device ID for an ACPI-enumerated device included into the
    Wildcat Point PCH from Jie Yang.

    - ACPI video updates related to backlight handling from Hans de Goede
    and Linus Torvalds.

    - Preliminary changes needed to support ACPI on ARM from Hanjun Guo
    and Graeme Gregory.

    - ACPI PNP core cleanups from Arjun Sreedharan and Zhang Rui.

    - Cleanups related to ACPI_COMPANION() and ACPI_HANDLE() macros
    (Rafael J Wysocki).

    - ACPI-based device hotplug cleanups from Wei Yongjun and Rafael J
    Wysocki.

    - Cleanups and improvements related to system suspend from Lan
    Tianyu, Randy Dunlap and Rafael J Wysocki.

    - ACPI battery cleanup from Wei Yongjun.

    - cpufreq core fixes from Viresh Kumar.

    - Elimination of a deadband effect from the cpufreq ondemand governor
    and intel_pstate driver cleanups from Stratos Karafotis.

    - 350MHz CPU support for the powernow-k6 cpufreq driver from Mikulas
    Patocka.

    - Fix for the imx6 cpufreq driver from Anson Huang.

    - cpuidle core and governor cleanups from Daniel Lezcano, Sandeep
    Tripathy and Mohammad Merajul Islam Molla.

    - Build fix for the big_little cpuidle driver from Sachin Kamat.

    - Configuration fix for the Operation Performance Points (OPP)
    framework from Mark Brown.

    - APM cleanup from Jean Delvare.

    - cpupower utility fixes and cleanups from Peter Senna Tschudin,
    Andrey Utkin, Himangi Saraogi, Rickard Strandqvist, Thomas
    Renninger"

    * tag 'pm+acpi-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (118 commits)
    ACPI / LPSS: add LPSS device for Wildcat Point PCH
    ACPI / PNP: Replace faulty is_hex_digit() by isxdigit()
    ACPICA: Update version to 20140724.
    ACPICA: ACPI 5.1: Update for PCCT table changes.
    ACPICA/ARM: ACPI 5.1: Update for GTDT table changes.
    ACPICA/ARM: ACPI 5.1: Update for MADT changes.
    ACPICA/ARM: ACPI 5.1: Update for FADT changes.
    ACPICA: ACPI 5.1: Support for the _CCA predifined name.
    ACPICA: ACPI 5.1: New notify value for System Affinity Update.
    ACPICA: ACPI 5.1: Support for the _DSD predefined name.
    ACPICA: Debug object: Add current value of Timer() to debug line prefix.
    ACPICA: acpihelp: Add UUID support, restructure some existing files.
    ACPICA: Utilities: Fix local printf issue.
    ACPICA: Tables: Update for DMAR table changes.
    ACPICA: Remove some extraneous printf arguments.
    ACPICA: Update for comments/formatting. No functional changes.
    ACPICA: Disassembler: Add support for the ToUUID opererator (macro).
    ACPICA: Remove a redundant cast to acpi_size for ACPI_OFFSET() macro.
    ACPICA: Work around an ancient GCC bug.
    ACPI / processor: Make it possible to get local x2apic id via _MAT
    ...

    Linus Torvalds
     

06 Aug, 2014

2 commits

  • Pull timer and time updates from Thomas Gleixner:
    "A rather large update of timers, timekeeping & co

    - Core timekeeping code is year-2038 safe now for 32bit machines.
    Now we just need to fix all in kernel users and the gazillion of
    user space interfaces which rely on timespec/timeval :)

    - Better cache layout for the timekeeping internal data structures.

    - Proper nanosecond based interfaces for in kernel users.

    - Tree wide cleanup of code which wants nanoseconds but does hoops
    and loops to convert back and forth from timespecs. Some of it
    definitely belongs into the ugly code museum.

    - Consolidation of the timekeeping interface zoo.

    - A fast NMI safe accessor to clock monotonic for tracing. This is a
    long standing request to support correlated user/kernel space
    traces. With proper NTP frequency correction it's also suitable
    for correlation of traces accross separate machines.

    - Checkpoint/restart support for timerfd.

    - A few NOHZ[_FULL] improvements in the [hr]timer code.

    - Code move from kernel to kernel/time of all time* related code.

    - New clocksource/event drivers from the ARM universe. I'm really
    impressed that despite an architected timer in the newer chips SoC
    manufacturers insist on inventing new and differently broken SoC
    specific timers.

    [ Ed. "Impressed"? I don't think that word means what you think it means ]

    - Another round of code move from arch to drivers. Looks like most
    of the legacy mess in ARM regarding timers is sorted out except for
    a few obnoxious strongholds.

    - The usual updates and fixlets all over the place"

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (114 commits)
    timekeeping: Fixup typo in update_vsyscall_old definition
    clocksource: document some basic timekeeping concepts
    timekeeping: Use cached ntp_tick_length when accumulating error
    timekeeping: Rework frequency adjustments to work better w/ nohz
    timekeeping: Minor fixup for timespec64->timespec assignment
    ftrace: Provide trace clocks monotonic
    timekeeping: Provide fast and NMI safe access to CLOCK_MONOTONIC
    seqcount: Add raw_write_seqcount_latch()
    seqcount: Provide raw_read_seqcount()
    timekeeping: Use tk_read_base as argument for timekeeping_get_ns()
    timekeeping: Create struct tk_read_base and use it in struct timekeeper
    timekeeping: Restructure the timekeeper some more
    clocksource: Get rid of cycle_last
    clocksource: Move cycle_last validation to core code
    clocksource: Make delta calculation a function
    wireless: ath9k: Get rid of timespec conversions
    drm: vmwgfx: Use nsec based interfaces
    drm: i915: Use nsec based interfaces
    timekeeping: Provide ktime_get_raw()
    hangcheck-timer: Use ktime_get_ns()
    ...

    Linus Torvalds
     
  • * pm-tools:
    cpupower: Remove redundant error check
    cpupower: bench: parse.c: Fix several minor errors
    cpupower: mperf monitor: Correct use of ! and &
    cpupower: Adjust MAINTAINERS file
    PM / tools: cpupower: drop negativity check on unsigned value

    Rafael J. Wysocki
     

05 Aug, 2014

6 commits

  • Pull USB updates from Greg KH:
    "Here is the big USB driver update for 3.17-rc1.

    Loads of gadget driver changes in here, including some big file
    movements to make things easier to manage over time. There's also the
    usual xhci and uas driver updates, and a handful of other changes in
    here. The changelog has the full details.

    All of these have been in linux-next for a while"

    * tag 'usb-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (211 commits)
    USB: devio: fix issue with log flooding
    uas: Log a warning when we cannot use uas because the hcd lacks streams
    uas: Only complain about missing sg if all other checks succeed
    xhci: Add missing checks for xhci_alloc_command failure
    xhci: Rename Asrock P67 pci product-id to EJ168
    xhci: Blacklist using streams on the Etron EJ168 controller
    uas: Limit qdepth to 32 when connected over usb-2
    uwb/whci: use correct structure type name in sizeof
    usb-core bInterval quirk
    USB: serial: ftdi_sio: Add support for new Xsens devices
    USB: serial: ftdi_sio: Annotate the current Xsens PID assignments
    usb: chipidea: debug: fix sparse non static symbol warnings
    usb: ci_hdrc_imx doc: fsl,usbphy is required
    usb: ci_hdrc_imx: Return -EINVAL for missing USB PHY
    usb: core: allow zero packet flag for interrupt urbs
    usb: lvstest: Fix sparse warnings generated by kbuild test bot
    USB: core: hcd-pci: free IRQ before disabling PCI device when shutting down
    phy: miphy365x: Represent each PHY channel as a DT subnode
    phy: miphy365x: Provide support for the MiPHY356x Generic PHY
    phy: miphy365x: Add Device Tree bindings for the MiPHY365x
    ...

    Linus Torvalds
     
  • Pull driver core updates from Greg KH:
    "Here's the big driver-core pull request for 3.17-rc1.

    Largest thing in here is the dma-buf rework and fence code, that
    touched many different subsystems so it was agreed it should go
    through this tree to handle merge issues. There's also some firmware
    loading updates, as well as tests added, and a few other tiny changes,
    the changelog has the details.

    All have been in linux-next for a long time"

    * tag 'driver-core-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (32 commits)
    ARM: imx: Remove references to platform_bus in mxc code
    firmware loader: Fix _request_firmware_load() return val for fw load abort
    platform: Remove most references to platform_bus device
    test: add firmware_class loader test
    doc: fix minor typos in firmware_class README
    staging: android: Cleanup style issues
    Documentation: devres: Sort managed interfaces
    Documentation: devres: Add devm_kmalloc() et al
    fs: debugfs: remove trailing whitespace
    kernfs: kernel-doc warning fix
    debugfs: Fix corrupted loop in debugfs_remove_recursive
    stable_kernel_rules: Add pointer to netdev-FAQ for network patches
    driver core: platform: add device binding path 'driver_override'
    driver core/platform: remove unused implicit padding in platform_object
    firmware loader: inform direct failure when udev loader is disabled
    firmware: replace ALIGN(PAGE_SIZE) by PAGE_ALIGN
    firmware: read firmware size using i_size_read()
    firmware loader: allow disabling of udev as firmware loader
    reservation: add suppport for read-only access using rcu
    reservation: update api and add some helpers
    ...

    Conflicts:
    drivers/base/platform.c

    Linus Torvalds
     
  • Pull char / misc driver patches from Greg KH:
    "Here's the big driver misc / char pull request for 3.17-rc1.

    Lots of things in here, the thunderbolt support for Apple laptops,
    some other new drivers, testing fixes, and other good things. All
    have been in linux-next for a long time"

    * tag 'char-misc-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (119 commits)
    misc: bh1780: Introduce the use of devm_kzalloc
    Lattice ECP3 FPGA: Correct endianness
    drivers/misc/ti-st: Load firmware from ti-connectivity directory.
    dt-bindings: extcon: Add support for SM5502 MUIC device
    extcon: sm5502: Change internal hardware switch according to cable type
    extcon: sm5502: Detect cable state after completing platform booting
    extcon: sm5502: Add support new SM5502 extcon device driver
    extcon: arizona: Get MICVDD against extcon device
    extcon: Remove unnecessary OOM messages
    misc: vexpress: Fix sparse non static symbol warnings
    mei: drop unused hw dependent fw status functions
    misc: bh1770glc: Use managed functions
    pcmcia: remove DEFINE_PCI_DEVICE_TABLE usage
    misc: remove DEFINE_PCI_DEVICE_TABLE usage
    ipack: Replace DEFINE_PCI_DEVICE_TABLE macro use
    drivers/char/dsp56k.c: drop check for negativity of unsigned parameter
    mei: fix return value on disconnect timeout
    mei: don't schedule suspend in pm idle
    mei: start disconnect request timer consistently
    mei: reset client connection state on timeout
    ...

    Linus Torvalds
     
  • Pull perf changes from Ingo Molnar:
    "Kernel side changes:

    - Consolidate the PMU interrupt-disabled code amongst architectures
    (Vince Weaver)

    - misc fixes

    Tooling changes (new features, user visible changes):

    - Add support for pagefault tracing in 'trace', please see multiple
    examples in the changeset messages (Stanislav Fomichev).

    - Add pagefault statistics in 'trace' (Stanislav Fomichev)

    - Add header for columns in 'top' and 'report' TUI browsers (Jiri
    Olsa)

    - Add pagefault statistics in 'trace' (Stanislav Fomichev)

    - Add IO mode into timechart command (Stanislav Fomichev)

    - Fallback to syscalls:* when raw_syscalls:* is not available in the
    perl and python perf scripts. (Daniel Bristot de Oliveira)

    - Add --repeat global option to 'perf bench' to be used in benchmarks
    such as the existing 'futex' one, that was modified to use it
    instead of a local option. (Davidlohr Bueso)

    - Fix fd -> pathname resolution in 'trace', be it using /proc or a
    vfs_getname probe point. (Arnaldo Carvalho de Melo)

    - Add suggestion of how to set perf_event_paranoid sysctl, to help
    non-root users trying tools like 'trace' to get a working
    environment. (Arnaldo Carvalho de Melo)

    - Updates from trace-cmd for traceevent plugin_kvm plus args cleanup
    (Steven Rostedt, Jan Kiszka)

    - Support S/390 in 'perf kvm stat' (Alexander Yarygin)

    Tooling infrastructure changes:

    - Allow reserving a row for header purposes in the hists browser
    (Arnaldo Carvalho de Melo)

    - Various fixes and prep work related to supporting Intel PT (Adrian
    Hunter)

    - Introduce multiple debug variables control (Jiri Olsa)

    - Add callchain and additional sample information for python scripts
    (Joseph Schuchart)

    - More prep work to support Intel PT: (Adrian Hunter)
    - Polishing 'script' BTS output
    - 'inject' can specify --kallsym
    - VDSO is per machine, not a global var
    - Expose data addr lookup functions previously private to 'script'
    - Large mmap fixes in events processing

    - Include standard stringify macros in power pc code (Sukadev
    Bhattiprolu)

    Tooling cleanups:

    - Convert open coded equivalents to asprintf() (Andy Shevchenko)

    - Remove needless reassignments in 'trace' (Arnaldo Carvalho de Melo)

    - Cache the is_exit syscall test in 'trace) (Arnaldo Carvalho de
    Melo)

    - No need to reimplement err() in 'perf bench sched-messaging', drop
    barf(). (Davidlohr Bueso).

    - Remove ev_name argument from perf_evsel__hists_browse, can be
    obtained from the other parameters. (Jiri Olsa)

    Tooling fixes:

    - Fix memory leak in the 'sched-messaging' perf bench test.
    (Davidlohr Bueso)

    - The -o and -n 'perf bench mem' options are mutually exclusive, emit
    error when both are specified. (Davidlohr Bueso)

    - Fix scrollbar refresh row index in the ui browser, problem exposed
    now that headers will be added and will be allowed to be switched
    on/off. (Jiri Olsa)

    - Handle the num array type in python properly (Sebastian Andrzej
    Siewior)

    - Fix wrong condition for allocation failure (Jiri Olsa)

    - Adjust callchain based on DWARF debug info on powerpc (Sukadev
    Bhattiprolu)

    - Fix a risk for doing free on uninitialized pointer in traceevent
    lib (Rickard Strandqvist)

    - Update attr test with PERF_FLAG_FD_CLOEXEC flag (Jiri Olsa)

    - Enable close-on-exec flag on perf file descriptor (Yann Droneaud)

    - Fix build on gcc 4.4.7 (Arnaldo Carvalho de Melo)

    - Event ordering fixes (Jiri Olsa)"

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (123 commits)
    Revert "perf tools: Fix jump label always changing during tracing"
    perf tools: Fix perf usage string leftover
    perf: Check permission only for parent tracepoint event
    perf record: Store PERF_RECORD_FINISHED_ROUND only for nonempty rounds
    perf record: Always force PERF_RECORD_FINISHED_ROUND event
    perf inject: Add --kallsyms parameter
    perf tools: Expose 'addr' functions so they can be reused
    perf session: Fix accounting of ordered samples queue
    perf powerpc: Include util/util.h and remove stringify macros
    perf tools: Fix build on gcc 4.4.7
    perf tools: Add thread parameter to vdso__dso_findnew()
    perf tools: Add dso__type()
    perf tools: Separate the VDSO map name from the VDSO dso name
    perf tools: Add vdso__new()
    perf machine: Fix the lifetime of the VDSO temporary file
    perf tools: Group VDSO global variables into a structure
    perf session: Add ability to skip 4GiB or more
    perf session: Add ability to 'skip' a non-piped event stream
    perf tools: Pass machine to vdso__dso_findnew()
    perf tools: Add dso__data_size()
    ...

    Linus Torvalds
     
  • Pull RCU changes from Ingo Molar:
    "The main changes:

    - torture-test updates
    - callback-offloading changes
    - maintainership changes
    - update RCU documentation
    - miscellaneous fixes"

    * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (32 commits)
    rcu: Allow for NULL tick_nohz_full_mask when nohz_full= missing
    rcu: Fix a sparse warning in rcu_report_unblock_qs_rnp()
    rcu: Fix a sparse warning in rcu_initiate_boost()
    rcu: Fix __rcu_reclaim() to use true/false for bool
    rcu: Remove CONFIG_PROVE_RCU_DELAY
    rcu: Use __this_cpu_read() instead of per_cpu_ptr()
    rcu: Don't use NMIs to dump other CPUs' stacks
    rcu: Bind grace-period kthreads to non-NO_HZ_FULL CPUs
    rcu: Simplify priority boosting by putting rt_mutex in rcu_node
    rcu: Check both root and current rcu_node when setting up future grace period
    rcu: Allow post-unlock reference for rt_mutex
    rcu: Loosen __call_rcu()'s rcu_head alignment constraint
    rcu: Eliminate read-modify-write ACCESS_ONCE() calls
    rcu: Remove redundant ACCESS_ONCE() from tick_do_timer_cpu
    rcu: Make rcu node arrays static const char * const
    signal: Explain local_irq_save() call
    rcu: Handle obsolete references to TINY_PREEMPT_RCU
    rcu: Document deadlock-avoidance information for rcu_read_unlock()
    scripts: Teach get_maintainer.pl about the new "R:" tag
    rcu: Update rcu torture maintainership filename patterns
    ...

    Linus Torvalds
     
  • Pull config-bisect changes from Steven Rostedt:
    "The big change here is the rewrite of config-bisect. The old way
    never worked properly as it assumed the bad config was a subset of the
    good config, and just found the config that would break the build.

    The new way does a diff of the bad config verses the good config and
    makes the similar until it finds that one config works and the other
    does not and reports the config that makes that difference. The two
    configs do not need to be related. It is much more useful now:

    * tag 'ktest-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
    ktest: Update documentation on config_bisect
    ktest: Add the config bisect manual back
    ktest: Remove unused functions
    ktest: Put back in the CONFIG_BISECT_CHECK
    ktest: Rewrite the config-bisect to actually work
    ktest: Some cleanup for improving readability
    ktest: add 2nd parameter of run_command() to set the redirect target file

    Linus Torvalds
     

01 Aug, 2014

1 commit

  • Kenton Varda discovered that by remounting a
    read-only bind mount read-only in a user namespace the
    MNT_LOCK_READONLY bit would be cleared, allowing an unprivileged user
    to the remount a read-only mount read-write.

    Upon review of the code in remount it was discovered that the code allowed
    nosuid, noexec, and nodev to be cleared. It was also discovered that
    the code was allowing the per mount atime flags to be changed.

    The first naive patch to fix these issues contained the flaw that using
    default atime settings when remounting a filesystem could be disallowed.

    To avoid this problems in the future add tests to ensure unprivileged
    remounts are succeeding and failing at the appropriate times.

    Cc: stable@vger.kernel.org
    Acked-by: Serge E. Hallyn
    Signed-off-by: "Eric W. Biederman"

    Eric W. Biederman
     

30 Jul, 2014

3 commits

  • Remove double checks, and move the call to print_error to the
    first check. Replace break by return, and return 0 on success.
    The simplified version of the coccinelle semantic patch that
    fixes this issue is as follows:

    //
    @@
    expression E; identifier pr; expression list es;
    @@
    for(...;...;...){
    ...
    - if (E) break;
    + if (E){
    + pr(es);
    + break;
    + }
    ...
    }
    - if(E) pr(es);
    //

    Signed-off-by: Peter Senna Tschudin
    Signed-off-by: Thomas Renninger
    Signed-off-by: Rafael J. Wysocki

    Peter Senna Tschudin
     
  • Resolved several minor errors in prepare_config() and made some additional improvements.
    Earlier, the risk of file stream that was not closed. Misuse of strncpy, and the use of strncmp with strlen that makes it pointless.
    I also check that sscanf has been successful, otherwise continue to the next line. And minimized the use of magic numbers.

    This was found using a static code analysis program called cppcheck.

    Signed-off-by: Rickard Strandqvist
    Signed-off-by: Thomas Renninger
    Signed-off-by: Rafael J. Wysocki

    Rickard Strandqvist
     
  • In commit ae91d60ba88ef0bdb1b5e9b2363bd52fc45d2af7, a bug was fixed that
    involved converting !x & y to !(x & y). The code below shows the same
    pattern, and thus should perhaps be fixed in the same way.

    The Coccinelle semantic patch that makes this change is as follows:

    //
    @@ expression E1,E2; @@
    (
    !E1 & !E2
    |
    - !E1 & E2
    + !(E1 & E2)
    )
    //

    Signed-off-by: Himangi Saraogi
    Signed-off-by: Thomas Renninger
    Signed-off-by: Rafael J. Wysocki

    Himangi Saraogi
     

28 Jul, 2014

15 commits

  • This reverts commit deaff8b659cf4d34181c087b8cdf74f1eb17b02b.

    This commit makes CLOEXEC feature undetected for normal users,
    because per-cpu events are priviledged.

    Reported-by: Peter Zijlstra
    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/20140728065844.GK6758@twins.programming.kicks-ass.net
    Signed-off-by: Jiri Olsa

    Jiri Olsa
     
  • Fixing perf usage string leftover pointed out by Namhyung.

    Reported-by: Namhyung Kim
    Cc: Arnaldo Carvalho de Melo
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/n/tip-vkcf53oultknsh3ue9fhin94@git.kernel.org
    Signed-off-by: Jiri Olsa

    Jiri Olsa
     
  • …/acme/linux into perf/core

    Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:

    Infrastructure changes:

    o More prep work to support Intel PT: (Adrian Hunter)
    - Polishing 'script' BTS output
    - 'inject' can specify --kallsym
    - VDSO is per machine, not a global var
    - Expose data addr lookup functions previously private to 'script'
    - Large mmap fixes in events processing

    o Fix build on gcc 4.4.7 (Arnaldo Carvalho de Melo)

    o Event ordering fixes (Jiri Olsa)

    o Include standard stringify macros in power pc code (Sukadev Bhattiprolu)

    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     
  • Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Signed-off-by: Michael Ellerman
    Signed-off-by: Benjamin Herrenschmidt

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

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

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

    Michael Ellerman
     
  • Although we expect some small discrepancies for very large counts, we
    seem to be able to count up to 64 billion instructions without too much
    skew, so do so.

    Also switch to using decimals for the instruction counts. This just
    makes it easier to visually compare the expected vs actual values, as
    well as the raw result from instructions.

    Before:

    instructions: result 68719476753 running/enabled 13101961654
    cycles: result 38077343785 running/enabled 13101725752
    Looped for 68719476736 instructions, overhead 17
    Expected 68719476753
    Actual 68719476753
    Delta 0, 0.000000%
    success: count_instructions

    After:
    instructions: result 64000000016 running/enabled 12197599964
    cycles: result 35412471674 running/enabled 12197534110
    Looped for 64000000000 instructions, overhead 16
    Expected 64000000016
    Actual 64000000016
    Delta 0, 0.000000%
    success: count_instructions

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

    Michael Ellerman
     
  • Have a task eat some cpu while we are counting instructions to create
    some scheduler pressure. The idea being to try and unearth any bugs we
    have in counting that only appear when context switching is happening.

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

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

    Michael Ellerman
     
  • There is at least one bug in core_busy_loop(), we use r0, but it's
    not in the clobber list. We were getting away with this it seems but
    that was luck.

    It's also fishy to be touching the stack, even if we do it below the
    stack pointer. It seems we get away with it, but looking at the
    generated code that may just be luck.

    So move it into assembler, do all the stack handling by hand. We create
    a stack frame to save the non-volatiles in, so we can muck around with
    them.

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

    Michael Ellerman
     
  • start and end should be unsigned long.

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

    Michael Ellerman
     
  • Currently we ignore errors from our sub Makefiles. We inherited that
    from the top-level selftests Makefile which aims to build and run as
    many tests as possible and damn the torpedoes.

    For the powerpc tests we'd instead like any errors to fail the build, so
    we can automatically catch build failures.

    We can achieve the best of both worlds by using -k, which tells make to
    keep building when it hits an error, but still reports the error.

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

    Michael Ellerman
     
  • * acpica: (30 commits)
    ACPICA: Add new GPE public interface - acpi_mark_gpe_for_wake.
    ACPICA: GPEs: Do not allow enable for GPEs that have no handler(s).
    ACPICA: Fix a regression for deletion of Alias() objects.
    ACPICA: Update version to 20140627
    ACPICA: Tables: Merge DMAR table structure updates
    ACPICA: Hardware: back port of a recursive locking fix
    ACPICA: utprint/oslibcfs: cleanup - no functional change
    ACPICA: Executer: Fix trivial issues in acpi_get_serial_access_bytes()
    ACPICA: OSL: Update acpidump to reduce source code differences
    ACPICA: acpidump: Reduce freopen() invocations to improve portability
    ACPICA: acpidump: Replace file IOs with new APIs to improve portability
    ACPICA: acpidump: Remove exit() from generic layer to improve portability
    ACPICA: acpidump: Add memory/string OSL usage to improve portability
    ACPICA: Common: Enhance acpi_getopt() to improve portability
    ACPICA: Common: Enhance cm_get_file_size() to improve portability
    ACPICA: Application: Enhance ACPI_USAGE_xxx/ACPI_OPTION with acpi_os_printf() to improve portability
    ACPICA: Utilities: Introduce acpi_log_error() to improve portability
    ACPICA: Utilities: Add formatted printing APIs
    ACPICA: OSL: Add portable file IO to improve portability
    ACPICA: OSL: Clean up acpi_os_printf()/acpi_os_vprintf() stubs
    ...

    Rafael J. Wysocki
     

25 Jul, 2014

5 commits

  • Currently we store PERF_RECORD_FINISHED_ROUND event each time
    we go throught mmap buffers no matter if it contains any data,
    which is useless.

    Forcing the PERF_RECORD_FINISHED_ROUND event to be stored any
    time we finished the round AND wrote at least one event.

    Signed-off-by: Jiri Olsa
    Acked-by: Adrian Hunter
    Acked-by: David Ahern
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Jean Pihet
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1406300177-31805-19-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • The PERF_RECORD_FINISHED_ROUND synthetic record governs queue flushing
    in reporting, so it needs to be stored for any kind of event.

    The lack of such periodic flushing made the tools use more memory than
    needed, as the reordering was being done only after processing all
    events. This was the case when no tracepoints were in the mix.

    Forcing the PERF_RECORD_FINISHED_ROUND event to be stored for all event
    types.

    Signed-off-by: Jiri Olsa
    Acked-by: Adrian Hunter
    Acked-by: David Ahern
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Jean Pihet
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1406300177-31805-18-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Let perf inject take --kallsyms parameter the same as perf script and
    perf report do.

    That is needed for decoding Instruction Trace data using a copy of
    /proc/kcore for the kernel object because the kallsyms path is used to
    locate that copy.

    Signed-off-by: Adrian Hunter
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1406035081-14301-30-git-send-email-adrian.hunter@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Adrian Hunter
     
  • Move some functions and functionality related to the use of
    'addr' out of builtin-script so they can be reused.

    The moved functions are: is_bts_event() and sample_addr_correlates_sym()
    and a new function perf_event__preprocess_sample_addr() is created from
    bits of print_sample_addr().

    perf_event__preprocess_sample_addr() is the equivalent of
    perf_event__preprocess_sample() but for 'addr' instead of 'ip'.

    Signed-off-by: Adrian Hunter
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1406035081-14301-31-git-send-email-adrian.hunter@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Adrian Hunter
     
  • Properly account flushed samples within the ordered samples queue.

    Signed-off-by: Jiri Olsa
    Acked-by: Adrian Hunter
    Acked-by: David Ahern
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Jean Pihet
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1405893363-21967-2-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa