1. 13 10月, 2012 40 次提交
    • J
    • J
      ARM: at91: add pinctrl support · 6732ae5c
      Jean-Christophe PLAGNIOL-VILLARD 提交于
      This is also include the gpio controller as the IP share both.
      Each soc will have to describe the SoC limitation and pin configuration via
      DT.
      
      This will allow to do not need to touch the C code when adding new SoC if the
      IP version is supported.
      Signed-off-by: NJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      6732ae5c
    • J
    • J
      arm: at91: at91sam9x5: fix gpio number per bank · fc33ff43
      Jean-Christophe PLAGNIOL-VILLARD 提交于
      On the at91sam9x5 SoC series, GPIO banks B and D only have 19 and 22
      pins. So add a property to set this parameter.
      Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      fc33ff43
    • J
      at91: regroup gpio and pinctrl under the same ranges · e4541ff2
      Jean-Christophe PLAGNIOL-VILLARD 提交于
      Fix also the reg size as we have 512 bytes bank not 256 bytes per gpio/mux
      controller
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com>
      Signed-off-by: NJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      e4541ff2
    • J
      ARM: at91: gpio: implement request · c18486e1
      Jean-Christophe PLAGNIOL-VILLARD 提交于
      Configure the pin as pio when requested.
      
      It is needed to configure the pin as PIO at "request time" when we are
      using DT. Indeed, the muxing via old AT91 API is not allowed anymore if
      we are using the plain gpiolib.
      Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      c18486e1
    • J
      arm: at91: use macro to declare soc boot data · 8d39e0fd
      Jean-Christophe PLAGNIOL-VILLARD 提交于
      Instead of check the pointer of the init function, check the new builtin bool
      to known if the soc is enabled.
      
      This is needed as with the switch to the pinctrl the init will be NULL on pure
      DT SoC.
      Signed-off-by: NJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      8d39e0fd
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 4d7127da
      Linus Torvalds 提交于
      Pull TPM bugfixes from James Morris.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        tpm: Propagate error from tpm_transmit to fix a timeout hang
        driver/char/tpm: fix regression causesd by ppi
      4d7127da
    • L
      Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux · a3920a6e
      Linus Torvalds 提交于
      Pull ACPI & Thermal updates from Len Brown:
       "The generic Linux thermal layer is gaining some new capabilities
        (generic cooling via cpufreq) and some new customers (ARM).
      
        Also, an ACPI EC bug fix plus a regression fix."
      
      * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: (30 commits)
        tools/power/acpi/acpidump: remove duplicated include from acpidump.c
        ACPI idle, CPU hotplug: Fix NULL pointer dereference during hotplug
        cpuidle / ACPI: fix potential NULL pointer dereference
        ACPI: EC: Add a quirk for CLEVO M720T/M730T laptop
        ACPI: EC: Make the GPE storm threshold a module parameter
        thermal: Exynos: Fix NULL pointer dereference in exynos_unregister_thermal()
        Thermal: Fix bug on cpu_cooling, cooling device's id conflict problem.
        thermal: exynos: Use devm_* functions
        ARM: exynos: add thermal sensor driver platform data support
        thermal: exynos: register the tmu sensor with the kernel thermal layer
        thermal: exynos5: add exynos5250 thermal sensor driver support
        hwmon: exynos4: move thermal sensor driver to driver/thermal directory
        thermal: add generic cpufreq cooling implementation
        Fix a build error.
        thermal: Fix potential NULL pointer accesses
        thermal: add Renesas R-Car thermal sensor support
        thermal: fix potential out-of-bounds memory access
        Thermal: Introduce locking for cdev.thermal_instances list.
        Thermal: Unify the code for both active and passive cooling
        Thermal: Introduce simple arbitrator for setting device cooling state
        ...
      a3920a6e
    • L
      Merge tag 'for-3.7' of git://openrisc.net/jonas/linux · 18a022de
      Linus Torvalds 提交于
      Pull OpenRISC updates from Jonas Bonn:
       "Fixups for some corner cases, build issues, and some obvious bugs in
        IRQ handling.  No major changes."
      
      * tag 'for-3.7' of git://openrisc.net/jonas/linux:
        openrisc: mask interrupts in irq_mask_ack function
        openrisc: fix typos in comments and warnings
        openrisc: PIC should act on domain-local irqs
        openrisc: Make cpu_relax() invoke barrier()
        audit: define AUDIT_ARCH_OPENRISC
        openrisc: delay: fix handling of counter overflow
        openrisc: delay: fix loops calculation for __const_udelay
      18a022de
    • L
      Merge tag 'disintegrate-misc-arches-20121010' of... · 02a650e2
      Linus Torvalds 提交于
      Merge tag 'disintegrate-misc-arches-20121010' of git://git.infradead.org/users/dhowells/linux-headers
      
      Pull UAPI disintegration for misc arches from David Howells:
       "UAPI disintegration for MN10300, FRV and AVR32 arches"
      
      * tag 'disintegrate-misc-arches-20121010' of git://git.infradead.org/users/dhowells/linux-headers:
        UAPI: (Scripted) Disintegrate arch/mn10300/include/asm
        UAPI: (Scripted) Disintegrate arch/frv/include/asm
        UAPI: (Scripted) Disintegrate arch/avr32/include/asm
      02a650e2
    • L
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · b6897130
      Linus Torvalds 提交于
      Pull powerpc uapi disintegration from Benjamin Herrenschmidt.
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        UAPI: (Scripted) Disintegrate arch/powerpc/include/asm
      b6897130
    • L
      Merge tag 'arm64-uapi' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64 · b4fe19f7
      Linus Torvalds 提交于
      Pull arm64 uapi disintegration from Catalin Marinas:
       "UAPI headers for arm64 together with some clean-up to make it
        possible:
         - Do not export the COMPAT_* definitions to user
         - Simplify the compat unistd32.h definitions and remove the
           __SYSCALL_COMPAT guard
         - Disintegrate the arch/arm64/include/asm/* headers"
      
      * tag 'arm64-uapi' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64:
        UAPI: (Scripted) Disintegrate arch/arm64/include/asm
        arm64: Do not export the compat-specific definitions to the user
        arm64: Do not include asm/unistd32.h in asm/unistd.h
        arm64: Remove unused definitions from asm/unistd32.h
      b4fe19f7
    • L
      Merge tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming · ff69497a
      Linus Torvalds 提交于
      Pull C6X UAPI disintegration from Mark Salter:
      
       - scripted UAPI disintegration by David Howells.
      
      * tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming:
        UAPI: (Scripted) Disintegrate arch/c6x/include/asm
      ff69497a
    • L
      Merge tag 'for_linus-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb · 6c536a17
      Linus Torvalds 提交于
      Pull KGDB/KDB fixes and cleanups from Jason Wessel:
       "Cleanups
         - Clean up compile warnings in kgdboc.c and x86/kernel/kgdb.c
         - Add module event hooks for simplified debugging with gdb
       Fixes
         - Fix kdb to stop paging with 'q' on bta and dmesg
         - Fix for data that scrolls off the vga console due to line wrapping
           when using the kdb pager
       New
         - The debug core registers for kernel module events which allows a
           kernel aware gdb to automatically load symbols and break on entry
           to a kernel module
         - Allow kgdboc=kdb to setup kdb on the vga console"
      
      * tag 'for_linus-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb:
        tty/console: fix warnings in drivers/tty/serial/kgdboc.c
        kdb,vt_console: Fix missed data due to pager overruns
        kdb: Fix dmesg/bta scroll to quit with 'q'
        kgdboc: Accept either kbd or kdb to activate the vga + keyboard kdb shell
        kgdb,x86: fix warning about unused variable
        mips,kgdb: fix recursive page fault with CONFIG_KPROBES
        kgdb: Add module event hooks
      6c536a17
    • L
      Merge tag 'stable/for-linus-3.7-uapi-tag' of... · ba8a3d6c
      Linus Torvalds 提交于
      Merge tag 'stable/for-linus-3.7-uapi-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen
      
      Pull Xen UAPI disintegration from Konrad Rzeszutek Wilk:
       "This has the UAPI disintegration work done by David Howells"
      
      * tag 'stable/for-linus-3.7-uapi-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        UAPI: (Scripted) Disintegrate include/xen
      ba8a3d6c
    • L
      Merge tag 'mmc-merge-for-3.7-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc · 125aae1d
      Linus Torvalds 提交于
      Pull two more mmc changes from Chris Ball:
      
       - Disintegrate UAPI
      
       - fix a mismerge that caused a build error.
      
      * tag 'mmc-merge-for-3.7-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:
        UAPI: (Scripted) Disintegrate include/linux/mmc
        mmc: mxs-mmc: Fix merge issue causing build error
      125aae1d
    • L
      Merge tag 'dm-3.7-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm · 79c63eeb
      Linus Torvalds 提交于
      Pull device-mapper changes from Alasdair G Kergon:
       "Remove the power-of-2 block size constraint on discards in dm thin
        provisioning and factor the bio_prison code out into a separate module
        (for sharing with the forthcoming cache target).
      
        Use struct bio's front_pad to eliminate the use of one separate
        mempool by bio-based devices.
      
        A few other tiny clean-ups."
      
      * tag 'dm-3.7-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm:
        dm: store dm_target_io in bio front_pad
        dm thin: move bio_prison code to separate module
        dm thin: prepare to separate bio_prison code
        dm thin: support discard with non power of two block size
        dm persistent data: convert to use le32_add_cpu
        dm: use ACCESS_ONCE for sysfs values
        dm bufio: use list_move
        dm mpath: fix check for null mpio in end_io fn
      79c63eeb
    • L
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 6a5a3d6a
      Linus Torvalds 提交于
      Pull misc SCSI updates from James Bottomley:
       "This is an assorted set of stragglers into the merge window with
        driver updates for megaraid_sas, lpfc, bfi and mvumi.  It also
        includes some fairly major fixes for virtio-scsi (scatterlist init),
        scsi_debug (off by one error), storvsc (use after free) and qla2xxx
        (potential deadlock).
      
        Signed-off-by: James Bottomley <JBottomley@Parallels.com>"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (49 commits)
        [SCSI] storvsc: Account for in-transit packets in the RESET path
        [SCSI] qla2xxx: fix potential deadlock on ha->hardware_lock
        [SCSI] scsi_debug: Fix off-by-one bug when unmapping region
        [SCSI] Shorten the path length of scsi_cmd_to_driver()
        [SCSI] virtio-scsi: support online resizing of disks
        [SCSI] virtio-scsi: fix LUNs greater than 255
        [SCSI] virtio-scsi: initialize scatterlist structure
        [SCSI] megaraid_sas: Version, Changelog, Copyright update
        [SCSI] megaraid_sas: Remove duplicate code
        [SCSI] megaraid_sas: Add SystemPD FastPath support
        [SCSI] megaraid_sas: Add array boundary check for SystemPD
        [SCSI] megaraid_sas: Load io_request DataLength in bytes
        [SCSI] megaraid_sas: Add module param for configurable MSI-X vector count
        [SCSI] megaraid_sas: Remove un-needed completion_lock spinlock calls
        [SCSI] lpfc 8.3.35: Update lpfc version for 8.3.35 driver release
        [SCSI] lpfc 8.3.35: Fixed not reporting logical link speed to SCSI midlayer when QoS not on
        [SCSI] lpfc 8.3.35: Fix error with fabric service parameters causing performance issues
        [SCSI] lpfc 8.3.35: Fixed SCSI host create showing wrong link speed on SLI3 HBA ports
        [SCSI] lpfc 8.3.35: Fixed not checking solicition in progress bit when verifying FCF record for use
        [SCSI] lpfc 8.3.35: Fixed messages for misconfigured port errors
        ...
      6a5a3d6a
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 8bbbfa70
      Linus Torvalds 提交于
      Pull input layer updates from Dmitry Torokhov:
       "2nd round of updates for the input subsystem.  With it input core no
        longer limits number of character devices per event handler (such as
        evdev) to 32, but switches to dynamic minors once legacy range is
        exhausted.  This should get multi-seat installations that currently
        run our of event devices very quickly.
      
        You will also get an update for Wacom driver and a couple of driver
        fixes."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: extend the number of event (and other) devices
        Input: mousedev - mark mousedev interfaces as non-seekable
        Input: mousedev - rename mixdev_open to opened_by_mixdev
        Input: mousedev - reformat structure initializers
        Input: mousedev - factor out psaux code to reduce #ifdefery
        Input: samsung-keypad - add clk_prepare and clk_unprepare
        Input: atmel_mxt_ts - simplify mxt_dump_message
        Input: wacom - clean up wacom_query_tablet_data
        Input: wacom - introduce wacom_fix_phy_from_hid
        Input: wacom - allow any multi-input Intuos device to set prox
        Input: wacom - report correct touch contact size for I5/Bamboo
      8bbbfa70
    • L
      Merge branch 'for-3.7' of git://linux-nfs.org/~bfields/linux · bd81ccea
      Linus Torvalds 提交于
      Pull nfsd update from J Bruce Fields:
       "Another relatively quiet cycle.  There was some progress on my
        remaining 4.1 todo's, but a couple of them were just of the form
        "check that we do X correctly", so didn't have much affect on the
        code.
      
        Other than that, a bunch of cleanup and some bugfixes (including an
        annoying NFSv4.0 state leak and a busy-loop in the server that could
        cause it to peg the CPU without making progress)."
      
      * 'for-3.7' of git://linux-nfs.org/~bfields/linux: (46 commits)
        UAPI: (Scripted) Disintegrate include/linux/sunrpc
        UAPI: (Scripted) Disintegrate include/linux/nfsd
        nfsd4: don't allow reclaims of expired clients
        nfsd4: remove redundant callback probe
        nfsd4: expire old client earlier
        nfsd4: separate session allocation and initialization
        nfsd4: clean up session allocation
        nfsd4: minor free_session cleanup
        nfsd4: new_conn_from_crses should only allocate
        nfsd4: separate connection allocation and initialization
        nfsd4: reject bad forechannel attrs earlier
        nfsd4: enforce per-client sessions/no-sessions distinction
        nfsd4: set cl_minorversion at create time
        nfsd4: don't pin clientids to pseudoflavors
        nfsd4: fix bind_conn_to_session xdr comment
        nfsd4: cast readlink() bug argument
        NFSD: pass null terminated buf to kstrtouint()
        nfsd: remove duplicate init in nfsd4_cb_recall
        nfsd4: eliminate redundant nfs4_free_stateid
        fs/nfsd/nfs4idmap.c: adjust inconsistent IS_ERR and PTR_ERR
        ...
      bd81ccea
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 98260daa
      Linus Torvalds 提交于
      Pull networking updates from David Miller:
      
       1) Alexey Kuznetsov noticed we routed TCP resets improperly in the
          assymetric routing case, fix this by reverting a change that made us
          use the incoming interface in the outgoing route key when we didn't
          have a socket context to work with.
      
       2) TCP sysctl kernel memory leakage to userspace fix from Alan Cox.
      
       3) Move UAPI bits from David Howells, WIMAX and CAN this time.
      
       4) Fix TX stalls in e1000e wrt.  Byte Queue Limits, from Hiroaki
          SHIMODA, Denys Fedoryshchenko, and Jesse Brandeburg.
      
       5) Fix IPV6 crashes in packet generator module, from Amerigo Wang.
      
       6) Tidies and fixes in the new VXLAN driver from Stephen Hemminger.
      
       7) Bridge IP options parse doesn't check first if SKB header has at
          least an IP header's worth of content present.  Fix from Sarveshwar
          Bandi.
      
       8) The kernel now generates compound pages on transmit and the Xen
          netback drivers needs some adjustments in order to handle this.  Fix
          from Ian Campbell.
      
       9) Turn off ASPM in JME driver, from Kevin Bardon and Matthew Garrett.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (43 commits)
        mcs7830: Fix link state detection
        net: add doc for in4_pton()
        net: add doc for in6_pton()
        vti: fix sparse bit endian warnings
        tcp: resets are misrouted
        usbnet: Support devices reporting idleness
        Add CDC-ACM support for the CX93010-2x UCMxx USB Modem
        net/ethernet/jme: disable ASPM
        tcp: sysctl interface leaks 16 bytes of kernel memory
        kaweth: print correct debug ptr
        e1000e: Change wthresh to 1 to avoid possible Tx stalls
        ipv4: fix route mark sparse warning
        xen: netback: handle compound page fragments on transmit.
        bridge: Pull ip header into skb->data before looking into ip header.
        isdn: fix a wrapping bug in isdn_ppp_ioctl()
        vxlan: fix oops when give unknown ifindex
        vxlan: fix receive checksum handling
        vxlan: add additional headroom
        vxlan: allow configuring port range
        vxlan: associate with tunnel socket on transmit
        ...
      98260daa
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · e225ca27
      Linus Torvalds 提交于
      Pull Sparc updates from David Miller:
      
       1) Updated syscall tracing fix from Al Viro.
      
       2) SUN4V error reporting was deficient in several areas.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc64: fix ptrace interaction with force_successful_syscall_return()
        sparc64: Fix deficiencies in sun4v error reporting.
      e225ca27
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile · 54f7fc25
      Linus Torvalds 提交于
      Pull tile arch update from Chris Metcalf:
       "The bulk of this change is the tile uapi disintegration.  There is
        also a one-line change in here to enable interrupts in
        do_work_pending() to avoid a WARN_ON in _local_bh_enable_ip()."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
        arch/tile: enable interrupts in do_work_pending()
        UAPI: (Scripted) Disintegrate arch/tile/include/asm
        UAPI: (Scripted) Disintegrate arch/tile/include/arch
      54f7fc25
    • L
      Merge tag 'please-pull-dhowells-uapi' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux · 0c4a479b
      Linus Torvalds 提交于
      Pull ia64 UAPI changes from Tony Luck:
       "ia64 pieces of David Howells great UAPI include file move"
      
      * tag 'please-pull-dhowells-uapi' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        UAPI: (Scripted) Disintegrate arch/ia64/include/asm
      0c4a479b
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ade0899b
      Linus Torvalds 提交于
      Pull perf updates from Ingo Molnar:
       "This tree includes some late late perf items that missed the first
        round:
      
        tools:
      
         - Bash auto completion improvements, now we can auto complete the
           tools long options, tracepoint event names, etc, from Namhyung Kim.
      
         - Look up thread using tid instead of pid in 'perf sched'.
      
         - Move global variables into a perf_kvm struct, from David Ahern.
      
         - Hists refactorings, preparatory for improved 'diff' command, from
           Jiri Olsa.
      
         - Hists refactorings, preparatory for event group viewieng work, from
           Namhyung Kim.
      
         - Remove double negation on optional feature macro definitions, from
           Namhyung Kim.
      
         - Remove several cases of needless global variables, on most
           builtins.
      
         - misc fixes
      
        kernel:
      
         - sysfs support for IBS on AMD CPUs, from Robert Richter.
      
         - Support for an upcoming Intel CPU, the Xeon-Phi / Knights Corner
           HPC blade PMU, from Vince Weaver.
      
         - misc fixes"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits)
        perf: Fix perf_cgroup_switch for sw-events
        perf: Clarify perf_cpu_context::active_pmu usage by renaming it to ::unique_pmu
        perf/AMD/IBS: Add sysfs support
        perf hists: Add more helpers for hist entry stat
        perf hists: Move he->stat.nr_events initialization to a template
        perf hists: Introduce struct he_stat
        perf diff: Removing the total_period argument from output code
        perf tool: Add hpp interface to enable/disable hpp column
        perf tools: Removing hists pair argument from output path
        perf hists: Separate overhead and baseline columns
        perf diff: Refactor diff displacement possition info
        perf hists: Add struct hists pointer to struct hist_entry
        perf tools: Complete tracepoint event names
        perf/x86: Add support for Intel Xeon-Phi Knights Corner PMU
        perf evlist: Remove some unused methods
        perf evlist: Introduce add_newtp method
        perf kvm: Move global variables into a perf_kvm struct
        perf tools: Convert to BACKTRACE_SUPPORT
        perf tools: Long option completion support for each subcommands
        perf tools: Complete long option names of perf command
        ...
      ade0899b
    • M
      perf: Handle new rbtree implementation · 871a0596
      Markus Trippelsdorf 提交于
      Perf build fails with the new rbtree implementation:
      
        ../../lib/rbtree.c:24:36: fatal error: linux/rbtree_augmented.h: No such file or directory compilation terminated.
      
      Fix by updating the Makefile and adding a btree_augmented.h
      wrapper.
      Reported-and-tested-by: NBorislav Petkov <borislav.petkov@amd.com>
      Signed-off-by: NMarkus Trippelsdorf <markus@trippelsdorf.de>
      Cc: Arnaldo Carvalho de Melo <acme@infradead.org>
      Cc: Borislav Petkov <bp@amd64.org>
      Link: http://lkml.kernel.org/r/20121009180156.GA245@x4Signed-off-by: NIngo Molnar <mingo@kernel.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      871a0596
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal · 4e21fc13
      Linus Torvalds 提交于
      Pull third pile of kernel_execve() patches from Al Viro:
       "The last bits of infrastructure for kernel_thread() et.al., with
        alpha/arm/x86 use of those.  Plus sanitizing the asm glue and
        do_notify_resume() on alpha, fixing the "disabled irq while running
        task_work stuff" breakage there.
      
        At that point the rest of kernel_thread/kernel_execve/sys_execve work
        can be done independently for different architectures.  The only
        pending bits that do depend on having all architectures converted are
        restrictred to fs/* and kernel/* - that'll obviously have to wait for
        the next cycle.
      
        I thought we'd have to wait for all of them done before we start
        eliminating the longjump-style insanity in kernel_execve(), but it
        turned out there's a very simple way to do that without flagday-style
        changes."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:
        alpha: switch to saner kernel_execve() semantics
        arm: switch to saner kernel_execve() semantics
        x86, um: convert to saner kernel_execve() semantics
        infrastructure for saner ret_from_kernel_thread semantics
        make sure that kernel_thread() callbacks call do_exit() themselves
        make sure that we always have a return path from kernel_execve()
        ppc: eeh_event should just use kthread_run()
        don't bother with kernel_thread/kernel_execve for launching linuxrc
        alpha: get rid of switch_stack argument of do_work_pending()
        alpha: don't bother passing switch_stack separately from regs
        alpha: take SIGPENDING/NOTIFY_RESUME loop into signal.c
        alpha: simplify TIF_NEED_RESCHED handling
      4e21fc13
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 8418263e
      Linus Torvalds 提交于
      Pull third pile of VFS updates from Al Viro:
       "Stuff from Jeff Layton, mostly.  Sanitizing interplay between audit
        and namei, removing a lot of insanity from audit_inode() mess and
        getting things ready for his ESTALE patchset."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        procfs: don't need a PATH_MAX allocation to hold a string representation of an int
        vfs: embed struct filename inside of names_cache allocation if possible
        audit: make audit_inode take struct filename
        vfs: make path_openat take a struct filename pointer
        vfs: turn do_path_lookup into wrapper around struct filename variant
        audit: allow audit code to satisfy getname requests from its names_list
        vfs: define struct filename and have getname() return it
        vfs: unexport getname and putname symbols
        acct: constify the name arg to acct_on
        vfs: allocate page instead of names_cache buffer in mount_block_root
        audit: overhaul __audit_inode_child to accomodate retrying
        audit: optimize audit_compare_dname_path
        audit: make audit_compare_dname_path use parent_len helper
        audit: remove dirlen argument to audit_compare_dname_path
        audit: set the name_len in audit_inode for parent lookups
        audit: add a new "type" field to audit_names struct
        audit: reverse arguments to audit_inode_child
        audit: no need to walk list in audit_inode if name is NULL
        audit: pass in dentry to audit_copy_inode wherever possible
        audit: remove unnecessary NULL ptr checks from do_path_lookup
      8418263e
    • J
    • J
      vfs: embed struct filename inside of names_cache allocation if possible · 7950e385
      Jeff Layton 提交于
      In the common case where a name is much smaller than PATH_MAX, an extra
      allocation for struct filename is unnecessary. Before allocating a
      separate one, try to embed the struct filename inside the buffer first. If
      it turns out that that's not long enough, then fall back to allocating a
      separate struct filename and redoing the copy.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      7950e385
    • J
      audit: make audit_inode take struct filename · adb5c247
      Jeff Layton 提交于
      Keep a pointer to the audit_names "slot" in struct filename.
      
      Have all of the audit_inode callers pass a struct filename ponter to
      audit_inode instead of a string pointer. If the aname field is already
      populated, then we can skip walking the list altogether and just use it
      directly.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      adb5c247
    • J
      vfs: make path_openat take a struct filename pointer · 669abf4e
      Jeff Layton 提交于
      ...and fix up the callers. For do_file_open_root, just declare a
      struct filename on the stack and fill out the .name field. For
      do_filp_open, make it also take a struct filename pointer, and fix up its
      callers to call it appropriately.
      
      For filp_open, add a variant that takes a struct filename pointer and turn
      filp_open into a wrapper around it.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      669abf4e
    • J
      vfs: turn do_path_lookup into wrapper around struct filename variant · 873f1eed
      Jeff Layton 提交于
      ...and make the user_path callers use that variant instead.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      873f1eed
    • J
      audit: allow audit code to satisfy getname requests from its names_list · 7ac86265
      Jeff Layton 提交于
      Currently, if we call getname() on a userland string more than once,
      we'll get multiple copies of the string and multiple audit_names
      records.
      
      Add a function that will allow the audit_names code to satisfy getname
      requests using info from the audit_names list, avoiding a new allocation
      and audit_names records.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      7ac86265
    • J
      vfs: define struct filename and have getname() return it · 91a27b2a
      Jeff Layton 提交于
      getname() is intended to copy pathname strings from userspace into a
      kernel buffer. The result is just a string in kernel space. It would
      however be quite helpful to be able to attach some ancillary info to
      the string.
      
      For instance, we could attach some audit-related info to reduce the
      amount of audit-related processing needed. When auditing is enabled,
      we could also call getname() on the string more than once and not
      need to recopy it from userspace.
      
      This patchset converts the getname()/putname() interfaces to return
      a struct instead of a string. For now, the struct just tracks the
      string in kernel space and the original userland pointer for it.
      
      Later, we'll add other information to the struct as it becomes
      convenient.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      91a27b2a
    • M
      dm: store dm_target_io in bio front_pad · dba14160
      Mikulas Patocka 提交于
      Use the recently-added bio front_pad field to allocate struct dm_target_io.
      
      Prior to this patch, dm_target_io was allocated from a mempool. For each
      dm_target_io, there is exactly one bio allocated from a bioset.
      
      This patch merges these two allocations into one allocation: we create a
      bioset with front_pad equal to the size of dm_target_io so that every
      bio allocated from the bioset has sizeof(struct dm_target_io) bytes
      before it. We allocate a bio and use the bytes before the bio as
      dm_target_io.
      
      _tio_cache is removed and the tio_pool mempool is now only used for
      request-based devices.
      
      This idea was introduced by Kent Overstreet.
      Signed-off-by: NMikulas Patocka <mpatocka@redhat.com>
      Cc: Kent Overstreet <koverstreet@google.com>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: tj@kernel.org
      Cc: Vivek Goyal <vgoyal@redhat.com>
      Cc: Bill Pemberton <wfp5p@viridian.itc.virginia.edu>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      dba14160
    • M
      dm thin: move bio_prison code to separate module · 4f81a417
      Mike Snitzer 提交于
      The bio prison code will be useful to other future DM targets so
      move it to a separate module.
      Signed-off-by: NMike Snitzer <snitzer@redhat.com>
      Signed-off-by: NJoe Thornber <ejt@redhat.com>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      4f81a417
    • M
      dm thin: prepare to separate bio_prison code · 44feb387
      Mike Snitzer 提交于
      The bio prison code will be useful to share with future DM targets.
      
      Prepare to move this code into a separate module, adding a dm prefix
      to structures and functions that will be exported.
      Signed-off-by: NMike Snitzer <snitzer@redhat.com>
      Signed-off-by: NJoe Thornber <ejt@redhat.com>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      44feb387
    • M
      dm thin: support discard with non power of two block size · 28eed34e
      Mike Snitzer 提交于
      Support discards when the pool's block size is not a power of 2.
      The block layer assumes discard_granularity is a power of 2 (in
      blkdev_issue_discard), so we set this to the largest power of 2 that is
      a divides into the number of sectors in each block, but never less than
      DATA_DEV_BLOCK_SIZE_MIN_SECTORS.
      
      This patch eliminates the "Discard support must be disabled when the
      block size is not a power of 2" constraint that was imposed in commit
      55f2b8bd ("dm thin: support for non power of 2 pool blocksize").  That
      commit was incomplete: using a block size that is not a power of 2
      shouldn't mean disabling discard support on the device completely.
      Signed-off-by: NMike Snitzer <snitzer@redhat.com>
      Signed-off-by: NJoe Thornber <ejt@redhat.com>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      28eed34e