28 Jan, 2015

1 commit

  • commit 45db07382a5c78b0c43b3b0002b63757fb60e873 upstream.

    The __ldcw macro has a problem when its argument needs to be reloaded from
    memory. The output memory operand and the input register operand both need to
    be reloaded using a register in class R1_REGS when generating 64-bit code.
    This fails because there's only a single register in the class. Instead, use a
    memory clobber. This also makes the __ldcw macro a compiler memory barrier.

    Signed-off-by: John David Anglin
    Signed-off-by: Helge Deller
    Signed-off-by: Greg Kroah-Hartman

    John David Anglin
     

11 Nov, 2014

4 commits


20 Oct, 2014

1 commit

  • Pull audit updates from Eric Paris:
    "So this change across a whole bunch of arches really solves one basic
    problem. We want to audit when seccomp is killing a process. seccomp
    hooks in before the audit syscall entry code. audit_syscall_entry
    took as an argument the arch of the given syscall. Since the arch is
    part of what makes a syscall number meaningful it's an important part
    of the record, but it isn't available when seccomp shoots the
    syscall...

    For most arch's we have a better way to get the arch (syscall_get_arch)
    So the solution was two fold: Implement syscall_get_arch() everywhere
    there is audit which didn't have it. Use syscall_get_arch() in the
    seccomp audit code. Having syscall_get_arch() everywhere meant it was
    a useless flag on the stack and we could get rid of it for the typical
    syscall entry.

    The other changes inside the audit system aren't grand, fixed some
    records that had invalid spaces. Better locking around the task comm
    field. Removing some dead functions and structs. Make some things
    static. Really minor stuff"

    * git://git.infradead.org/users/eparis/audit: (31 commits)
    audit: rename audit_log_remove_rule to disambiguate for trees
    audit: cull redundancy in audit_rule_change
    audit: WARN if audit_rule_change called illegally
    audit: put rule existence check in canonical order
    next: openrisc: Fix build
    audit: get comm using lock to avoid race in string printing
    audit: remove open_arg() function that is never used
    audit: correct AUDIT_GET_FEATURE return message type
    audit: set nlmsg_len for multicast messages.
    audit: use union for audit_field values since they are mutually exclusive
    audit: invalid op= values for rules
    audit: use atomic_t to simplify audit_serial()
    kernel/audit.c: use ARRAY_SIZE instead of sizeof/sizeof[0]
    audit: reduce scope of audit_log_fcaps
    audit: reduce scope of audit_net_id
    audit: arm64: Remove the audit arch argument to audit_syscall_entry
    arm64: audit: Add audit hook in syscall_trace_enter/exit()
    audit: x86: drop arch from __audit_syscall_entry() interface
    sparc: implement is_32bit_task
    sparc: properly conditionalize use of TIF_32BIT
    ...

    Linus Torvalds
     

13 Oct, 2014

1 commit

  • Pull arch atomic cleanups from Ingo Molnar:
    "This is a series kept separate from the main locking tree, which
    cleans up and improves various details in the atomics type handling:

    - Remove the unused atomic_or_long() method

    - Consolidate and compress atomic ops implementations between
    architectures, to reduce linecount and to make it easier to add new
    ops.

    - Rewrite generic atomic support to only require cmpxchg() from an
    architecture - generate all other methods from that"

    * 'locking-arch-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
    locking,arch: Use ACCESS_ONCE() instead of cast to volatile in atomic_read()
    locking, mips: Fix atomics
    locking, sparc64: Fix atomics
    locking,arch: Rewrite generic atomic support
    locking,arch,xtensa: Fold atomic_ops
    locking,arch,sparc: Fold atomic_ops
    locking,arch,sh: Fold atomic_ops
    locking,arch,powerpc: Fold atomic_ops
    locking,arch,parisc: Fold atomic_ops
    locking,arch,mn10300: Fold atomic_ops
    locking,arch,mips: Fold atomic_ops
    locking,arch,metag: Fold atomic_ops
    locking,arch,m68k: Fold atomic_ops
    locking,arch,m32r: Fold atomic_ops
    locking,arch,ia64: Fold atomic_ops
    locking,arch,hexagon: Fold atomic_ops
    locking,arch,cris: Fold atomic_ops
    locking,arch,avr32: Fold atomic_ops
    locking,arch,arm64: Fold atomic_ops
    locking,arch,arm: Fold atomic_ops
    ...

    Linus Torvalds
     

