1. 14 Nov, 2013 21 commits
    • Azat Khuzhin's avatar
      perf probe: Add '--demangle'/'--no-demangle' · 35e17b24
      Azat Khuzhin authored
      You can't pass demangled name into "perf probe", because of special chars:
      ./perf probe -f -x /tmp/a.out 'foo(int)'
      Semantic error :There is non-digit char in line number.
      
      And you can't even pass without demangling (because it search symbol in
      DSO with demangle=true):
      ./perf probe -f -x /tmp/a.out _Z3fooi
      no symbols found in /tmp/a.out, maybe install a debug package?
      
      However:
      nm /tmp/a.out | grep foo
      000000000040056d T _Z3fooi
      
      After this patch, using the next command:
      ./perf probe -f --no-demangle -x /tmp/a.out _Z3fooi
      
      probe will be successfully added.
      Signed-off-by: default avatarAzat Khuzhin <a3at.mail@gmail.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1382947464-31266-1-git-send-email-a3at.mail@gmail.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      35e17b24
    • Arnaldo Carvalho de Melo's avatar
      perf ui browser: Fix segfault caused by off by one handling END key · 48d038fc
      Arnaldo Carvalho de Melo authored
      $ perf record ls
      $ perf report
      
      Press 'down enter end'
      
      Result:
      
      Program received signal SIGSEGV, Segmentation fault.
      
      The UI browser, used on a argv array would access past the end of the
      array on SEEK_END because it wasn't using 'nr_entries - 1', fix it.
      
      Reported-by: v.karpov@samsung.com
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=59291
      Link: http://lkml.kernel.org/n/tip-3g83ipasqi219ktv764xzzjs@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      48d038fc
    • Arnaldo Carvalho de Melo's avatar
      perf symbols: Limit max callchain using max_stack on DWARF unwinding too · 37676af1
      Arnaldo Carvalho de Melo authored
      It was affecting only frame-pointer (fp) based callchain processing.
      
      Usage example:
      
        perf top --call-graph dwarf,1024 --max-stack 2
      
      Works for any tool that does callchain resolving and provides a
      --max-stack option.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Waiman Long <Waiman.Long@hp.com>
      Link: http://lkml.kernel.org/n/tip-eu45v8s3tq9ruay8tpfyon79@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      37676af1
    • Arnaldo Carvalho de Melo's avatar
      perf evsel: Introduce perf_evsel__prev() method · d87fcb4a
      Arnaldo Carvalho de Melo authored
      Just one use so far, on the hists browser, for completeness since there
      we use perf_evlist__{first,last} and perf_evsel__next() for handling the
      TAB and UNTAB keys.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-d09l4lejp5427enuf3igpckw@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      d87fcb4a
    • Arnaldo Carvalho de Melo's avatar
      perf tools: Use perf_evlist__{first,last}, perf_evsel__next · 9a354cdc
      Arnaldo Carvalho de Melo authored
      In a few remaining places where the equivalent open coded variant was
      still being used.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-4vjnloi5fisilykwxalb5nel@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      9a354cdc
    • Don Zickus's avatar
      perf tools: Synthesize anon MMAP records again · 9d4ecc88
      Don Zickus authored
      When introducing the PERF_RECORD_MMAP2 in:
      
      5c5e854b perf tools: Add attr->mmap2 support
      
      A check for the number of entries parsed by sscanf was introduced that
      assumed all of the 8 fields needed to be correctly parsed so that
      particular /proc/pid/maps line would be considered synthesizable.
      
      That broke anon records synthesizing, as it doesn't have the 'execname'
      field.
      
      Fix it by keeping the sscanf return check, changing it to not require
      that the 'execname' variable be parsed, so that the preexisting logic
      can kick in and set it to '//anon'.
      
      This should get things like JIT profiling working again.
      Signed-off-by: default avatarDon Zickus <dzickus@redhat.com>
      Cc: Bill Gray <bgray@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Joe Mario <jmario@redhat.com>
      Cc: Richard Fowles <rfowles@redhat.com>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: stable@vger.kernel.org
      Link: http://lkml.kernel.org/n/tip-bo4akalno7579shpz29u867j@git.kernel.org
      [ commit log message is mine, dzickus reported the problem with a patch ]
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      9d4ecc88
    • Ingo Molnar's avatar
      perf top: Add missing newline if the 'uid' is invalid · ea432a8b
      Ingo Molnar authored
      Add missing newline if the 'uid' is invalid:
      
        hubble:~> perf top --stdio -u help
        Error:
        Invalid User: helphubble:~>
      
      Fixed by this patch:
      
        comet:~/tip/tools/perf> perf top --stdio -u help
        Error:
        Invalid User: help
        comet:~/tip/tools/perf>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: http://lkml.kernel.org/r/20131112232609.GA31474@gmail.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ea432a8b
    • Davidlohr Bueso's avatar
    • Pekka Enberg's avatar
      perf trace: Tweak summary output · 27a778b5
      Pekka Enberg authored
      Tweak the summary output as suggested by Ingo Molnar:
      
        [penberg@localhost ~]$ perf trace -a --duration 10000 --summary -- sleep 1
        ^C
         Summary of events:
      
         Xorg (817), 148 events, 0.0%, 0.000 msec
      
           syscall            calls      min       avg       max      stddev
                                       (msec)    (msec)    (msec)        (%)
           --------------- -------- --------- --------- ---------     ------
           read                   7     0.002     0.004     0.011     32.00%
           rt_sigprocmask        40     0.001     0.001     0.002      1.31%
           ioctl                  6     0.002     0.003     0.005     19.45%
           writev                 7     0.004     0.018     0.059     43.76%
           select                 9     0.000    74.513   507.869     74.61%
           setitimer              4     0.001     0.002     0.002     10.08%
      Suggested-by: default avatarIngo Molnar <mingo@kernel.org>
      Signed-off-by: default avatarPekka Enberg <penberg@kernel.org>
      Acked-by: default avatarIngo Molnar <mingo@kernel.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Link: http://lkml.kernel.org/r/1384345308-24404-1-git-send-email-penberg@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      27a778b5
    • Ingo Molnar's avatar
      tools/perf/build: Fix feature-libunwind-debug-frame handling · e310718d
      Ingo Molnar authored
      Set feature-libunwind-debug-frame. We don't want it in
      CORE_FEATURE_TESTS because it's not the generic case, but we
      need to set it in the !feature-libunwind case.
      
      Also, because x86 distributions typically don't have
      dwarf_find_debug_frame() unwinding method:
      
        test-libunwind-debug-frame.c:(.text+0x31): undefined reference to `_Ux86_64_dwarf_find_debug_frame'
      
      Restrict this new API to ARM for the time being.
      
      With this patch test-all.c works again, so repeat perf builds
      are  fast again:
      
        comet:~/tip> perf stat --null --repeat 5 make -C tools/perf/
        [...]
      
             0,452899660 seconds time elapsed                                          ( +-  0,11% )
      
      While with before it was:
      
        comet:~/tip> perf stat --null --repeat 5 make -C tools/perf/
        [...]
      
             1,674001829 seconds time elapsed                                          ( +-  0,16% )
      
      [ Includes fix to config/feature-checks/Makefile from Will Deacon. ]
      Tested-by: default avatarWill Deacon <will.deacon@arm.com>
      Tested-by: default avatarJean Pihet <jean.pihet@linaro.org>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Arnaldo Carvalho de Melo <acme@infradead.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Link: http://lkml.kernel.org/n/tip-scsoctqzmou3rpkixCHezy9e@git.kernel.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      e310718d
    • Ingo Molnar's avatar
      tools/perf/build: Fix timerfd feature check · bb4c5500
      Ingo Molnar authored
      'feature_timerfd' is checked all the time and calculated explicitly,
      in a serial fashion. Add it to CORE_FEATURE_TESTS which causes it to
      be built in parallel, using the newfangled parallel build autodetection
      code.
      
      This shaves 137 msecs off the perf build time on my system, which
      speeds up the common case cached build by 43%:
      
      Before:
      
        comet:~/tip> perf stat --null --repeat 5 make -C tools/perf/
        [...]
               0,453771441 seconds time elapsed                                          ( +-  0,09% )
      
      After:
      
        comet:~/tip> perf stat --null --repeat 5 make -C tools/perf/
        [...]
               0,316290185 seconds time elapsed                                          ( +-  0,24% )
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Link: http://lkml.kernel.org/n/tip-bb92CmexihopoSyqnkqepvsy@git.kernel.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      bb4c5500
    • Ingo Molnar's avatar
      Merge branch 'linus' into perf/urgent · 555a098a
      Ingo Molnar authored
      Merge dependencies to apply a fix.
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      555a098a
    • Linus Torvalds's avatar
      Merge tag 'fbdev-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux · f0d55cc1
      Linus Torvalds authored
      Pull fbdev changes from Tomi Valkeinen:
       "Nothing particularly stands out in this pull request.  The biggest
        part of the changes are cleanups.
      
        Maybe one fix to mention is the "fb: reorder the lock sequence to fix
        potential dead lock" which hopefully fixes the fb locking issues
        reported by multiple persons.
      
        There are also a few commits that have changes to arch/arm/mach-at91
        and arch/avr32, which have been acked by the maintainers"
      
      * tag 'fbdev-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (143 commits)
        fb: reorder the lock sequence to fix potential dead lock
        fbdev: shmobile-lcdcfb: Convert to clk_prepare/unprepare
        fbdev: shmobile-hdmi: Convert to clk_prepare/unprepare
        omapdss: Add new panel driver for Topolly td028ttec1 LCD.
        video: exynos_mipi_dsi: Unlock the mutex before returning
        video: da8xx-fb: remove unwanted define
        video: Remove unnecessary semicolons
        simplefb: use write-combined remapping
        simplefb: fix unmapping fb during destruction
        OMAPDSS: connector-dvi: fix releasing i2c_adapter
        OMAPDSS: DSI: fix perf measuring ifdefs
        framebuffer: Use fb_<level>
        framebuffer: Add fb_<level> convenience logging macros
        efifb: prevent null-deref when iterating dmi_list
        fbdev: fix error return code in metronomefb_probe()
        video: xilinxfb: Fix for "Use standard variable name convention"
        OMAPDSS: Fix de_level in videomode_to_omap_video_timings()
        video: xilinxfb: Simplify error path
        video: xilinxfb: Use devm_kzalloc instead of kzalloc
        video: xilinxfb: Use standard variable name convention
        ...
      f0d55cc1
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · 549608ea
      Linus Torvalds authored
      Pull thermal management updates from Zhang Rui:
       "This time we only have a few changes as there are no soc thermal
        changes from Eduardo.  The only big change is the introduction of
        TMON, a tool to help visualize, tune, and test the thermal subsystem.
        The rest is mostly cleanups and fixes all over.
      
        Specifics:
      
         - introduce TMON, a tool base on thermal sysfs I/F.  It can be used
           to visualize, tune and test the thermal subsystem.
      
         - fix a zone/cooling device binding problem, when both thermal zone
           bind parameters and .bind() callback are available"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
        tools/thermal: Introduce tmon, a tool for thermal subsystem
        thermal: Fix binding problem when there is thermal zone params
        thermal: cpu_cooling: fix return value check in cpufreq_cooling_register()
        Thermal: Check for validity before doing kfree
        thermal/intel_powerclamp: Add newer CPU models
        Thermal: Tidy up error handling in powerclamp_init
        thermal: Kconfig: cosmetic fixes
        ACPI/thermal : Remove zone disabled warning
        typo in drivers/thermal/Kconfig: lpatform instead of platform
      549608ea
    • Linus Torvalds's avatar
      Merge tag 'pci-v3.13-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 2f466d33
      Linus Torvalds authored
      Pull PCI changes from Bjorn Helgaas:
       "Resource management
          - Fix host bridge window coalescing (Alexey Neyman)
          - Pass type, width, and prefetchability for window alignment (Wei Yang)
      
        PCI device hotplug
          - Convert acpiphp, acpiphp_ibm to dynamic debug (Lan Tianyu)
      
        Power management
          - Remove pci_pm_complete() (Liu Chuansheng)
      
        MSI
          - Fail initialization if device is not in PCI_D0 (Yijing Wang)
      
        MPS (Max Payload Size)
          - Use pcie_get_mps() and pcie_set_mps() to simplify code (Yijing Wang)
          - Use pcie_set_readrq() to simplify code (Yijing Wang)
          - Use cached pci_dev->pcie_mpss to simplify code (Yijing Wang)
      
        SR-IOV
          - Enable upstream bridges even for VFs on virtual buses (Bjorn Helgaas)
          - Use pci_is_root_bus() to avoid catching virtual buses (Wei Yang)
      
        Virtualization
          - Add x86 MSI masking ops (Konrad Rzeszutek Wilk)
      
        Freescale i.MX6
          - Support i.MX6 PCIe controller (Sean Cross)
          - Increase link startup timeout (Marek Vasut)
          - Probe PCIe in fs_initcall() (Marek Vasut)
          - Fix imprecise abort handler (Tim Harvey)
          - Remove redundant of_match_ptr (Sachin Kamat)
      
        Renesas R-Car
          - Support Gen2 internal PCIe controller (Valentine Barshak)
      
        Samsung Exynos
          - Add MSI support (Jingoo Han)
          - Turn off power when link fails (Jingoo Han)
          - Add Jingoo Han as maintainer (Jingoo Han)
          - Add clk_disable_unprepare() on error path (Wei Yongjun)
          - Remove redundant of_match_ptr (Sachin Kamat)
      
        Synopsys DesignWare
          - Add irq_create_mapping() (Pratyush Anand)
          - Add header guards (Seungwon Jeon)
      
        Miscellaneous
          - Enable native PCIe services by default on non-ACPI (Andrew Murray)
          - Cleanup _OSC usage and messages (Bjorn Helgaas)
          - Remove pcibios_last_bus boot option on non-x86 (Bjorn Helgaas)
          - Convert bus code to use bus_, drv_, and dev_groups (Greg Kroah-Hartman)
          - Remove unused pci_mem_start (Myron Stowe)
          - Make sysfs functions static (Sachin Kamat)
          - Warn on invalid return from driver probe (Stephen M. Cameron)
          - Remove Intel Haswell D3 delays (Todd E Brandt)
          - Call pci_set_master() in core if driver doesn't do it (Yinghai Lu)
          - Use pci_is_pcie() to simplify code (Yijing Wang)
          - Use PCIe capability accessors to simplify code (Yijing Wang)
          - Use cached pci_dev->pcie_cap to simplify code (Yijing Wang)
          - Removed unused "is_pcie" from struct pci_dev (Yijing Wang)
          - Simplify sysfs CPU affinity implementation (Yijing Wang)"
      
      * tag 'pci-v3.13-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (79 commits)
        PCI: Enable upstream bridges even for VFs on virtual buses
        PCI: Add pci_upstream_bridge()
        PCI: Add x86_msi.msi_mask_irq() and msix_mask_irq()
        PCI: Warn on driver probe return value greater than zero
        PCI: Drop warning about drivers that don't use pci_set_master()
        PCI: Workaround missing pci_set_master in pci drivers
        powerpc/pci: Use pci_is_pcie() to simplify code [fix]
        PCI: Update pcie_ports 'auto' behavior for non-ACPI platforms
        PCI: imx6: Probe the PCIe in fs_initcall()
        PCI: Add R-Car Gen2 internal PCI support
        PCI: imx6: Remove redundant of_match_ptr
        PCI: Report pci_pme_active() kmalloc failure
        mn10300/PCI: Remove useless pcibios_last_bus
        frv/PCI: Remove pcibios_last_bus
        PCI: imx6: Increase link startup timeout
        PCI: exynos: Remove redundant of_match_ptr
        PCI: imx6: Fix imprecise abort handler
        PCI: Fail MSI/MSI-X initialization if device is not in PCI_D0
        PCI: imx6: Remove redundant dev_err() in imx6_pcie_probe()
        x86/PCI: Coalesce multiple overlapping host bridge windows
        ...
      2f466d33
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · f9300eaa
      Linus Torvalds authored
      Pull ACPI and power management updates from Rafael J Wysocki:
      
       - New power capping framework and the the Intel Running Average Power
         Limit (RAPL) driver using it from Srinivas Pandruvada and Jacob Pan.
      
       - Addition of the in-kernel switching feature to the arm_big_little
         cpufreq driver from Viresh Kumar and Nicolas Pitre.
      
       - cpufreq support for iMac G5 from Aaro Koskinen.
      
       - Baytrail processors support for intel_pstate from Dirk Brandewie.
      
       - cpufreq support for Midway/ECX-2000 from Mark Langsdorf.
      
       - ARM vexpress/TC2 cpufreq support from Sudeep KarkadaNagesha.
      
       - ACPI power management support for the I2C and SPI bus types from Mika
         Westerberg and Lv Zheng.
      
       - cpufreq core fixes and cleanups from Viresh Kumar, Srivatsa S Bhat,
         Stratos Karafotis, Xiaoguang Chen, Lan Tianyu.
      
       - cpufreq drivers updates (mostly fixes and cleanups) from Viresh
         Kumar, Aaro Koskinen, Jungseok Lee, Sudeep KarkadaNagesha, Lukasz
         Majewski, Manish Badarkhe, Hans-Christian Egtvedt, Evgeny Kapaev.
      
       - intel_pstate updates from Dirk Brandewie and Adrian Huang.
      
       - ACPICA update to version 20130927 includig fixes and cleanups and
         some reduction of divergences between the ACPICA code in the kernel
         and ACPICA upstream in order to improve the automatic ACPICA patch
         generation process.  From Bob Moore, Lv Zheng, Tomasz Nowicki, Naresh
         Bhat, Bjorn Helgaas, David E Box.
      
       - ACPI IPMI driver fixes and cleanups from Lv Zheng.
      
       - ACPI hotplug fixes and cleanups from Bjorn Helgaas, Toshi Kani, Zhang
         Yanfei, Rafael J Wysocki.
      
       - Conversion of the ACPI AC driver to the platform bus type and
         multiple driver fixes and cleanups related to ACPI from Zhang Rui.
      
       - ACPI processor driver fixes and cleanups from Hanjun Guo, Jiang Liu,
         Bartlomiej Zolnierkiewicz, Mathieu Rhéaume, Rafael J Wysocki.
      
       - Fixes and cleanups and new blacklist entries related to the ACPI
         video support from Aaron Lu, Felipe Contreras, Lennart Poettering,
         Kirill Tkhai.
      
       - cpuidle core cleanups from Viresh Kumar and Lorenzo Pieralisi.
      
       - cpuidle drivers fixes and cleanups from Daniel Lezcano, Jingoo Han,
         Bartlomiej Zolnierkiewicz, Prarit Bhargava.
      
       - devfreq updates from Sachin Kamat, Dan Carpenter, Manish Badarkhe.
      
       - Operation Performance Points (OPP) core updates from Nishanth Menon.
      
       - Runtime power management core fix from Rafael J Wysocki and update
         from Ulf Hansson.
      
       - Hibernation fixes from Aaron Lu and Rafael J Wysocki.
      
       - Device suspend/resume lockup detection mechanism from Benoit Goby.
      
       - Removal of unused proc directories created for various ACPI drivers
         from Lan Tianyu.
      
       - ACPI LPSS driver fix and new device IDs for the ACPI platform scan
         handler from Heikki Krogerus and Jarkko Nikula.
      
       - New ACPI _OSI blacklist entry for Toshiba NB100 from Levente Kurusa.
      
       - Assorted fixes and cleanups related to ACPI from Andy Shevchenko, Al
         Stone, Bartlomiej Zolnierkiewicz, Colin Ian King, Dan Carpenter,
         Felipe Contreras, Jianguo Wu, Lan Tianyu, Yinghai Lu, Mathias Krause,
         Liu Chuansheng.
      
       - Assorted PM fixes and cleanups from Andy Shevchenko, Thierry Reding,
         Jean-Christophe Plagniol-Villard.
      
      * tag 'pm+acpi-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (386 commits)
        cpufreq: conservative: fix requested_freq reduction issue
        ACPI / hotplug: Consolidate deferred execution of ACPI hotplug routines
        PM / runtime: Use pm_runtime_put_sync() in __device_release_driver()
        ACPI / event: remove unneeded NULL pointer check
        Revert "ACPI / video: Ignore BIOS initial backlight value for HP 250 G1"
        ACPI / video: Quirk initial backlight level 0
        ACPI / video: Fix initial level validity test
        intel_pstate: skip the driver if ACPI has power mgmt option
        PM / hibernate: Avoid overflow in hibernate_preallocate_memory()
        ACPI / hotplug: Do not execute "insert in progress" _OST
        ACPI / hotplug: Carry out PCI root eject directly
        ACPI / hotplug: Merge device hot-removal routines
        ACPI / hotplug: Make acpi_bus_hot_remove_device() internal
        ACPI / hotplug: Simplify device ejection routines
        ACPI / hotplug: Fix handle_root_bridge_removal()
        ACPI / hotplug: Refuse to hot-remove all objects with disabled hotplug
        ACPI / scan: Start matching drivers after trying scan handlers
        ACPI: Remove acpi_pci_slot_init() headers from internal.h
        ACPI / blacklist: fix name of ThinkPad Edge E530
        PowerCap: Fix build error with option -Werror=format-security
        ...
      
      Conflicts:
      	arch/arm/mach-omap2/opp.c
      	drivers/Kconfig
      	drivers/spi/spi.c
      f9300eaa
    • Linus Torvalds's avatar
      Merge tag 'dm-3.13-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · 7f2dc5c4
      Linus Torvalds authored
      Pull device mapper changes from Mike Snitzer:
       "A set of device-mapper changes for 3.13.
      
        Improve reliability of buffer allocations for dm messages with a small
        number of arguments, a couple path group initialization fixes for dm
        multipath, a fix for resizing a dm array, various fixes and
        optimizations for dm cache, a fix for device mapper's Kconfig menu
        indentation.
      
        Features added include:
         - dm crypt support for activating legacy CBC TrueCrypt containers
           (useful for forensics of these old TCRYPT containers)
         - reduced dm-cache memory requirements for each block in the cache
         - basic support for shrinking a dm-cache's cache (fast) device
         - most notably, dm-cache support for managing cache coherency when
           deploying dm-cache with sophisticated origin volumes (that support
           hardware snapshots and/or clustering): these changes come in the
           form of a new passthrough operation mode and a cache block
           invalidation interface"
      
      * tag 'dm-3.13-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (32 commits)
        dm cache: resolve small nits and improve Documentation
        dm cache: add cache block invalidation support
        dm cache: add remove_cblock method to policy interface
        dm cache policy mq: reduce memory requirements
        dm cache metadata: check the metadata version when reading the superblock
        dm cache: add passthrough mode
        dm cache: cache shrinking support
        dm cache: promotion optimisation for writes
        dm cache: be much more aggressive about promoting writes to discarded blocks
        dm cache policy mq: implement writeback_work() and mq_{set,clear}_dirty()
        dm cache: optimize commit_if_needed
        dm space map disk: optimise sm_disk_dec_block
        MAINTAINERS: add reference to device-mapper's linux-dm.git tree
        dm: fix Kconfig menu indentation
        dm: allow remove to be deferred
        dm table: print error on preresume failure
        dm crypt: add TCW IV mode for old CBC TCRYPT containers
        dm crypt: properly handle extra key string in initialization
        dm cache: log error message if dm_kcopyd_copy() fails
        dm cache: use cell_defer() boolean argument consistently
        ...
      7f2dc5c4
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20131112' of git://git.infradead.org/linux-mtd · 82cb6ace
      Linus Torvalds authored
      Pull MTD changes from Brian Norris:
       - Unify some compile-time differences so that we have fewer uses of
         #ifdef CONFIG_OF in atmel_nand
       - Other general cleanups (removing unused functions, options,
         variables, fields; use correct interfaces)
       - Fix BUG() for new odd-sized NAND, which report non-power-of-2
         dimensions via ONFI
       - Miscellaneous driver fixes (SPI NOR flash; BCM47xx NAND flash; etc.)
       - Improve differentiation between SLC and MLC NAND -- this clarifies an
         ABI issue regarding the MTD "type" (in sysfs and in the MEMGETINFO
         ioctl), where the MTD_MLCNANDFLASH type was present but
         inconsistently used
       - Extend GPMI NAND to support multi-chip-select NAND for some platforms
       - Many improvements to the OMAP2/3 NAND driver, including an expanded
         DT binding to bring us closer to mainline support for some OMAP
         systems
       - Fix a deadlock in the error path of the Atmel NAND driver probe
       - Correct the error codes from MTD mmap() to conform to POSIX and the
         Linux Programmer's Manual.  This is an acknowledged change in the MTD
         ABI, but I can't imagine somebody relying on the non-standard -ENOSYS
         error code specifically.  Am I just being unimaginative? :)
       - Fix a few important GPMI NAND bugs (one regression from 3.12 and one
         long-standing race condition)
       - More? Read the log!
      
      * tag 'for-linus-20131112' of git://git.infradead.org/linux-mtd: (98 commits)
        mtd: gpmi: fix the NULL pointer
        mtd: gpmi: fix kernel BUG due to racing DMA operations
        mtd: mtdchar: return expected errors on mmap() call
        mtd: gpmi: only scan two chips for imx6
        mtd: gpmi: Use devm_kzalloc()
        mtd: atmel_nand: fix bug driver will in a dead lock if no nand detected
        mtd: nand: use a local variable to simplify the nand_scan_tail
        mtd: nand: remove deprecated IRQF_DISABLED
        mtd: dataflash: Say if we find a device we don't support
        mtd: nand: omap: fix error return code in omap_nand_probe()
        mtd: nand_bbt: kill NAND_BBT_SCANALLPAGES
        mtd: m25p80: fixup device removal failure path
        mtd: mxc_nand: Include linux/of.h header
        mtd: remove duplicated include from mtdcore.c
        mtd: m25p80: add support for Macronix mx25l3255e
        mtd: nand: omap: remove selection of BCH ecc-scheme via KConfig
        mtd: nand: omap: updated devm_xx for all resource allocation and free calls
        mtd: nand: omap: use drivers/mtd/nand/nand_bch.c wrapper for BCH ECC instead of lib/bch.c
        mtd: nand: omap: clean-up ecc layout for BCH ecc schemes
        mtd: nand: omap2: clean-up BCHx_HW and BCHx_SW ECC configurations in device_probe
        ...
      82cb6ace
    • Linus Torvalds's avatar
      Merge tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 0d522ee7
      Linus Torvalds authored
      Pull first round of SCSI updates from James Bottomley:
       "This patch set is driver updates for qla4xxx, scsi_debug, pm80xx,
        fcoe/libfc, eas2r, lpfc, be2iscsi and megaraid_sas plus some assorted
        bug fixes and cleanups"
      
      * tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (106 commits)
        [SCSI] scsi_error: Escalate to LUN reset if abort fails
        [SCSI] Add 'eh_deadline' to limit SCSI EH runtime
        [SCSI] remove check for 'resetting'
        [SCSI] dc395: Move 'last_reset' into internal host structure
        [SCSI] tmscsim: Move 'last_reset' into host structure
        [SCSI] advansys: Remove 'last_reset' references
        [SCSI] dpt_i2o: return SCSI_MLQUEUE_HOST_BUSY when in reset
        [SCSI] dpt_i2o: Remove DPTI_STATE_IOCTL
        [SCSI] megaraid_sas: Fix synchronization problem between sysPD IO path and AEN path
        [SCSI] lpfc: Fix typo on NULL assignment
        [SCSI] scsi_dh_alua: ALUA handler attach should succeed while TPG is transitioning
        [SCSI] scsi_dh_alua: ALUA check sense should retry device internal reset unit attention
        [SCSI] esas2r: Cleanup snprinf formatting of firmware version
        [SCSI] esas2r: Remove superfluous mask of pcie_cap_reg
        [SCSI] esas2r: Fixes for big-endian platforms
        [SCSI] esas2r: Directly call kernel functions for atomic bit operations
        [SCSI] lpfc 8.3.43: Update lpfc version to driver version 8.3.43
        [SCSI] lpfc 8.3.43: Fixed not processing task management IOCB response status
        [SCSI] lpfc 8.3.43: Fixed spinlock hang.
        [SCSI] lpfc 8.3.43: Fixed invalid Total_Data_Placed value received for els and ct command responses
        ...
      0d522ee7
    • Linus Torvalds's avatar
      Merge branch 'for-3.13/drivers' of git://git.kernel.dk/linux-block · 5eea9be8
      Linus Torvalds authored
      Pull block driver updates from Jens Axboe:
       "This is the block driver pull request for 3.13.  As with the core pull
        request just sent out, this was rebased on top of the core branch
        again after the immutable series was pulled.  This also means that
        bcache gets to sit the initial pull over.  I will send a second driver
        pull request in the merge window to get those fixes in, once they have
        been rebased and tested on top of the non-immutable stack.
      
        This pull request contains:
      
         - Add support for the sTec Kronos pci-e flash card from sTec.  Also
           has various cleanups for this driver, from myself, Bart, Mike
           Snizter, and Wei Yongjun.
      
         - Add surprise removal support for the micron mtip32xx driver from
           Micron.
      
         - Floppy documentation fix from Ben Harris.
      
         - debugfs bug fix for pktcdvd from Dan Carpenter.
      
         - Fix for the mtip32xx driver stack usage in the debugfs path,
           dynamically allocating those buffers instead.  From David Milburn.
      
         - Disable cpqarray in Kconfig.  The plan is to remove it on request
           of HP, but lets disable it for a few revisions just to see if
           anyone yells.
      
         - drbd fixes from Lars Ellenberg and Philipp Reisner.
      
         - Elevator switch fix for the s390 block driver from Heiko Carstens.
      
         - loop crash fix on IO to unassigned device from Mikulas Patocka.
      
         - A series of bug fixes for the IBM rsxx pci-e flash driver from
           Philip J Kelleher.
      
         - cciss probe fix from Stephen Cameron.
      
         - Xen block front/back fixes from Roger Pau Monne and Vegard Nossum"
      
      * 'for-3.13/drivers' of git://git.kernel.dk/linux-block: (41 commits)
        floppy: Correct documentation of driver options when used as a module.
        pktcdvd: debugfs functions return NULL on error
        xen-blkfront: restore the non-persistent data path
        skd: fix formatting in skd_s1120.h
        skd: reorder construct/destruct code
        skd: cleanup skd_do_inq_page_da()
        skd: remove SKD_OMIT_FROM_SRC_DIST ifdefs
        skd: remove redundant skdev->pdev assignment from skd_pci_probe()
        skd: use <asm/unaligned.h>
        skd: remove SCSI subsystem specific includes
        skd: register block device only if some devices are present
        skd: fix error messages in skd_init()
        skd: fix error paths in skd_init()
        skd: fix unregister_blkdev() placement
        skd: more removal of bio-based code
        skd: cleanup the skd_*() function block wrapping
        skd: rip out bio path
        skd: fix error return code in skd_pci_probe()
        s390/dasd: hold request queue sysfs lock when calling elevator_init()
        cciss: return 0 from driver probe function on success, not 1
        ...
      5eea9be8
    • Linus Torvalds's avatar
      Merge branch 'for-3.13/core' of git://git.kernel.dk/linux-block · 0910c0bd
      Linus Torvalds authored
      Pull block IO core updates from Jens Axboe:
       "This is the pull request for the core changes in the block layer for
        3.13.  It contains:
      
         - The new blk-mq request interface.
      
           This is a new and more scalable queueing model that marries the
           best part of the request based interface we currently have (which
           is fully featured, but scales poorly) and the bio based "interface"
           which the new drivers for high IOPS devices end up using because
           it's much faster than the request based one.
      
           The bio interface has no block layer support, since it taps into
           the stack much earlier.  This means that drivers end up having to
           implement a lot of functionality on their own, like tagging,
           timeout handling, requeue, etc.  The blk-mq interface provides all
           these.  Some drivers even provide a switch to select bio or rq and
           has code to handle both, since things like merging only works in
           the rq model and hence is faster for some workloads.  This is a
           huge mess.  Conversion of these drivers nets us a substantial code
           reduction.  Initial results on converting SCSI to this model even
           shows an 8x improvement on single queue devices.  So while the
           model was intended to work on the newer multiqueue devices, it has
           substantial improvements for "classic" hardware as well.  This code
           has gone through extensive testing and development, it's now ready
           to go.  A pull request is coming to convert virtio-blk to this
           model will be will be coming as well, with more drivers scheduled
           for 3.14 conversion.
      
         - Two blktrace fixes from Jan and Chen Gang.
      
         - A plug merge fix from Alireza Haghdoost.
      
         - Conversion of __get_cpu_var() from Christoph Lameter.
      
         - Fix for sector_div() with 64-bit divider from Geert Uytterhoeven.
      
         - A fix for a race between request completion and the timeout
           handling from Jeff Moyer.  This is what caused the merge conflict
           with blk-mq/core, in case you are looking at that.
      
         - A dm stacking fix from Mike Snitzer.
      
         - A code consolidation fix and duplicated code removal from Kent
           Overstreet.
      
         - A handful of block bug fixes from Mikulas Patocka, fixing a loop
           crash and memory corruption on blk cg.
      
         - Elevator switch bug fix from Tomoki Sekiyama.
      
        A heads-up that I had to rebase this branch.  Initially the immutable
        bio_vecs had been queued up for inclusion, but a week later, it became
        clear that it wasn't fully cooked yet.  So the decision was made to
        pull this out and postpone it until 3.14.  It was a straight forward
        rebase, just pruning out the immutable series and the later fixes of
        problems with it.  The rest of the patches applied directly and no
        further changes were made"
      
      * 'for-3.13/core' of git://git.kernel.dk/linux-block: (31 commits)
        block: replace IS_ERR and PTR_ERR with PTR_ERR_OR_ZERO
        block: replace IS_ERR and PTR_ERR with PTR_ERR_OR_ZERO
        block: Do not call sector_div() with a 64-bit divisor
        kernel: trace: blktrace: remove redundent memcpy() in compat_blk_trace_setup()
        block: Consolidate duplicated bio_trim() implementations
        block: Use rw_copy_check_uvector()
        block: Enable sysfs nomerge control for I/O requests in the plug list
        block: properly stack underlying max_segment_size to DM device
        elevator: acquire q->sysfs_lock in elevator_change()
        elevator: Fix a race in elevator switching and md device initialization
        block: Replace __get_cpu_var uses
        bdi: test bdi_init failure
        block: fix a probe argument to blk_register_region
        loop: fix crash if blk_alloc_queue fails
        blk-core: Fix memory corruption if blkcg_init_queue fails
        block: fix race between request completion and timeout handling
        blktrace: Send BLK_TN_PROCESS events to all running traces
        blk-mq: don't disallow request merges for req->special being set
        blk-mq: mq plug list breakage
        blk-mq: fix for flush deadlock
        ...
      0910c0bd
  2. 13 Nov, 2013 19 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 2821fe6b
      Linus Torvalds authored
      Pull VFS fixes from Al Viro:
       "Several fixes, mostly for regressions in the last pile.  Howeover,
        prepend_path() forgetting to reininitalize dentry/vfsmount is in 3.12
        as well and qib_fs had been leaking all along..."
      
      The unpaired RCU lock issue was also independently reported by Dave
      Jones with his fuzzer tool..
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        qib_fs: fix (some) dcache abuses
        prepend_path() needs to reinitialize dentry/vfsmount/mnt on restarts
        fix unpaired rcu lock in prepend_path()
        locks: missing unlock on error in generic_add_lease()
        aio: checking for NULL instead of IS_ERR
      2821fe6b
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm · f47671e2
      Linus Torvalds authored
      Pull ARM updates from Russell King:
       "Included in this series are:
      
         1. BE8 (modern big endian) changes for ARM from Ben Dooks
         2. big.Little support from Nicolas Pitre and Dave Martin
         3. support for LPAE systems with all system memory above 4GB
         4. Perf updates from Will Deacon
         5. Additional prefetching and other performance improvements from Will.
         6. Neon-optimised AES implementation fro Ard.
         7. A number of smaller fixes scattered around the place.
      
        There is a rather horrid merge conflict in tools/perf - I was never
        notified of the conflict because it originally occurred between Will's
        tree and other stuff.  Consequently I have a resolution which Will
        forwarded me, which I'll forward on immediately after sending this
        mail.
      
        The other notable thing is I'm expecting some build breakage in the
        crypto stuff on ARM only with Ard's AES patches.  These were merged
        into a stable git branch which others had already pulled, so there's
        little I can do about this.  The problem is caused because these
        patches have a dependency on some code in the crypto git tree - I
        tried requesting a branch I can pull to resolve these, and all I got
        each time from the crypto people was "we'll revert our patches then"
        which would only make things worse since I still don't have the
        dependent patches.  I've no idea what's going on there or how to
        resolve that, and since I can't split these patches from the rest of
        this pull request, I'm rather stuck with pushing this as-is or
        reverting Ard's patches.
      
        Since it should "come out in the wash" I've left them in - the only
        build problems they seem to cause at the moment are with randconfigs,
        and since it's a new feature anyway.  However, if by -rc1 the
        dependencies aren't in, I think it'd be best to revert Ard's patches"
      
      I resolved the perf conflict roughly as per the patch sent by Russell,
      but there may be some differences.  Any errors are likely mine.  Let's
      see how the crypto issues work out..
      
      * 'for-linus' of git://git.linaro.org/people/rmk/linux-arm: (110 commits)
        ARM: 7868/1: arm/arm64: remove atomic_clear_mask() in "include/asm/atomic.h"
        ARM: 7867/1: include: asm: use 'int' instead of 'unsigned long' for 'oldval' in atomic_cmpxchg().
        ARM: 7866/1: include: asm: use 'long long' instead of 'u64' within atomic.h
        ARM: 7871/1: amba: Extend number of IRQS
        ARM: 7887/1: Don't smp_cross_call() on UP devices in arch_irq_work_raise()
        ARM: 7872/1: Support arch_irq_work_raise() via self IPIs
        ARM: 7880/1: Clear the IT state independent of the Thumb-2 mode
        ARM: 7878/1: nommu: Implement dummy early_paging_init()
        ARM: 7876/1: clear Thumb-2 IT state on exception handling
        ARM: 7874/2: bL_switcher: Remove cpu_hotplug_driver_{lock,unlock}()
        ARM: footbridge: fix build warnings for netwinder
        ARM: 7873/1: vfp: clear vfp_current_hw_state for dying cpu
        ARM: fix misplaced arch_virt_to_idmap()
        ARM: 7848/1: mcpm: Implement cpu_kill() to synchronise on powerdown
        ARM: 7847/1: mcpm: Factor out logical-to-physical CPU translation
        ARM: 7869/1: remove unused XSCALE_PMU Kconfig param
        ARM: 7864/1: Handle 64-bit memory in case of 32-bit phys_addr_t
        ARM: 7863/1: Let arm_add_memory() always use 64-bit arguments
        ARM: 7862/1: pcpu: replace __get_cpu_var_uses
        ARM: 7861/1: cacheflush: consolidate single-CPU ARMv7 cache disabling code
        ...
      f47671e2
    • Linus Torvalds's avatar
      Merge branch 'for-linus-dma-masks' of git://git.linaro.org/people/rmk/linux-arm · 8ceafbfa
      Linus Torvalds authored
      Pull DMA mask updates from Russell King:
       "This series cleans up the handling of DMA masks in a lot of drivers,
        fixing some bugs as we go.
      
        Some of the more serious errors include:
         - drivers which only set their coherent DMA mask if the attempt to
           set the streaming mask fails.
         - drivers which test for a NULL dma mask pointer, and then set the
           dma mask pointer to a location in their module .data section -
           which will cause problems if the module is reloaded.
      
        To counter these, I have introduced two helper functions:
         - dma_set_mask_and_coherent() takes care of setting both the
           streaming and coherent masks at the same time, with the correct
           error handling as specified by the API.
         - dma_coerce_mask_and_coherent() which resolves the problem of
           drivers forcefully setting DMA masks.  This is more a marker for
           future work to further clean these locations up - the code which
           creates the devices really should be initialising these, but to fix
           that in one go along with this change could potentially be very
           disruptive.
      
        The last thing this series does is prise away some of Linux's addition
        to "DMA addresses are physical addresses and RAM always starts at
        zero".  We have ARM LPAE systems where all system memory is above 4GB
        physical, hence having DMA masks interpreted by (eg) the block layers
        as describing physical addresses in the range 0..DMAMASK fails on
        these platforms.  Santosh Shilimkar addresses this in this series; the
        patches were copied to the appropriate people multiple times but were
        ignored.
      
        Fixing this also gets rid of some ARM weirdness in the setup of the
        max*pfn variables, and brings ARM into line with every other Linux
        architecture as far as those go"
      
      * 'for-linus-dma-masks' of git://git.linaro.org/people/rmk/linux-arm: (52 commits)
        ARM: 7805/1: mm: change max*pfn to include the physical offset of memory
        ARM: 7797/1: mmc: Use dma_max_pfn(dev) helper for bounce_limit calculations
        ARM: 7796/1: scsi: Use dma_max_pfn(dev) helper for bounce_limit calculations
        ARM: 7795/1: mm: dma-mapping: Add dma_max_pfn(dev) helper function
        ARM: 7794/1: block: Rename parameter dma_mask to max_addr for blk_queue_bounce_limit()
        ARM: DMA-API: better handing of DMA masks for coherent allocations
        ARM: 7857/1: dma: imx-sdma: setup dma mask
        DMA-API: firmware/google/gsmi.c: avoid direct access to DMA masks
        DMA-API: dcdbas: update DMA mask handing
        DMA-API: dma: edma.c: no need to explicitly initialize DMA masks
        DMA-API: usb: musb: use platform_device_register_full() to avoid directly messing with dma masks
        DMA-API: crypto: remove last references to 'static struct device *dev'
        DMA-API: crypto: fix ixp4xx crypto platform device support
        DMA-API: others: use dma_set_coherent_mask()
        DMA-API: staging: use dma_set_coherent_mask()
        DMA-API: usb: use new dma_coerce_mask_and_coherent()
        DMA-API: usb: use dma_set_coherent_mask()
        DMA-API: parport: parport_pc.c: use dma_coerce_mask_and_coherent()
        DMA-API: net: octeon: use dma_coerce_mask_and_coherent()
        DMA-API: net: nxp/lpc_eth: use dma_coerce_mask_and_coherent()
        ...
      8ceafbfa
    • Al Viro's avatar
      qib_fs: fix (some) dcache abuses · 441a9d0e
      Al Viro authored
      * lookup_one_len() really wants i_mutex held on directory.
      * leaks galore - just mount ipathfs, then
      cd /sys/bus/pci/drivers/qib_ib; echo *:*:*.* >unbind
      on a box with that card present and try to umount ipathfs...
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      441a9d0e
    • Al Viro's avatar
      prepend_path() needs to reinitialize dentry/vfsmount/mnt on restarts · ede4cebc
      Al Viro authored
      ... and equivalent is needed in 3.12; it's broken there as well
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      ede4cebc
    • Li Zhong's avatar
      fix unpaired rcu lock in prepend_path() · 4ec6c2ae
      Li Zhong authored
      Signed-off-by: default avatarLi Zhong <zhong@linux.vnet.ibm.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      4ec6c2ae
    • Dan Carpenter's avatar
      locks: missing unlock on error in generic_add_lease() · 4fdb793f
      Dan Carpenter authored
      We should unlock here before returning.
      
      Fixes: df4e8d2c ('locks: implement delegations')
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      4fdb793f
    • Dan Carpenter's avatar
      aio: checking for NULL instead of IS_ERR · 7f62656b
      Dan Carpenter authored
      alloc_anon_inode() returns an ERR_PTR(), it doesn't return NULL.
      
      Fixes: 71ad7490 ('rework aio migrate pages to use aio fs')
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      7f62656b
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · 42a2d923
      Linus Torvalds authored
      Pull networking updates from David Miller:
      
       1) The addition of nftables.  No longer will we need protocol aware
          firewall filtering modules, it can all live in userspace.
      
          At the core of nftables is a, for lack of a better term, virtual
          machine that executes byte codes to inspect packet or metadata
          (arriving interface index, etc.) and make verdict decisions.
      
          Besides support for loading packet contents and comparing them, the
          interpreter supports lookups in various datastructures as
          fundamental operations.  For example sets are supports, and
          therefore one could create a set of whitelist IP address entries
          which have ACCEPT verdicts attached to them, and use the appropriate
          byte codes to do such lookups.
      
          Since the interpreted code is composed in userspace, userspace can
          do things like optimize things before giving it to the kernel.
      
          Another major improvement is the capability of atomically updating
          portions of the ruleset.  In the existing netfilter implementation,
          one has to update the entire rule set in order to make a change and
          this is very expensive.
      
          Userspace tools exist to create nftables rules using existing
          netfilter rule sets, but both kernel implementations will need to
          co-exist for quite some time as we transition from the old to the
          new stuff.
      
          Kudos to Patrick McHardy, Pablo Neira Ayuso, and others who have
          worked so hard on this.
      
       2) Daniel Borkmann and Hannes Frederic Sowa made several improvements
          to our pseudo-random number generator, mostly used for things like
          UDP port randomization and netfitler, amongst other things.
      
          In particular the taus88 generater is updated to taus113, and test
          cases are added.
      
       3) Support 64-bit rates in HTB and TBF schedulers, from Eric Dumazet
          and Yang Yingliang.
      
       4) Add support for new 577xx tigon3 chips to tg3 driver, from Nithin
          Sujir.
      
       5) Fix two fatal flaws in TCP dynamic right sizing, from Eric Dumazet,
          Neal Cardwell, and Yuchung Cheng.
      
       6) Allow IP_TOS and IP_TTL to be specified in sendmsg() ancillary
          control message data, much like other socket option attributes.
          From Francesco Fusco.
      
       7) Allow applications to specify a cap on the rate computed
          automatically by the kernel for pacing flows, via a new
          SO_MAX_PACING_RATE socket option.  From Eric Dumazet.
      
       8) Make the initial autotuned send buffer sizing in TCP more closely
          reflect actual needs, from Eric Dumazet.
      
       9) Currently early socket demux only happens for TCP sockets, but we
          can do it for connected UDP sockets too.  Implementation from Shawn
          Bohrer.
      
      10) Refactor inet socket demux with the goal of improving hash demux
          performance for listening sockets.  With the main goals being able
          to use RCU lookups on even request sockets, and eliminating the
          listening lock contention.  From Eric Dumazet.
      
      11) The bonding layer has many demuxes in it's fast path, and an RCU
          conversion was started back in 3.11, several changes here extend the
          RCU usage to even more locations.  From Ding Tianhong and Wang
          Yufen, based upon suggestions by Nikolay Aleksandrov and Veaceslav
          Falico.
      
      12) Allow stackability of segmentation offloads to, in particular, allow
          segmentation offloading over tunnels.  From Eric Dumazet.
      
      13) Significantly improve the handling of secret keys we input into the
          various hash functions in the inet hashtables, TCP fast open, as
          well as syncookies.  From Hannes Frederic Sowa.  The key fundamental
          operation is "net_get_random_once()" which uses static keys.
      
          Hannes even extended this to ipv4/ipv6 fragmentation handling and
          our generic flow dissector.
      
      14) The generic driver layer takes care now to set the driver data to
          NULL on device removal, so it's no longer necessary for drivers to
          explicitly set it to NULL any more.  Many drivers have been cleaned
          up in this way, from Jingoo Han.
      
      15) Add a BPF based packet scheduler classifier, from Daniel Borkmann.
      
      16) Improve CRC32 interfaces and generic SKB checksum iterators so that
          SCTP's checksumming can more cleanly be handled.  Also from Daniel
          Borkmann.
      
      17) Add a new PMTU discovery mode, IP_PMTUDISC_INTERFACE, which forces
          using the interface MTU value.  This helps avoid PMTU attacks,
          particularly on DNS servers.  From Hannes Frederic Sowa.
      
      18) Use generic XPS for transmit queue steering rather than internal
          (re-)implementation in virtio-net.  From Jason Wang.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1622 commits)
        random32: add test cases for taus113 implementation
        random32: upgrade taus88 generator to taus113 from errata paper
        random32: move rnd_state to linux/random.h
        random32: add prandom_reseed_late() and call when nonblocking pool becomes initialized
        random32: add periodic reseeding
        random32: fix off-by-one in seeding requirement
        PHY: Add RTL8201CP phy_driver to realtek
        xtsonic: add missing platform_set_drvdata() in xtsonic_probe()
        macmace: add missing platform_set_drvdata() in mace_probe()
        ethernet/arc/arc_emac: add missing platform_set_drvdata() in arc_emac_probe()
        ipv6: protect for_each_sk_fl_rcu in mem_check with rcu_read_lock_bh
        vlan: Implement vlan_dev_get_egress_qos_mask as an inline.
        ixgbe: add warning when max_vfs is out of range.
        igb: Update link modes display in ethtool
        netfilter: push reasm skb through instead of original frag skbs
        ip6_output: fragment outgoing reassembled skb properly
        MAINTAINERS: mv643xx_eth: take over maintainership from Lennart
        net_sched: tbf: support of 64bit rates
        ixgbe: deleting dfwd stations out of order can cause null ptr deref
        ixgbe: fix build err, num_rx_queues is only available with CONFIG_RPS
        ...
      42a2d923
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew Morton) · 5cbb3d21
      Linus Torvalds authored
      Merge first patch-bomb from Andrew Morton:
       "Quite a lot of other stuff is banked up awaiting further
        next->mainline merging, but this batch contains:
      
         - Lots of random misc patches
         - OCFS2
         - Most of MM
         - backlight updates
         - lib/ updates
         - printk updates
         - checkpatch updates
         - epoll tweaking
         - rtc updates
         - hfs
         - hfsplus
         - documentation
         - procfs
         - update gcov to gcc-4.7 format
         - IPC"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (269 commits)
        ipc, msg: fix message length check for negative values
        ipc/util.c: remove unnecessary work pending test
        devpts: plug the memory leak in kill_sb
        ./Makefile: export initial ramdisk compression config option
        init/Kconfig: add option to disable kernel compression
        drivers: w1: make w1_slave::flags long to avoid memory corruption
        drivers/w1/masters/ds1wm.cuse dev_get_platdata()
        drivers/memstick/core/ms_block.c: fix unreachable state in h_msb_read_page()
        drivers/memstick/core/mspro_block.c: fix attributes array allocation
        drivers/pps/clients/pps-gpio.c: remove redundant of_match_ptr
        kernel/panic.c: reduce 1 byte usage for print tainted buffer
        gcov: reuse kbasename helper
        kernel/gcov/fs.c: use pr_warn()
        kernel/module.c: use pr_foo()
        gcov: compile specific gcov implementation based on gcc version
        gcov: add support for gcc 4.7 gcov format
        gcov: move gcov structs definitions to a gcc version specific file
        kernel/taskstats.c: return -ENOMEM when alloc memory fails in add_del_listener()
        kernel/taskstats.c: add nla_nest_cancel() for failure processing between nla_nest_start() and nla_nest_end()
        kernel/sysctl_binary.c: use scnprintf() instead of snprintf()
        ...
      5cbb3d21
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 9bc9ccd7
      Linus Torvalds authored
      Pull vfs updates from Al Viro:
       "All kinds of stuff this time around; some more notable parts:
      
         - RCU'd vfsmounts handling
         - new primitives for coredump handling
         - files_lock is gone
         - Bruce's delegations handling series
         - exportfs fixes
      
        plus misc stuff all over the place"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (101 commits)
        ecryptfs: ->f_op is never NULL
        locks: break delegations on any attribute modification
        locks: break delegations on link
        locks: break delegations on rename
        locks: helper functions for delegation breaking
        locks: break delegations on unlink
        namei: minor vfs_unlink cleanup
        locks: implement delegations
        locks: introduce new FL_DELEG lock flag
        vfs: take i_mutex on renamed file
        vfs: rename I_MUTEX_QUOTA now that it's not used for quotas
        vfs: don't use PARENT/CHILD lock classes for non-directories
        vfs: pull ext4's double-i_mutex-locking into common code
        exportfs: fix quadratic behavior in filehandle lookup
        exportfs: better variable name
        exportfs: move most of reconnect_path to helper function
        exportfs: eliminate unused "noprogress" counter
        exportfs: stop retrying once we race with rename/remove
        exportfs: clear DISCONNECTED on all parents sooner
        exportfs: more detailed comment for path_reconnect
        ...
      9bc9ccd7
    • Linus Torvalds's avatar
      Merge tag 'dlm-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm · f0230294
      Linus Torvalds authored
      Pull dlm fix from David Teigland:
       "This set includes a single fix to resolve to a race that could cause
        lockspace shutdown to incorrectly return -EBUSY"
      
      * tag 'dlm-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
        dlm: Avoid that dlm_release_lockspace() incorrectly returns -EBUSY
      f0230294
    • Linus Torvalds's avatar
      Merge tag 'upstream-3.13-rc1' of git://git.infradead.org/linux-ubi · 39222c82
      Linus Torvalds authored
      Pull UBI changes from Artem Bityutskiy:
       "A bunch of fixes for the fastmap feature, which is still new and
        rather experimental.  It looks like it starts getting more users.
      
        No significant changes for the "classical" non-fastmap UBI"
      
      * tag 'upstream-3.13-rc1' of git://git.infradead.org/linux-ubi:
        UBI: Add some asserts to ubi_attach_fastmap()
        UBI: Fix memory leak in ubi_attach_fastmap() error path
        UBI: simplify image sequence test
        UBI: fastmap: fix backward compatibility with image_seq
        UBI: Call scan_all() with correct offset in error case
        UBI: Fix error path in scan_pool()
        UBI: fix refill_wl_user_pool()
      39222c82
    • Linus Torvalds's avatar
      Merge tag 'upstream-3.13-rc1' of git://git.infradead.org/linux-ubifs · fbe43ff0
      Linus Torvalds authored
      Pull ubifs changes from Artem Bityutskiy:
       "Mostly fixes for the power cut emulation UBIFS mode, and only one
        functional change which fixes a return error code"
      
      * tag 'upstream-3.13-rc1' of git://git.infradead.org/linux-ubifs:
        UBIFS: correct data corruption range
        UBIFS: fix return code
        UBIFS: remove unnecessary code in ubifs_garbage_collect
      fbe43ff0
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · a7fa20a5
      Linus Torvalds authored
      Pull fuse updates from Miklos Szeredi:
       "This adds a ->writepage() implementation to fuse, improving mmaped
        writeout and paving the way for buffered writeback.
      
        And there's a patch to add a fix minor number for /dev/cuse, similarly
        to /dev/fuse"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
        fuse: writepages: protect secondary requests from fuse file release
        fuse: writepages: update bdi writeout when deleting secondary request
        fuse: writepages: crop secondary requests
        fuse: writepages: roll back changes if request not found
        cuse: add fix minor number to /dev/cuse
        fuse: writepage: skip already in flight
        fuse: writepages: handle same page rewrites
        fuse: writepages: fix aggregation
        fuse: fix race in fuse_writepages()
        fuse: Implement writepages callback
        fuse: don't BUG on no write file
        fuse: lock page in mkwrite
        fuse: Prepare to handle multiple pages in writeback
        fuse: Getting file for writeback helper
      a7fa20a5
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · a3012453
      Linus Torvalds authored
      Pull ext[23], udf and quota fixes from Jan Kara:
       "Assorted fixes in quota, ext2, ext3 & udf.
      
        Probably the most important is a fix of fs corruption issue in ext2
        XIP support (OTOH xip is rarely used)"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        ext2: Fix fs corruption in ext2_get_xip_mem()
        quota: info leak in quota_getquota()
        jbd: Revert "jbd: remove dependency on __GFP_NOFAIL"
        udf: fix for pathetic mount times in case of invalid file system
        ext3: Count journal as bsddf overhead in ext3_statfs
      a3012453
    • Linus Torvalds's avatar
      Merge tag 'for-f2fs-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · dd1d1399
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "This patch-set includes the following major enhancement patches.
         - add a sysfs to control reclaiming free segments
         - enhance the f2fs global lock procedures
         - enhance the victim selection flow
         - wait for selected node blocks during fsync
         - add some tracepoints
         - add a config to remove abundant BUG_ONs
      
        The other bug fixes are as follows.
         - fix deadlock on acl operations
         - fix some bugs with respect to orphan inodes
      
        And, there are a bunch of cleanups"
      
      * tag 'for-f2fs-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (42 commits)
        f2fs: issue more large discard command
        f2fs: fix memory leak after kobject init failed in fill_super
        f2fs: cleanup waiting routine for writeback pages in cp
        f2fs: avoid to use a NULL point in destroy_segment_manager
        f2fs: remove unnecessary TestClearPageError when wait pages writeback
        f2fs: update f2fs document
        f2fs: avoid to wait all the node blocks during fsync
        f2fs: check all ones or zeros bitmap with bitops for better mount performance
        f2fs: change the method of calculating the number summary blocks
        f2fs: fix calculating incorrect free size when update xattr in __f2fs_setxattr
        f2fs: add an option to avoid unnecessary BUG_ONs
        f2fs: introduce CONFIG_F2FS_CHECK_FS for BUG_ON control
        f2fs: fix a deadlock during init_acl procedure
        f2fs: clean up acl flow for better readability
        f2fs: remove unnecessary segment bitmap updates
        f2fs: add tracepoint for vm_page_mkwrite
        f2fs: add tracepoint for set_page_dirty
        f2fs: remove redundant set_page_dirty from write_compacted_summaries
        f2fs: add reclaiming control by sysfs
        f2fs: introduce f2fs_balance_fs_bg for some background jobs
        ...
      dd1d1399
    • Linus Torvalds's avatar
      Merge branch 'for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · a9986464
      Linus Torvalds authored
      Pull cgroup changes from Tejun Heo:
       "Not too much activity this time around.  css_id is finally killed and
        a minor update to device_cgroup"
      
      * 'for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        device_cgroup: remove can_attach
        cgroup: kill css_id
        memcg: stop using css id
        memcg: fail to create cgroup if the cgroup id is too big
        memcg: convert to use cgroup id
        memcg: convert to use cgroup_is_descendant()
      a9986464
    • Linus Torvalds's avatar
      Merge branch 'for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 13aa7e0b
      Linus Torvalds authored
      Pull libata changes from Tejun Heo:
       "Nothing too interesting.  Only two minor fixes in libata core.  Most
        changes are specific to hardware which isn't too common"
      
      * 'for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        ahci: Add Device IDs for Intel Wildcat Point-LP
        sata_rcar: Convert to clk_prepare/unprepare
        drivers/libata: Set max sector to 65535 for Slimtype DVD A DS8A9SH drive
        libata: Add some missing command descriptions
        sata_highbank: clear whole array in highbank_initialize_phys()
        ahci: disabled FBS prior to issuing software reset
        libata: Fix display of sata speed
        ahci: imx: setup power saving methods
        ata_piix: minor typo and a printk fix
        ahci: Changing two module params with static and __read_mostly
      13aa7e0b