15 Oct, 2012

3 commits

  • 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
    ...

    Linus Torvalds
     
  • 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
    ...

    Linus Torvalds
     
  • The hostprogs need access to the CONFIG_* symbols found in
    include/generated/autoconf.h. But commit abbf1590de22 ("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
    Cc: Ingo Molnar
    Acked-by: David Howells
    Signed-off-by: Matt Fleming
    Signed-off-by: Linus Torvalds

    Matt Fleming
     

14 Oct, 2012

4 commits

  • 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)

    Linus Torvalds
     
  • Russell King
     
  • 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: Tony Lindgren
    Signed-off-by: Russell King

    Russell King
     
  • 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: Jason Cooper
    Acked-by: Tony Lindgren
    Acked-by: Stephen Warren
    Acked-by: Linus Walleij
    Acked-by: Sekhar Nori
    Signed-off-by: Russell King

    Russell King
     

13 Oct, 2012

20 commits

  • 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

    Jonas Bonn
     
  • 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

    Linus Torvalds
     
  • …howells/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

    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

    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

    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

    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

    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.

    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

    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

    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
    ...

    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

    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

    Linus Torvalds
     
  • 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: Jeff Layton
    Signed-off-by: Al Viro

    Jeff Layton
     
  • All the called functions expect interrupts to be enabled, and
    now one of them has started to warn about it, so make it correct.

    Signed-off-by: Chris Metcalf

    Chris Metcalf
     
  • UAPI Disintegration 2012-10-09

    Chris Metcalf
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • * allow kernel_execve() leave the actual return to userland to
    caller (selected by CONFIG_GENERIC_KERNEL_EXECVE). Callers
    updated accordingly.
    * architecture that does select GENERIC_KERNEL_EXECVE in its
    Kconfig should have its ret_from_kernel_thread() do this:
    call schedule_tail
    call the callback left for it by copy_thread(); if it ever
    returns, that's because it has just done successful kernel_execve()
    jump to return from syscall
    IOW, its only difference from ret_from_fork() is that it does call the
    callback.
    * such an architecture should also get rid of ret_from_kernel_execve()
    and __ARCH_WANT_KERNEL_EXECVE

    This is the last part of infrastructure patches in that area - from
    that point on work on different architectures can live independently.

    Signed-off-by: Al Viro

    Al Viro
     

12 Oct, 2012

