1. 15 Oct, 2012 1 commit
    • Russell King's avatar
      ARM: fix oops on initial entry to userspace with Thumb2 kernels · 68687c84
      Russell King authored
      Daniel Mack reports an oops at boot with the latest kernels:
      
        Internal error: Oops - undefined instruction: 0 [#1] SMP THUMB2
        Modules linked in:
        CPU: 0    Not tainted  (3.6.0-11057-g584df1d #145)
        PC is at cpsw_probe+0x45a/0x9ac
        LR is at trace_hardirqs_on_caller+0x8f/0xfc
        pc : [<c03493de>]    lr : [<c005e81f>]    psr: 60000113
        sp : cf055fb0  ip : 00000000  fp : 00000000
        r10: 00000000  r9 : 00000000  r8 : 00000000
        r7 : 00000000  r6 : 00000000  r5 : c0344555  r4 : 00000000
        r3 : cf057a40  r2 : 00000000  r1 : 00000001  r0 : 00000000
        Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM Segment user
        Control: 50c5387d  Table: 8f3f4019  DAC: 00000015
        Process init (pid: 1, stack limit = 0xcf054240)
        Stack: (0xcf055fb0 to 0xcf056000)
        5fa0:                                     00000001 00000000 00000000 00000000
        5fc0: cf055fb0 c000d1a8 00000000 00000000 00000000 00000000 00000000 00000000
        5fe0: 00000000 be9b3f10 00000000 b6f6add0 00000010 00000000 aaaabfaf a8babbaa
      
      The analysis of this is as follows.  In init/main.c, we issue:
      
      	kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND);
      
      This creates a new thread, which falls through to the ret_from_fork
      assembly, with r4 set NULL and r5 set to kernel_init.  You can see
      this in your oops dump register set - r5 is 0xc0344555, which is the
      address of kernel_init plus 1 which marks the function as Thumb code.
      
      Now, let's look at this code a little closer - this is what the
      disassembly looks like:
      
        c000d180 <ret_from_fork>:
        c000d180:       f03a fe08       bl      c0047d94 <schedule_tail>
        c000d184:       2d00            cmp     r5, #0
        c000d186:       bf1e            ittt    ne
        c000d188:       4620            movne   r0, r4
        c000d18a:       46fe            movne   lr, pc <-- XXXXXXX
        c000d18c:       46af            movne   pc, r5
        c000d18e:       46e9            mov     r9, sp
        c000d190:       ea4f 3959       mov.w   r9, r9, lsr #13
        c000d194:       ea4f 3949       mov.w   r9, r9, lsl #13
        c000d198:       e7c8            b.n     c000d12c <ret_to_user>
        c000d19a:       bf00            nop
        c000d19c:       f3af 8000       nop.w
      
      This code was introduced in 9fff2fa0 (arm: switch to saner
      kernel_execve() semantics).  I have marked one instruction, and it's
      the significant one - I'll come back to that later.
      
      Eventually, having had a successful call to kernel_execve(), kernel_init()
      returns zero.
      
      In returning, it uses the value in 'lr' which was set by the instruction
      I marked above.  Unfortunately, this causes lr to contain 0xc000d18e -
      an even address.  This switches the ISA to ARM on return but with a non
      word aligned PC value.
      
      So, what do we end up executing?  Well, not the instructions above - yes
      the opcodes, but they don't mean the same thing in ARM mode.  In ARM mode,
      it looks like this instead:
      
        c000d18c:       46e946af        strbtmi r4, [r9], pc, lsr #13
        c000d190:       3959ea4f        ldmdbcc r9, {r0, r1, r2, r3, r6, r9, fp, sp, lr, pc}^
        c000d194:       3949ea4f        stmdbcc r9, {r0, r1, r2, r3, r6, r9, fp, sp, lr, pc}^
        c000d198:       bf00e7c8        svclt   0x0000e7c8
        c000d19c:       8000f3af        andhi   pc, r0, pc, lsr #7
        c000d1a0:       e88db092        stm     sp, {r1, r4, r7, ip, sp, pc}
        c000d1a4:       46e81fff                        ; <UNDEFINED> instruction: 0x46e81fff
        c000d1a8:       8a00f3ef        bhi     0xc004a16c
        c000d1ac:       0a0cf08a        beq     0xc03493dc
      
      I have included more above, because it's relevant.  The PSR flags which
      we can see in the oops dump are nZCv, so Z and C are set.
      
      All the above ARM instructions are not executed, except for two.
      c000d1a0, which has no writeback, and writes below the current stack
      pointer (and that data is lost when we take the next exception.) The
      other instruction which is executed is c000d1ac, which takes us to...
      0xc03493dc.  However, remember that bit 1 of the PC got set.  So that
      makes the PC value 0xc03493de.
      
      And that value is the value we find in the oops dump for PC.  What is
      the instruction here when interpreted in ARM mode?
      
             0:       f71e150c                ; <UNDEFINED> instruction: 0xf71e150c
      
      and there we have our undefined instruction (remember that the 'never'
      condition code, 0xf, has been deprecated and is now always executed as
      it is now being used for additional instructions.)
      
      This path also nicely explains the state of the stack we see in the oops
      dump too.
      
      The above is a consistent and sane story for how we got to the oops
      dump, which all stems from the instruction at 0xc000d18a being wrong.
      Reported-by: default avatarDaniel Mack <zonque@gmail.com>
      Tested-by: default avatarDaniel Mack <zonque@gmail.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      68687c84
  2. 14 Oct, 2012 6 commits
    • Linus Torvalds's avatar
      Linux 3.7-rc1 · ddffeb8c
      Linus Torvalds authored
      ddffeb8c
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · a5ef3f7d
      Linus Torvalds authored
      Pull MIPS update from Ralf Baechle:
       "Cleanups and fixes for breakage that occured earlier during this merge
        phase.  Also a few patches that didn't make the first pull request.
        Of those is the Alchemy work that merges code for many of the SOCs and
        evaluation boards thus among other code shrinkage, reduces the number
        of MIPS defconfigs by 5."
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (22 commits)
        MIPS: SNI: Switch RM400 serial to SCCNXP driver
        MIPS: Remove unused empty_bad_pmd_table[] declaration.
        MIPS: MT: Remove kspd.
        MIPS: Malta: Fix section mismatch.
        MIPS: asm-offset.c: Delete unused irq_cpustat_t struct offsets.
        MIPS: Alchemy: Merge PB1100/1500 support into DB1000 code.
        MIPS: Alchemy: merge PB1550 support into DB1550 code
        MIPS: Alchemy: Single kernel for DB1200/1300/1550
        MIPS: Optimize TLB refill for RI/XI configurations.
        MIPS: proc: Cleanup printing of ASEs.
        MIPS: Hardwire detection of DSP ASE Rev 2 for systems, as required.
        MIPS: Add detection of DSP ASE Revision 2.
        MIPS: Optimize pgd_init and pmd_init
        MIPS: perf: Add perf functionality for BMIPS5000
        MIPS: perf: Split the Kconfig option CONFIG_MIPS_MT_SMP
        MIPS: perf: Remove unnecessary #ifdef
        MIPS: perf: Add cpu feature bit for PCI (performance counter interrupt)
        MIPS: perf: Change the "mips_perf_event" table unsupported indicator.
        MIPS: Align swapper_pg_dir to 64K for better TLB Refill code.
        vmlinux.lds.h: Allow architectures to add sections to the front of .bss
        ...
      a5ef3f7d
    • Linus Torvalds's avatar
      Merge branch 'modules-next' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux · d25282d1
      Linus Torvalds authored
      Pull module signing support from Rusty Russell:
       "module signing is the highlight, but it's an all-over David Howells frenzy..."
      
      Hmm "Magrathea: Glacier signing key". Somebody has been reading too much HHGTTG.
      
      * 'modules-next' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (37 commits)
        X.509: Fix indefinite length element skip error handling
        X.509: Convert some printk calls to pr_devel
        asymmetric keys: fix printk format warning
        MODSIGN: Fix 32-bit overflow in X.509 certificate validity date checking
        MODSIGN: Make mrproper should remove generated files.
        MODSIGN: Use utf8 strings in signer's name in autogenerated X.509 certs
        MODSIGN: Use the same digest for the autogen key sig as for the module sig
        MODSIGN: Sign modules during the build process
        MODSIGN: Provide a script for generating a key ID from an X.509 cert
        MODSIGN: Implement module signature checking
        MODSIGN: Provide module signing public keys to the kernel
        MODSIGN: Automatically generate module signing keys if missing
        MODSIGN: Provide Kconfig options
        MODSIGN: Provide gitignore and make clean rules for extra files
        MODSIGN: Add FIPS policy
        module: signature checking hook
        X.509: Add a crypto key parser for binary (DER) X.509 certificates
        MPILIB: Provide a function to read raw data into an MPI
        X.509: Add an ASN.1 decoder
        X.509: Add simple ASN.1 grammar compiler
        ...
      d25282d1
    • Matt Fleming's avatar
      x86, boot: Explicitly include autoconf.h for hostprogs · b6eea87f
      Matt Fleming authored
      The hostprogs need access to the CONFIG_* symbols found in
      include/generated/autoconf.h.  But commit abbf1590 ("UAPI: Partition
      the header include path sets and add uapi/ header directories") replaced
      $(LINUXINCLUDE) with $(USERINCLUDE) which doesn't contain the necessary
      include paths.
      
      This has the undesirable effect of breaking the EFI boot stub because
      the #ifdef CONFIG_EFI_STUB code in arch/x86/boot/tools/build.c is
      never compiled.
      
      It should also be noted that because $(USERINCLUDE) isn't exported by
      the top-level Makefile it's actually empty in arch/x86/boot/Makefile.
      
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Acked-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarMatt Fleming <matt.fleming@intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b6eea87f
    • Ingo Molnar's avatar
      perf: Fix UAPI fallout · 7d380c8f
      Ingo Molnar authored
      The UAPI commits forgot to test tooling builds such as tools/perf/,
      and this fixes the fallout.
      
      Manual conversion.
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7d380c8f
    • Linus Torvalds's avatar
      Merge branch 'late-for-linus' of git://git.linaro.org/people/rmk/linux-arm · 3d6ee36d
      Linus Torvalds authored
      Pull ARM update from Russell King:
       "This is the final round of stuff for ARM, left until the end of the
        merge window to reduce the number of conflicts.  This set contains the
        ARM part of David Howells UAPI changes, and a fix to the ordering of
        'select' statements in ARM Kconfig files (see the appropriate commit
        for why this happened - thanks to Andrew Morton for pointing out the
        problem.)
      
        I've left this as long as I dare for this window to avoid conflicts,
        and I regenerated the config patch yesterday, posting it to our
        mailing list for review and testing.  I have several acks which
        include successful test reports for it.
      
        However, today I notice we've got new conflicts with previously unseen
        code...  though that conflict should be trivial (it's my changes vs a
        one liner.)"
      
      * 'late-for-linus' of git://git.linaro.org/people/rmk/linux-arm:
        ARM: config: make sure that platforms are ordered by option string
        ARM: config: sort select statements alphanumerically
        UAPI: (Scripted) Disintegrate arch/arm/include/asm
      
      Fix up fairly conflict in arch/arm/Kconfig (the select re-organization
      vs recent addition of GENERIC_KERNEL_EXECVE)
      3d6ee36d
  3. 13 Oct, 2012 33 commits
    • Linus Torvalds's avatar
      Merge tag 'disintegrate-main-20121013' of git://git.infradead.org/users/dhowells/linux-headers · 0b381a28
      Linus Torvalds authored
      Pull UAPI disintegration for include/linux/{,byteorder/}*.h from David Howells:
       "The patches contained herein do the following:
      
       (1) Remove kernel-only stuff in linux/ppp-comp.h from the UAPI.  I checked
           this with Paul Mackerras before I created the patch and he suggested some
           extra bits to unexport.
      
       (2) Remove linux/blk_types.h entirely from the UAPI as none of it is userspace
           applicable, and remove from the UAPI that part of linux/fs.h that was the
           reason for linux/blk_types.h being exported in the first place.  I
           discussed this with Jens Axboe before creating the patch.
      
       (3) The big patch of the series to disintegrate include/linux/*.h as a unit.
           This could be split up, though there would be collisions in moving stuff
           between the two Kbuild files when the parts are merged as that file is
           sorted alphabetically rather than being grouped by subsystem.
      
           Of this set of headers, 17 files have changed in the UAPI exported region
           since the 4th and only 8 since the 9th so there isn't much change in this
           area - as one might expect.
      
           It should be pretty obvious and straightforward if it does come to fixing
           up: stuff in __KERNEL__ guards stays where it is and stuff outside moves
           to the same file in the include/uapi/linux/ directory.
      
           If a new file appears then things get a bit more complicated as the
           "headers +=" line has to move to include/uapi/linux/Kbuild.  Only one new
           file has appeared since the 9th and I judge this type of event relatively
           unlikely.
      
       (4) A patch to disintegrate include/linux/byteorder/*.h as a unit.
      
        Signed-off-by: David Howells <dhowells@redhat.com>"
      
      * tag 'disintegrate-main-20121013' of git://git.infradead.org/users/dhowells/linux-headers:
        UAPI: (Scripted) Disintegrate include/linux/byteorder
        UAPI: (Scripted) Disintegrate include/linux
        UAPI: Unexport linux/blk_types.h
        UAPI: Unexport part of linux/ppp-comp.h
      0b381a28
    • Linus Torvalds's avatar
      Merge tag 'disintegrate-spi-20121009' of git://git.infradead.org/users/dhowells/linux-headers · 034b5eeb
      Linus Torvalds authored
      Pull spi UAPI disintegration from David Howells:
       "This is to complete part of the Userspace API (UAPI) disintegration
        for which the preparatory patches were pulled recently.  After these
        patches, userspace headers will be segregated into:
      
              include/uapi/linux/.../foo.h
      
        for the userspace interface stuff, and:
      
              include/linux/.../foo.h
      
        for the strictly kernel internal stuff.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
        Acked-by: Grant Likely <grant.likely@secretlab.ca>"
      
      * tag 'disintegrate-spi-20121009' of git://git.infradead.org/users/dhowells/linux-headers:
        UAPI: (Scripted) Disintegrate include/linux/spi
      034b5eeb
    • Linus Torvalds's avatar
      Merge tag 'openrisc-uapi' of git://openrisc.net/jonas/linux · 7c5a4734
      Linus Torvalds authored
      Pull OpenRISC uapi disintegration from Jonas Bonn:
       "OpenRISC UAPI disintegration work from David Howells"
      
      * tag 'openrisc-uapi' of git://openrisc.net/jonas/linux:
        UAPI: (Scripted) Disintegrate arch/openrisc/include/asm
      7c5a4734
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace · 09a9ad6a
      Linus Torvalds authored
      Pull user namespace compile fixes from Eric W Biederman:
       "This tree contains three trivial fixes.  One compiler warning, one
        thinko fix, and one build fix"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        btrfs: Fix compilation with user namespace support enabled
        userns: Fix posix_acl_file_xattr_userns gid conversion
        userns: Properly print bluetooth socket uids
      09a9ad6a
    • Linus Torvalds's avatar
      Merge tag 'md-3.7' of git://neil.brown.name/md · 9db90880
      Linus Torvalds authored
      Pull md updates from NeilBrown:
       - "discard" support, some dm-raid improvements and other assorted bits
         and pieces.
      
      * tag 'md-3.7' of git://neil.brown.name/md: (29 commits)
        md: refine reporting of resync/reshape delays.
        md/raid5: be careful not to resize_stripes too big.
        md: make sure manual changes to recovery checkpoint are saved.
        md/raid10: use correct limit variable
        md: writing to sync_action should clear the read-auto state.
        Subject: [PATCH] md:change resync_mismatches to atomic64_t to avoid races
        md/raid5: make sure to_read and to_write never go negative.
        md: When RAID5 is dirty, force reconstruct-write instead of read-modify-write.
        md/raid5: protect debug message against NULL derefernce.
        md/raid5: add some missing locking in handle_failed_stripe.
        MD: raid5 avoid unnecessary zero page for trim
        MD: raid5 trim support
        md/bitmap:Don't use IS_ERR to judge alloc_page().
        md/raid1: Don't release reference to device while handling read error.
        raid: replace list_for_each_continue_rcu with new interface
        add further __init annotations to crypto/xor.c
        DM RAID: Fix for "sync" directive ineffectiveness
        DM RAID: Fix comparison of index and quantity for "rebuild" parameter
        DM RAID: Add rebuild capability for RAID10
        DM RAID: Move 'rebuild' checking code to its own function
        ...
      9db90880
    • Russell King's avatar
      Merge branch 'config' into late-for-linus · 244acb1b
      Russell King authored
      244acb1b
    • Russell King's avatar
      ARM: config: make sure that platforms are ordered by option string · 93e22567
      Russell King authored
      The large platform selection choice should be sorted by option string
      so it's easy to find the platform you're looking for.  Fix the few
      options which are out of this order.
      Acked-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      93e22567
    • Russell King's avatar
      ARM: config: sort select statements alphanumerically · b1b3f49c
      Russell King authored
      As suggested by Andrew Morton:
      
        This is a pet peeve of mine.  Any time there's a long list of items
        (header file inclusions, kconfig entries, array initalisers, etc) and
        someone wants to add a new item, they *always* go and stick it at the
        end of the list.
      
        Guys, don't do this.  Either put the new item into a randomly-chosen
        position or, probably better, alphanumerically sort the list.
      
      lets sort all our select statements alphanumerically.  This commit was
      created by the following perl:
      
      while (<>) {
      	while (/\\\s*$/) {
      		$_ .= <>;
      	}
      	undef %selects if /^\s*config\s+/;
      	if (/^\s+select\s+(\w+).*/) {
      		if (defined($selects{$1})) {
      			if ($selects{$1} eq $_) {
      				print STDERR "Warning: removing duplicated $1 entry\n";
      			} else {
      				print STDERR "Error: $1 differently selected\n".
      					"\tOld: $selects{$1}\n".
      					"\tNew: $_\n";
      				exit 1;
      			}
      		}
      		$selects{$1} = $_;
      		next;
      	}
      	if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or
      			  /^endif/ or /^endchoice/)) {
      		foreach $k (sort (keys %selects)) {
      			print "$selects{$k}";
      		}
      		undef %selects;
      	}
      	print;
      }
      if (%selects) {
      	foreach $k (sort (keys %selects)) {
      		print "$selects{$k}";
      	}
      }
      
      It found two duplicates:
      
      Warning: removing duplicated S5P_SETUP_MIPIPHY entry
      Warning: removing duplicated HARDIRQS_SW_RESEND entry
      
      and they are identical duplicates, hence the shrinkage in the diffstat
      of two lines.
      
      We have four testers reporting success of this change (Tony, Stephen,
      Linus and Sekhar.)
      Acked-by: default avatarJason Cooper <jason@lakedaemon.net>
      Acked-by: default avatarTony Lindgren <tony@atomide.com>
      Acked-by: default avatarStephen Warren <swarren@nvidia.com>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Acked-by: default avatarSekhar Nori <nsekhar@ti.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      b1b3f49c
    • David Howells's avatar
    • David Howells's avatar
    • David Howells's avatar
      UAPI: Unexport linux/blk_types.h · 08cce05c
      David Howells authored
      It seems that was linux/blk_types.h incorrectly exported to fix up some missing
      bits required by the exported parts of linux/fs.h (READ, WRITE, READA, etc.).
      
      So unexport linux/blk_types.h and unexport the relevant bits of linux/fs.h.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: Jens Axboe <jaxboe@fusionio.com>
      cc: Tejun Heo <tj@kernel.org>
      cc: Al Viro <viro@ZenIV.linux.org.uk>
      08cce05c
    • David Howells's avatar
      UAPI: Unexport part of linux/ppp-comp.h · 8e4627dd
      David Howells authored
      Unexport part of linux/ppp-comp.h as userspace can't make use of that bit.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: Paul Mackerras <paulus@samba.org>
      cc: David Miller <davem@davemloft.net>
      8e4627dd
    • Jonas Bonn's avatar
      Merge tag 'disintegrate-openrisc-20121009' of git://git.infradead.org/users/dhowells/linux-headers · 6257c574
      Jonas Bonn authored
      UAPI Disintegration 2012-10-09
      
      * tag 'disintegrate-openrisc-20121009' of git://git.infradead.org/users/dhowells/linux-headers:
        UAPI: (Scripted) Disintegrate arch/openrisc/include/asm
      6257c574
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 4d7127da
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux · a3920a6e
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'for-3.7' of git://openrisc.net/jonas/linux · 18a022de
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'disintegrate-misc-arches-20121010' of... · 02a650e2
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · b6897130
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'arm64-uapi' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64 · b4fe19f7
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming · ff69497a
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'for_linus-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb · 6c536a17
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.7-uapi-tag' of... · ba8a3d6c
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'mmc-merge-for-3.7-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc · 125aae1d
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'dm-3.7-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm · 79c63eeb
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 6a5a3d6a
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 8bbbfa70
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'for-3.7' of git://linux-nfs.org/~bfields/linux · bd81ccea
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 98260daa
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · e225ca27
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile · 54f7fc25
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'please-pull-dhowells-uapi' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux · 0c4a479b
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ade0899b
      Linus Torvalds authored
      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
    • Markus Trippelsdorf's avatar
      perf: Handle new rbtree implementation · 871a0596
      Markus Trippelsdorf authored
      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: default avatarBorislav Petkov <borislav.petkov@amd.com>
      Signed-off-by: default avatarMarkus 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: default avatarIngo Molnar <mingo@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      871a0596