12 Oct, 2014

1 commit

  • This patch reduces the value of SIGRTMIN on PARISC from 37 to 32, thus
    increasing the number of available RT signals and bring it in sync with other
    Linux architectures.

    Historically we wanted to natively support HP-UX 32bit binaries with the
    PA-RISC Linux port. Because of that we carried the various available signals
    from HP-UX (e.g. SIGEMT and SIGLOST) and folded them in between the native
    Linux signals. Although this was the right decision at that time, this
    required us to increase SIGRTMIN to at least 37 which left us with 27 (64-37)
    RT signals.

    Those 27 RT signals haven't been a problem in the past, but with the upcoming
    importance of systemd we now got the problem that systemd alloctes (hardcoded)
    signals up to SIGRTMIN+29 which is beyond our NSIG of 64. Because of that we
    have not been able to use systemd on the PARISC Linux port yet.

    Of course we could ask the systemd developers to not use those hardcoded
    values, but this change is very unlikely, esp. with PA-RISC being a niche
    architecture.

    The other possibility would be to increase NSIG to e.g. 128, but this would
    mean to duplicate most of the existing Linux signal handling code into the
    parisc specific Linux kernel tree which would most likely introduce lots of new
    bugs beside the code duplication.

    The third option is to drop some HP-UX signals and shuffle some other signals
    around to bring SIGRTMIN to 32. This is of course an ABI change, but testing
    has shown that existing Linux installations are not visibly affected by this
    change - most likely because we move those signals around which are rarely used
    and move them to slots which haven't been used in Linux yet. In an existing
    installation I was able to exchange either the Linux kernel or glibc (or both)
    without affecting the boot process and installed applications.

    Dropping the HP-UX signals isn't an issue either, since support for HP-UX was
    basically dropped a few months back with Kernel 3.14 in commit
    f5a408d53edef3af07ac7697b8bc54a755628450 already, when we changed EWOULDBLOCK
    to be equal to EAGAIN.

    So, even if this is an ABI change, it's better to change it now and thus bring
    PARISC Linux in sync with other architectures to avoid other issues in the
    future.

    Signed-off-by: Helge Deller
    Cc: Carlos O'Donell
    Cc: John David Anglin
    Cc: James Bottomley
    Cc: Aaro Koskinen
    Cc: PARISC Linux Kernel Mailinglist
    Tested-by: Aaro Koskinen

    Helge Deller
     

09 Oct, 2014

1 commit

  • Pull timer fixes from Ingo Molnar:
    "Main changes:

    - Fix the deadlock reported by Dave Jones et al
    - Clean up and fix nohz_full interaction with arch abilities
    - nohz init code consolidation/cleanup"

    * 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    nohz: nohz full depends on irq work self IPI support
    nohz: Consolidate nohz full init code
    arm64: Tell irq work about self IPI support
    arm: Tell irq work about self IPI support
    x86: Tell irq work about self IPI support
    irq_work: Force raised irq work to run on irq work interrupt
    irq_work: Introduce arch_irq_work_has_interrupt()
    nohz: Move nohz full init call to tick init

    Linus Torvalds
     

08 Oct, 2014