13 commits

  • Pull Xen fixes from Konrad Rzeszutek Wilk:
    "This has four bug-fixes and one tiny feature that I forgot to put
    initially in my tree due to oversight.

    The feature is for kdump kernels to speed up the /proc/vmcore reading.
    There is a ram_is_pfn helper function that the different platforms can
    register for. We are now doing that.

    The bug-fixes cover some embarrassing struct pv_cpu_ops variables
    being set to NULL on Xen (but not baremetal). We had a similar issue
    in the past with {write|read}_msr_safe and this fills the three
    missing ones. The other bug-fix is to make the console output (hvc)
    be capable of dealing with misbehaving backends and not fall flat on
    its face. Lastly, a quirk for older XenBus implementations that came
    with an ancient v3.4 hypervisor (so RHEL5 based) - reading of certain
    non-existent attributes just hangs the guest during bootup - so we
    take precaution of not doing that on such older installations.

    Feature:
    - Register a pfn_is_ram helper to speed up reading of /proc/vmcore.
    Bug-fixes:
    - Three pvops call for Xen were undefined causing BUG_ONs.
    - Add a quirk so that the shutdown watches (used by kdump) are not
    used with older Xen (3.4).
    - Fix ungraceful state transition for the HVC console."

    * tag 'stable/for-linus-3.7-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen/pv-on-hvm kexec: add quirk for Xen 3.4 and shutdown watches.
    xen/bootup: allow {read|write}_cr8 pvops call.
    xen/bootup: allow read_tscp call for Xen PV guests.
    xen pv-on-hvm: add pfn_is_ram helper for kdump
    xen/hvc: handle backend CLOSED without CLOSING

    Linus Torvalds
     
  • Pull timer core update from Thomas Gleixner:
    - Bug fixes (one for a longstanding dead loop issue)
    - Rework of time related vsyscalls
    - Alarm timer updates
    - Jiffies updates to remove compile time dependencies

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    timekeeping: Cast raw_interval to u64 to avoid shift overflow
    timers: Fix endless looping between cascade() and internal_add_timer()
    time/jiffies: bring back unconditional LATCH definition
    time: Convert x86_64 to using new update_vsyscall
    time: Only do nanosecond rounding on GENERIC_TIME_VSYSCALL_OLD systems
    time: Introduce new GENERIC_TIME_VSYSCALL
    time: Convert CONFIG_GENERIC_TIME_VSYSCALL to CONFIG_GENERIC_TIME_VSYSCALL_OLD
    time: Move update_vsyscall definitions to timekeeper_internal.h
    time: Move timekeeper structure to timekeeper_internal.h for vsyscall changes
    jiffies: Remove compile time assumptions about CLOCK_TICK_RATE
    jiffies: Kill unused TICK_USEC_TO_NSEC
    alarmtimer: Rename alarmtimer_remove to alarmtimer_dequeue
    alarmtimer: Remove unused helpers & defines
    alarmtimer: Use hrtimer per-alarm instead of per-base
    alarmtimer: Implement minimum alarm interval for allowing suspend

    Linus Torvalds
     
  • We actually do not do anything about it. Just return a default
    value of zero and if the kernel tries to write anything but 0
    we BUG_ON.

    This fixes the case when an user tries to suspend the machine
    and it blows up in save_processor_state b/c 'read_cr8' is set
    to NULL and we get:

    kernel BUG at /home/konrad/ssd/linux/arch/x86/include/asm/paravirt.h:100!
    invalid opcode: 0000 [#1] SMP
    Pid: 2687, comm: init.late Tainted: G O 3.6.0upstream-00002-gac264ac-dirty #4 Bochs Bochs
    RIP: e030:[] [] save_processor_state+0x212/0x270

    .. snip..
    Call Trace:
    [] do_suspend_lowlevel+0xf/0xac
    [] ? x86_acpi_suspend_lowlevel+0x10c/0x150
    [] acpi_suspend_enter+0x57/0xd5

    CC: stable@vger.kernel.org
    Signed-off-by: Konrad Rzeszutek Wilk

    Konrad Rzeszutek Wilk
     
  • The hypervisor will trap it. However without this patch,
    we would crash as the .read_tscp is set to NULL. This patch
    fixes it and sets it to the native_read_tscp call.

    CC: stable@vger.kernel.org
    Signed-off-by: Konrad Rzeszutek Wilk

    Konrad Rzeszutek Wilk
     
  • Signed-off-by: David Howells
    Acked-by: Arnd Bergmann
    Acked-by: Thomas Gleixner
    Acked-by: Michael Kerrisk
    Acked-by: Paul E. McKenney
    Acked-by: Dave Jones

    David Howells
     
  • When compiling without CONFIG_DEBUG_RODATA the following
    compiler warning is generated:

    arch/x86/kernel/kgdb.c: In function 'kgdb_arch_set_breakpoint':
    arch/x86/kernel/kgdb.c:749: warning: unused variable 'opc'

    The variable instantiation needs to be inside the #ifdef to
    make the warning go away.

    Reported-by: Thiago Rafael Becker
    Signed-off-by: Jason Wessel

    Jason Wessel
     
  • This fault was detected using the kgdb test suite on boot and it
    crashes recursively due to the fact that CONFIG_KPROBES on mips adds
    an extra die notifier in the page fault handler. The crash signature
    looks like this:

    kgdbts:RUN bad memory access test
    KGDB: re-enter exception: ALL breakpoints killed
    Call Trace:
    [] dump_stack+0x20/0x54
    [] dump_stack+0x20/0x54

    The fix for now is to have kgdb return immediately if the fault type
    is DIE_PAGE_FAULT and allow the kprobe code to decide what is supposed
    to happen.

    Cc: Masami Hiramatsu
    Cc: David S. Miller
    Cc:
    Signed-off-by: Jason Wessel

    Jason Wessel
     
  • Pull second set of media updates from Mauro Carvalho Chehab:
    "Despite its size, most of the stuff here is trivial. This series
    contains:

    - s5p-mfc: additions at the driver and at the core to support H.264
    hardware codec;
    - Some improvements at s5p and davinci embedded drivers;
    - Some V4L2 compliance fixes applied on a few drivers;
    - Several random trivial patches, including several fixes and a few
    new board support additions;

    Notes:

    1) Some Exynos media patches were dependent on some -arm fixes that
    got merged on changeset 782cd9e. That's why this pull request is
    based that changeset.

    2) As promised, I reviewed the pending VB2 DMABUF series.

    While setting a test environment, it was noticed that the upstream
    support for Samsung Exynos 4 boards (smdk310 and Origen) are
    broken upstream, likely due to regressions: both defconfigs are
    wrong and regulator settings for both boards are broken. That,
    allied with some bug at the dummy regulator driver, causes OOPSes
    during boot time.

    Long story short: even fixing the above, the proposed patches
    OOPSed when running the DMABUF test. Not sure yet if the OOPSes
    are due to some other undetected regressions, or due to some bug
    on the patches.

    Due to the above, DMABUF patches for vb2 got NACKed for 3.7."

    * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (109 commits)
    [media] m5mols: Add missing #include
    [media] stk1160: Add support for S-Video input
    Revert "[media] omap3isp: Replace cpu_is_omap3630() with ISP revision check"
    [media] dvb: LNA implementation changes
    [media] v4l2-ioctl: fix W=1 warnings
    [media] v4l2-ioctl: add blocks check for VIDIOC_SUBDEV_G/S_EDID
    [media] omap3isp: Fix compilation error in ispreg.h
    [media] rc-msi-digivox-ii: Add full scan keycodes
    [media] cx25821: testing the wrong variable
    [media] tda18271-common: hold the I2C adapter during write transfers
    [media] ds3000: add module parameter to force firmware upload
    [media] drivers/media: Remove unnecessary semicolon
    [media] winbond: remove space from driver name
    [media] iguanair: cannot send data from the stack
    [media] omap3isp: Replace cpu_is_omap3630() with ISP revision check
    [media] dvb-usb: print small buffers via %*ph
    [media] uvc: Add return code check at vb2_queue_init()
    [media] em28xx: Replace memcpy with struct assignment
    [media] bt8xx: Add video4linux control V4L2_CID_COLOR_KILLER
    [media] mem2mem_testdev: Use devm_kzalloc() in probe
    ...

    Conflicts:
    arch/arm/mach-davinci/include/mach/da8xx.h

    Linus Torvalds
     
  • …t/linusw/linux-pinctrl

    Pull second set of pinctrl patches from Linus Walleij:
    "Here is a late pinctrl pull request with stuff that wasn't quite
    tested at the first pull request.

    The main reason to not hold off is that the modifications to
    irq_domain_add_simple() as reviewed by Rob Herring introduce new
    infrastructure for irqdomains that will be useful for the next cycle:
    instead of sprinkling irq descriptor allocation all over the kernel
    wherever a "legacy" domain is registered, which is necessary for any
    platform using sparse IRQs, and many irq chips are say GPIO
    controllers which may be used with several systems, some with sparse
    IRQs some not, we push this into the irq_domain_add_simple() so we can
    atleast do mistakes in one place.

    The irq_domain_add_simple() is currently unused in the kernel, so I
    need to provide a user. The Nomadik stuff that goes with are changes
    to the driver I use day-to-day to make use of this facility (and a
    dependency), so see it as a way to eat my own dogfood: if this blows
    up the egg hits my face.

    A second round of pinctrl patches for v3.7:
    - Complement the Nomadik pinctrl driver with alternate Cx functions
    so it handles all oddities.
    - A patch to the IRQdomain to reform the simple irqdomain to handle
    IRQ descriptor allocation dynamically.
    - Use the above feature in the Nomadik pin controller."

    * tag 'pinctrl-for-3.7-late' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
    pinctrl/nomadik: use simple or linear IRQ domain
    irqdomain: augment add_simple() to allocate descs
    pinctrl/nomadik: support other alternate-C functions

    Linus Torvalds
     
  • Pull second set of ARM updates from Russell King:
    "This is the second set of ARM updates for this merge window.

    Contained within are changes to allow the kernel to boot in hypervisor
    mode on CPUs supporting virtualization, and cache flushing support to
    the point of inner sharable unification, which are used by the
    suspend/resume code to avoid having to do a full cache flush.

    Also included is one fix for VFP code identified by Michael Olbrich."

    * 'for-linus' of git://git.linaro.org/people/rmk/linux-arm:
    ARM: vfp: fix saving d16-d31 vfp registers on v6+ kernels
    ARM: 7549/1: HYP: fix boot on some ARM1136 cores
    ARM: 7542/1: mm: fix cache LoUIS API for xscale and feroceon
    ARM: mm: update __v7_setup() to the new LoUIS cache maintenance API
    ARM: kernel: update __cpu_disable to use cache LoUIS maintenance API
    ARM: kernel: update cpu_suspend code to use cache LoUIS operations
    ARM: mm: rename jump labels in v7_flush_dcache_all function
    ARM: mm: implement LoUIS API for cache maintenance ops
    ARM: virt: arch_timers: enable access to physical timers
    ARM: virt: Add CONFIG_ARM_VIRT_EXT option
    ARM: virt: Add boot-time diagnostics
    ARM: virt: Update documentation for hyp mode entry support
    ARM: zImage/virt: hyp mode entry support for the zImage loader
    ARM: virt: allow the kernel to be entered in HYP mode
    ARM: opcodes: add __ERET/__MSR_ELR_HYP instruction encoding

    Linus Torvalds
     
  • Pull pile 2 of execve and kernel_thread unification work from Al Viro:
    "Stuff in there: kernel_thread/kernel_execve/sys_execve conversions for
    several more architectures plus assorted signal fixes and cleanups.

    There'll be more (in particular, real fixes for the alpha
    do_notify_resume() irq mess)..."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal: (43 commits)
    alpha: don't open-code trace_report_syscall_{enter,exit}
    Uninclude linux/freezer.h
    m32r: trim masks
    avr32: trim masks
    tile: don't bother with SIGTRAP in setup_frame
    microblaze: don't bother with SIGTRAP in setup_rt_frame()
    mn10300: don't bother with SIGTRAP in setup_frame()
    frv: no need to raise SIGTRAP in setup_frame()
    x86: get rid of duplicate code in case of CONFIG_VM86
    unicore32: remove pointless test
    h8300: trim _TIF_WORK_MASK
    parisc: decide whether to go to slow path (tracesys) based on thread flags
    parisc: don't bother looping in do_signal()
    parisc: fix double restarts
    bury the rest of TIF_IRET
    sanitize tsk_is_polling()
    bury _TIF_RESTORE_SIGMASK
    unicore32: unobfuscate _TIF_WORK_MASK
    mips: NOTIFY_RESUME is not needed in TIF masks
    mips: merge the identical "return from syscall" per-ABI code
    ...

    Conflicts:
    arch/arm/include/asm/thread_info.h

    Linus Torvalds
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • ... and now the asm glue side of that.

    Signed-off-by: Al Viro

    Al Viro