1 commit

  • Pull tty/serial driver updates from Greg KH:
    "Here's the big tty/serial driver patchset for 3.18-rc1.

    Lots of little things in here, some good work from Peter Hurley on the
    tty core, and in lots of drivers. There are also lots of other driver
    updates in here as well, full details in the changelogs.

    All have been in the linux-next tree for a while"

    * tag 'tty-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (99 commits)
    Revert "serial/core: Initialize the console pm state"
    tty: serial: 8250: use 32bit variable for rpm_tx_active
    tty: serial: msm: Add earlycon support
    serial/core: Initialize the console pm state
    serial: asc: Conditionally use readl_relaxed (COMPILE_TEST)
    serial: of-serial: add PM suspend/resume support
    m68k: AMIGA_BUILTIN_SERIAL should depend on TTY
    asm/uapi: Add definition of TIOC[SG]RS485
    tty/metag_da: Add console_poll module parameter
    serial: 8250_pci: remove rts_n override from Baytrail quirk
    serial: cadence: Add generic earlycon support
    serial: imx: change the wait even to interruptiable
    serial: imx: terminate the RX DMA when the UART is suspending
    serial: imx: fix throttle/unthrottle callbacks for hardware assisted flow control
    serial: 8250: Add Quark X1000 to 8250_pci.c
    tty: omap-serial: pull out calculation from baud_is_mode16
    tty: omap-serial: fix division by zero
    xen_hvc: no reason to write the type key on xenstore
    tty: serial: 8250_core: remove UART_IER_RDI in serial8250_stop_rx()
    tty: serial: 8250_core: use the ->line argument as a hint in serial8250_find_match_or_unused()
    ...

    Linus Torvalds
     

03 Oct, 2014

1 commit

  • Use the much more reader friendly ACCESS_ONCE() instead of the cast to volatile.
    This is purely a stylistic change.

    Signed-off-by: Pranith Kumar
    Acked-by: Jesper Nilsson
    Acked-by: Hans-Christian Egtvedt
    Acked-by: Max Filippov
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Linus Torvalds
    Cc: linux-arch@vger.kernel.org
    Link: http://lkml.kernel.org/r/1411482607-20948-1-git-send-email-bobby.prani@gmail.com
    Signed-off-by: Ingo Molnar

    Pranith Kumar
     

25 Sep, 2014

3 commits

  • Pull networking fixes from David Miller:
    "Here is a quick pull request primarily meant to address the deconfig
    fallout from changing SCSI_NETLINK from being used via 'select' to
    being used via 'depends'.

    I applied a set of 5 patches written by Michal Marek, and then I
    carefully audited all of the remaining config files, basically:

    1) I scanned every arch config file, and if it mentioned CONFIG_INET
    or CONFIG_UNIX, I made sure it had CONFIG_NET=y

    2) After that, I scanned every arch config file, and if it did not
    have CONFIG_NET=y I made sure it did not reference any networking
    config options.

    Finally, we have some late breaking wireless fixes in here from John
    Linville and co"

    [ And there's a sparc bpf fix snuck in too ]

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
    sparc: bpf_jit: fix loads from negative offsets
    parisc: Update defconfigs which were missing CONFIG_NET.
    powerpc: Update defconfigs which were missing CONFIG_NET.
    s390: Update defconfigs which were missing CONFIG_NET.
    mips: Update some more defconfigs which were missing CONFIG_NET.
    sparc: Set CONFIG_NET=y in defconfigs
    sh: Set CONFIG_NET=y in defconfigs
    powerpc: Set CONFIG_NET=y in defconfigs
    parisc: Set CONFIG_NET=y in defconfigs
    mips: Set CONFIG_NET=y in defconfigs
    brcmfmac: Fix off by one bug in brcmf_count_20mhz_channels()
    ath9k: Fix NULL pointer dereference on early irq
    net: rfkill: gpio: Fix clock status
    NFC: st21nfca: Fix potential depmod dependency cycle
    NFC: st21nfcb: Fix depmod dependency cycle
    NFC: microread: Potential overflows in microread_target_discovered()

    Linus Torvalds
     
  • Commit df568d8e ("scsi: Use 'depends' with LIBFC instead of
    'select'.") removed what happened to be the only instance of 'select
    NET'. Defconfigs that were relying on the select now lack networking
    support.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Commit 5d6be6a5 ("scsi_netlink : Make SCSI_NETLINK dependent on NET
    instead of selecting NET") removed what happened to be the only instance
    of 'select NET'. Defconfigs that were relying on the select now lack
    networking support.

    Reported-by: Stephen Rothwell
    Cc: linux-parisc@vger.kernel.org
    Signed-off-by: Michal Marek
    Signed-off-by: David S. Miller

    Michal Marek
     

24 Sep, 2014

3 commits

  • We have a function where the arch can be queried, syscall_get_arch().
    So rather than have every single piece of arch specific code use and/or
    duplicate syscall_get_arch(), just have the audit code use the
    syscall_get_arch() code.

    Based-on-patch-by: Richard Briggs
    Signed-off-by: Eric Paris
    Cc: linux-alpha@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-ia64@vger.kernel.org
    Cc: microblaze-uclinux@itee.uq.edu.au
    Cc: linux-mips@linux-mips.org
    Cc: linux@lists.openrisc.net
    Cc: linux-parisc@vger.kernel.org
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: linux-s390@vger.kernel.org
    Cc: linux-sh@vger.kernel.org
    Cc: sparclinux@vger.kernel.org
    Cc: user-mode-linux-devel@lists.sourceforge.net
    Cc: linux-xtensa@linux-xtensa.org
    Cc: x86@kernel.org

    Eric Paris
     
  • For all arches which support audit implement syscall_get_arch()
    They are all pretty easy and straight forward, stolen from how the call
    to audit_syscall_entry() determines the arch.

    Based-on-patch-by: Richard Briggs
    Signed-off-by: Eric Paris
    Cc: linux-ia64@vger.kernel.org
    Cc: microblaze-uclinux@itee.uq.edu.au
    Cc: linux-mips@linux-mips.org
    Cc: linux@lists.openrisc.net
    Cc: linux-parisc@vger.kernel.org
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: sparclinux@vger.kernel.org

    Eric Paris
     
  • In spite of what the GCC manual says, the -mfast-indirect-calls has
    never been supported in the 64-bit parisc compiler. Indirect calls have
    always been done using function descriptors irrespective of the
    -mfast-indirect-calls option.

    Recently, it was noticed that a function descriptor was always requested
    when the -mfast-indirect-calls option was specified. This caused
    problems when the option was used in application code and doesn't make
    any sense because the whole point of the option is to avoid using a
    function descriptor for indirect calls.

    Fixing this broke 64-bit kernel builds.

    I will fix GCC but for now we need the attached change. This results in
    the same kernel code as before.

    Signed-off-by: John David Anglin
    Cc: stable@vger.kernel.org # v3.0+
    Signed-off-by: Helge Deller

    John David Anglin
     

22 Sep, 2014

1 commit


15 Sep, 2014

1 commit


14 Sep, 2014

2 commits


10 Sep, 2014

1 commit

  • Commit: e676253b19b2d269cccf67fdb1592120a0cd0676 (serial/8250: Add
    support for RS485 IOCTLs), adds support for RS485 ioctls for 825_core on
    all the archs. Unfortunaltely the definition of TIOCSRS485 and
    TIOCGRS485 was missing on the ioctls.h file

    Signed-off-by: Ricardo Ribalda Delgado
    Signed-off-by: Greg Kroah-Hartman

    Ricardo Ribalda Delgado
     

27 Aug, 2014

2 commits


14 Aug, 2014

1 commit

  • OK, no LoC saved in this case because sub was defined in terms of add.
    Still do it because this also prepares for easy addition of new ops.

    Signed-off-by: Peter Zijlstra
    Cc: Helge Deller
    Cc: James E.J. Bottomley
    Cc: Linus Torvalds
    Cc: Paul E. McKenney
    Cc: linux-parisc@vger.kernel.org
    Link: http://lkml.kernel.org/r/20140508135852.659342353@infradead.org
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     

10 Aug, 2014

1 commit

  • Pull arch signal handling cleanup from Richard Weinberger:
    "This patch series moves all remaining archs to the get_signal(),
    signal_setup_done() and sigsp() functions.

    Currently these archs use open coded variants of the said functions.
    Further, unused parameters get removed from get_signal_to_deliver(),
    tracehook_signal_handler() and signal_delivered().

    At the end of the day we save around 500 lines of code."

    * 'signal-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc: (43 commits)
    powerpc: Use sigsp()
    openrisc: Use sigsp()
    mn10300: Use sigsp()
    mips: Use sigsp()
    microblaze: Use sigsp()
    metag: Use sigsp()
    m68k: Use sigsp()
    m32r: Use sigsp()
    hexagon: Use sigsp()
    frv: Use sigsp()
    cris: Use sigsp()
    c6x: Use sigsp()
    blackfin: Use sigsp()
    avr32: Use sigsp()
    arm64: Use sigsp()
    arc: Use sigsp()
    sas_ss_flags: Remove nested ternary if
    Rip out get_signal_to_deliver()
    Clean up signal_delivered()
    tracehook_signal_handler: Remove sig, info, ka and regs
    ...

    Linus Torvalds
     

06 Aug, 2014

1 commit


05 Aug, 2014

3 commits

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

    Lots of things in here, over 2000 patches, but the best part is this:
    1480 files changed, 39070 insertions(+), 254659 deletions(-)

    Thanks to the great work of Kristina Martšenko, 14 different staging
    drivers have been removed from the tree as they were obsolete and no
    one was willing to work on cleaning them up. Other than the driver
    removals, loads of cleanups are in here (comedi, lustre, etc.) as well
    as the usual IIO driver updates and additions.

    All of this has been in the linux-next tree for a while"

    * tag 'staging-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (2199 commits)
    staging: comedi: addi_apci_1564: remove diagnostic interrupt support code
    staging: comedi: addi_apci_1564: add subdevice to check diagnostic status
    staging: wlan-ng: coding style problem fix
    staging: wlan-ng: fixing coding style problems
    staging: comedi: ii_pci20kc: request and ioremap memory
    staging: lustre: bitwise vs logical typo
    staging: dgnc: Remove unneeded dgnc_trace.c and dgnc_trace.h
    staging: dgnc: rephrase comment
    staging: comedi: ni_tio: remove some dead code
    staging: rtl8723au: Fix static symbol sparse warning
    staging: rtl8723au: usb_dvobj_init(): Remove unused variable 'pdev_desc'
    staging: rtl8723au: Do not duplicate kernel provided USB macros
    staging: rtl8723au: Remove never set struct pwrctrl_priv.bHWPowerdown
    staging: rtl8723au: Remove two never set variables
    staging: rtl8723au: RSSI_test is never set
    staging:r8190: coding style: Fixed checkpatch reported Error
    staging:r8180: coding style: Fixed too long lines
    staging:r8180: coding style: Fixed commenting style
    staging: lustre: ptlrpc: lproc_ptlrpc.c - fix dereferenceing user space buffer
    staging: lustre: ldlm: ldlm_resource.c - fix dereferenceing user space buffer
    ...

    Linus Torvalds
     
  • Pull locking updates from Ingo Molnar:
    "The main changes in this cycle are:

    - big rtmutex and futex cleanup and robustification from Thomas
    Gleixner
    - mutex optimizations and refinements from Jason Low
    - arch_mutex_cpu_relax() removal and related cleanups
    - smaller lockdep tweaks"

    * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
    arch, locking: Ciao arch_mutex_cpu_relax()
    locking/lockdep: Only ask for /proc/lock_stat output when available
    locking/mutexes: Optimize mutex trylock slowpath
    locking/mutexes: Try to acquire mutex only if it is unlocked
    locking/mutexes: Delete the MUTEX_SHOW_NO_WAITER macro
    locking/mutexes: Correct documentation on mutex optimistic spinning
    rtmutex: Make the rtmutex tester depend on BROKEN
    futex: Simplify futex_lock_pi_atomic() and make it more robust
    futex: Split out the first waiter attachment from lookup_pi_state()
    futex: Split out the waiter check from lookup_pi_state()
    futex: Use futex_top_waiter() in lookup_pi_state()
    futex: Make unlock_pi more robust
    rtmutex: Avoid pointless requeueing in the deadlock detection chain walk
    rtmutex: Cleanup deadlock detector debug logic
    rtmutex: Confine deadlock logic to futex
    rtmutex: Simplify remove_waiter()
    rtmutex: Document pi chain walk
    rtmutex: Clarify the boost/deboost part
    rtmutex: No need to keep task ref for lock owner check
    rtmutex: Simplify and document try_to_take_rtmutex()
    ...

    Linus Torvalds
     
  • Pull tracing updates from Steven Rostedt:
    "This pull request has a lot of work done. The main thing is the
    changes to the ftrace function callback infrastructure. It's
    introducing a way to allow different functions to call directly
    different trampolines instead of all calling the same "mcount" one.

    The only user of this for now is the function graph tracer, which
    always had a different trampoline, but the function tracer trampoline
    was called and did basically nothing, and then the function graph
    tracer trampoline was called. The difference now, is that the
    function graph tracer trampoline can be called directly if a function
    is only being traced by the function graph trampoline. If function
    tracing is also happening on the same function, the old way is still
    done.

    The accounting for this takes up more memory when function graph
    tracing is activated, as it needs to keep track of which functions it
    uses. I have a new way that wont take as much memory, but it's not
    ready yet for this merge window, and will have to wait for the next
    one.

    Another big change was the removal of the ftrace_start/stop() calls
    that were used by the suspend/resume code that stopped function
    tracing when entering into suspend and resume paths. The stop of
    ftrace was done because there was some function that would crash the
    system if one called smp_processor_id()! The stop/start was a big
    hammer to solve the issue at the time, which was when ftrace was first
    introduced into Linux. Now ftrace has better infrastructure to debug
    such issues, and I found the problem function and labeled it with
    "notrace" and function tracing can now safely be activated all the way
    down into the guts of suspend and resume

    Other changes include clean ups of uprobe code, clean up of the
    trace_seq() code, and other various small fixes and clean ups to
    ftrace and tracing"

    * tag 'trace-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (57 commits)
    ftrace: Add warning if tramp hash does not match nr_trampolines
    ftrace: Fix trampoline hash update check on rec->flags
    ring-buffer: Use rb_page_size() instead of open coded head_page size
    ftrace: Rename ftrace_ops field from trampolines to nr_trampolines
    tracing: Convert local function_graph functions to static
    ftrace: Do not copy old hash when resetting
    tracing: let user specify tracing_thresh after selecting function_graph
    ring-buffer: Always run per-cpu ring buffer resize with schedule_work_on()
    tracing: Remove function_trace_stop and HAVE_FUNCTION_TRACE_MCOUNT_TEST
    s390/ftrace: remove check of obsolete variable function_trace_stop
    arm64, ftrace: Remove check of obsolete variable function_trace_stop
    Blackfin: ftrace: Remove check of obsolete variable function_trace_stop
    metag: ftrace: Remove check of obsolete variable function_trace_stop
    microblaze: ftrace: Remove check of obsolete variable function_trace_stop
    MIPS: ftrace: Remove check of obsolete variable function_trace_stop
    parisc: ftrace: Remove check of obsolete variable function_trace_stop
    sh: ftrace: Remove check of obsolete variable function_trace_stop
    sparc64,ftrace: Remove check of obsolete variable function_trace_stop
    tile: ftrace: Remove check of obsolete variable function_trace_stop
    ftrace: x86: Remove check of obsolete variable function_trace_stop
    ...

    Linus Torvalds
     

28 Jul, 2014

1 commit

  • The driver hasn't been cleaned up and it doesn't look like anyone is
    working on it anymore (including the original author). So remove it.
    If someone wants to work on cleaning the driver up and moving it out of
    staging, this commit can be reverted.

    In addition, since this removes the CONFIG_NET_VENDOR_SILICOM config
    symbol, remove the symbol from all defconfig files that reference it.

    Signed-off-by: Kristina Martšenko
    Cc: Daniel Cotey
    Signed-off-by: Greg Kroah-Hartman

    Kristina Martšenko
     

25 Jul, 2014

2 commits

  • alloc_bootmem and related function always return zeroed region of
    memory. Thus a memset after calls to these functions is unnecessary.

    The following Coccinelle semantic patch was used for making the change:

    @@
    expression E,E1;
    @@

    E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\)(...)
    ... when != E
    - memset(E,0,E1);

    Signed-off-by: Himangi Saraogi
    Acked-by: Julia Lawall
    Signed-off-by: Helge Deller

    HIMANGI SARAOGI
     
  • The sa_restorer field in struct sigaction is obsolete and no longer in
    the parisc implementation. However, the core code assumes the field is
    present if SA_RESTORER is defined. So, the define needs to be removed.

    Signed-off-by: John David Anglin
    Cc:
    Signed-off-by: Helge Deller

    John David Anglin
     

19 Jul, 2014

2 commits

  • Nothing sets function_trace_stop to disable function tracing anymore.
    Remove the check for it in the arch code.

    Link: http://lkml.kernel.org/r/53B08317.7010501@gmx.de

    Cc: Kyle McMartin
    Acked-by: Helge Deller
    Signed-off-by: Steven Rostedt

    Steven Rostedt (Red Hat)
     
  • ftrace_stop() is going away as it disables parts of function tracing
    that affects users that should not be affected. But ftrace_graph_stop()
    is built on ftrace_stop(). Here's another example of killing all of
    function tracing because something went wrong with function graph
    tracing.

    Instead of disabling all users of function tracing on function graph
    error, disable only function graph tracing. To do this, the arch code
    must call ftrace_graph_is_dead() before it implements function graph.

    Link: http://lkml.kernel.org/r/53B08317.7010501@gmx.de

    Cc: Kyle McMartin
    Acked-by: Helge Deller
    Signed-off-by: Steven Rostedt

    Steven Rostedt (Red Hat)
     

17 Jul, 2014

1 commit

  • The arch_mutex_cpu_relax() function, introduced by 34b133f, is
    hacky and ugly. It was added a few years ago to address the fact
    that common cpu_relax() calls include yielding on s390, and thus
    impact the optimistic spinning functionality of mutexes. Nowadays
    we use this function well beyond mutexes: rwsem, qrwlock, mcs and
    lockref. Since the macro that defines the call is in the mutex header,
    any users must include mutex.h and the naming is misleading as well.

    This patch (i) renames the call to cpu_relax_lowlatency ("relax, but
    only if you can do it with very low latency") and (ii) defines it in
    each arch's asm/processor.h local header, just like for regular cpu_relax
    functions. On all archs, except s390, cpu_relax_lowlatency is simply cpu_relax,
    and thus we can take it out of mutex.h. While this can seem redundant,
    I believe it is a good choice as it allows us to move out arch specific
    logic from generic locking primitives and enables future(?) archs to
    transparently define it, similarly to System Z.

    Signed-off-by: Davidlohr Bueso
    Signed-off-by: Peter Zijlstra
    Cc: Andrew Morton
    Cc: Anton Blanchard
    Cc: Aurelien Jacquiot
    Cc: Benjamin Herrenschmidt
    Cc: Bharat Bhushan
    Cc: Catalin Marinas
    Cc: Chen Liqin
    Cc: Chris Metcalf
    Cc: Christian Borntraeger
    Cc: Chris Zankel
    Cc: David Howells
    Cc: David S. Miller
    Cc: Deepthi Dharwar
    Cc: Dominik Dingel
    Cc: Fenghua Yu
    Cc: Geert Uytterhoeven
    Cc: Guan Xuetao
    Cc: Haavard Skinnemoen
    Cc: Hans-Christian Egtvedt
    Cc: Heiko Carstens
    Cc: Helge Deller
    Cc: Hirokazu Takata
    Cc: Ivan Kokshaysky
    Cc: James E.J. Bottomley
    Cc: James Hogan
    Cc: Jason Wang
    Cc: Jesper Nilsson
    Cc: Joe Perches
    Cc: Jonas Bonn
    Cc: Joseph Myers
    Cc: Kees Cook
    Cc: Koichi Yasutake
    Cc: Lennox Wu
    Cc: Linus Torvalds
    Cc: Mark Salter
    Cc: Martin Schwidefsky
    Cc: Matt Turner
    Cc: Max Filippov
    Cc: Michael Neuling
    Cc: Michal Simek
    Cc: Mikael Starvik
    Cc: Nicolas Pitre
    Cc: Paolo Bonzini
    Cc: Paul Burton
    Cc: Paul E. McKenney
    Cc: Paul Gortmaker
    Cc: Paul Mackerras
    Cc: Qais Yousef
    Cc: Qiaowei Ren
    Cc: Rafael Wysocki
    Cc: Ralf Baechle
    Cc: Richard Henderson
    Cc: Richard Kuo
    Cc: Russell King
    Cc: Steven Miao
    Cc: Steven Rostedt
    Cc: Stratos Karafotis
    Cc: Tim Chen
    Cc: Tony Luck
    Cc: Vasily Kulikov
    Cc: Vineet Gupta
    Cc: Vineet Gupta
    Cc: Waiman Long
    Cc: Will Deacon
    Cc: Wolfram Sang
    Cc: adi-buildroot-devel@lists.sourceforge.net
    Cc: linux390@de.ibm.com
    Cc: linux-alpha@vger.kernel.org
    Cc: linux-am33-list@redhat.com
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-c6x-dev@linux-c6x.org
    Cc: linux-cris-kernel@axis.com
    Cc: linux-hexagon@vger.kernel.org
    Cc: linux-ia64@vger.kernel.org
    Cc: linux@lists.openrisc.net
    Cc: linux-m32r-ja@ml.linux-m32r.org
    Cc: linux-m32r@ml.linux-m32r.org
    Cc: linux-m68k@lists.linux-m68k.org
    Cc: linux-metag@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Cc: linux-parisc@vger.kernel.org
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: linux-s390@vger.kernel.org
    Cc: linux-sh@vger.kernel.org
    Cc: linux-xtensa@linux-xtensa.org
    Cc: sparclinux@vger.kernel.org
    Link: http://lkml.kernel.org/r/1404079773.2619.4.camel@buesod1.americas.hpqcorp.net
    Signed-off-by: Ingo Molnar

    Davidlohr Bueso
     

14 Jul, 2014

1 commit

  • Pull parisc fixes from Helge Deller:
    "The major patch in here is one which fixes the fanotify_mark() syscall
    in the compat layer of the 64bit parisc kernel. It went unnoticed so
    long, because the calling syntax when using a 64bit parameter in a
    32bit syscall is quite complex and even worse, it may be even
    different if you call syscall() or the glibc wrapper. This patch
    makes the kernel accept the calling convention when called by the
    glibc wrapper.

    The other two patches are trivial and remove unused headers, #includes
    and adds the serial ports of the fastest C8000 workstation to the
    parisc-kernel internal hardware database"

    * 'parisc-3.16-5' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
    parisc: drop unused defines and header includes
    parisc: fix fanotify_mark() syscall on 32bit compat kernel
    parisc: add serial ports of C8000/1GHz machine to hardware database

    Linus Torvalds
     

13 Jul, 2014

3 commits

  • Signed-off-by: Helge Deller
    Cc: stable@vger.kernel.org # 3.13+

    Helge Deller
     
  • On parisc we can not use the existing compat implementation for fanotify_mark()
    because for the 64bit mask parameter the higher and lower 32bits are ordered
    differently than what the compat function expects from big endian
    architectures.

    Specifically:
    It finally turned out, that on hppa we end up with different assignments
    of parameters to kernel arguments depending on if we call the glibc
    wrapper function
    int fanotify_mark (int __fanotify_fd, unsigned int __flags,
    uint64_t __mask, int __dfd, const char *__pathname);
    or directly calling the syscall manually
    syscall(__NR_fanotify_mark, ...)

    Reason is, that the syscall() function is implemented as C-function and
    because we now have the sysno as first parameter in front of the other
    parameters the compiler will unexpectedly add an empty paramenter in
    front of the u64 value to ensure the correct calling alignment for 64bit
    values.
    This means, on hppa you can't simply use syscall() to call the kernel
    fanotify_mark() function directly, but you have to use the glibc
    function instead.

    This patch fixes the kernel in the hppa-arch specifc coding to adjust
    the parameters in a way as if userspace calls the glibc wrapper function
    fanotify_mark().

    Signed-off-by: Helge Deller
    Cc: stable@vger.kernel.org # 3.13+

    Helge Deller
     
  • Signed-off-by: Helge Deller
    Cc: stable@vger.kernel.org # 3.13+

    Helge Deller