lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 01 Dec 2017 13:39:12 -0800 (PST)
From:   Palmer Dabbelt <palmer@...ive.com>
To:     Linus Torvalds <torvalds@...ux-foundation.org>
CC:     linux-kernel@...r.kernel.org, patches@...ups.riscv.org
Subject: [GIT PULL] RISC-V Cleanups and ABI Fixes for 4.15-rc2

The following changes since commit 4fbd8d194f06c8a3fd2af1ce560ddb31f7ec8323:

  Linux 4.15-rc1 (2017-11-26 16:01:47 -0800)

are available in the git repository at:

  ssh://git@...olite.kernel.org/pub/scm/linux/kernel/git/palmer/linux.git tags/riscv-for-linus-4.15-rc2_cleanups

for you to fetch changes up to 3b62de26cf5ef17340a0e986d3e53eb4f74f96d5:

  RISC-V: Fixes for clean allmodconfig build (2017-12-01 13:31:31 -0800)

----------------------------------------------------------------
RISC-V Cleanups and ABI Fixes for 4.15-rc2

This tag contains a handful of small cleanups that are a result of
feedback that didn't make it into our original patch set, either because
the feedback hadn't been given yet, I missed the original emails, or
we weren't ready to submit the changes yet.

I've been maintaining the various cleanup patch sets I have as their own
branches, which I then merged together and signed.  Each merge commit
has a short summary of the changes, and each branch is based on your
latest tag (4.15-rc1, in this case).  If this isn't the right way to do
this then feel free to suggest something else, but it seems sane to me.

Here's a short summary of the changes, roughly in order of how
interesting they are.

* libgcc.h has been moved from include/lib, where it's the only member,
  to include/linux.  This is meant to avoid tab completion conflicts.
* VDSO entries for clock_get/gettimeofday/getcpu have been added.  These
  are simple syscalls now, but we want to let glibc use them from the
  start so we can make them faster later.
* A VDSO entry for instruction cache flushing has been added so
  userspace can flush the instruction cache.
* The VDSO symbol versions for __vdso_cmpxchg{32,64} have been removed,
  as those VDSO entries don't actually exist.
* __io_writes has been corrected to respect the given type.
* A new READ_ONCE in arch_spin_is_locked().
* __test_and_op_bit_ord() is now actually ordered.
* Various small fixes throughout the tree to enable allmodconfig to
  build cleanly.
* Removal of some dead code in our atomic support headers.
* Improvements to various comments in our atomic support headers.

----------------------------------------------------------------
Andrew Waterman (3):
      RISC-V: Add VDSO entries for clock_get/gettimeofday/getcpu
      RISC-V: Flush I$ when making a dirty page executable
      RISC-V: Allow userspace to flush the instruction cache

Christoph Hellwig (1):
      move libgcc.h to include/linux

Olof Johansson (8):
      RISC-V: use generic serial.h
      RISC-V: use RISCV_{INT,SHORT} instead of {INT,SHORT} for asm macros
      RISC-V: io.h: type fixes for warnings
      RISC-V: move empty_zero_page definition to C and export it
      RISC-V: Export some expected symbols for modules
      RISC-V: Provide stub of setup_profiling_timer()
      RISC-V: Use define for get_cycles like other architectures
      RISC-V: Add missing include

Palmer Dabbelt (16):
      RISC-V: Remove __vdso_cmpxchg{32,64} symbol versions
      RISC-V: Remove unused arguments from ATOMIC_OP
      RISC-V: Comment on why {,cmp}xchg is ordered how it is
      RISC-V: Remove __smp_bp__{before,after}_atomic
      RISC-V: Remove smb_mb__{before,after}_spinlock()
      RISC-V: __test_and_op_bit_ord should be strongly ordered
      RISC-V: Add READ_ONCE in arch_spin_is_locked()
      RISC-V: `sfence.vma` orderes the instruction cache
      RISC-V: remove spin_unlock_wait()
      RISC-V: Clean up an unused include
      RISC-V: __io_writes should respect the length argument
      RISC-V Atomic Cleanups
      RISC-V: User-Visible Changes
      RISC-V: __io_writes should respect the length argument
      move libgcc.h to include/linux
      RISC-V: Fixes for clean allmodconfig build

 arch/riscv/include/asm/Kbuild          |   1 +
 arch/riscv/include/asm/asm.h           |  12 ++--
 arch/riscv/include/asm/atomic.h        | 103 +++++++++++++++++----------------
 arch/riscv/include/asm/barrier.h       |  23 --------
 arch/riscv/include/asm/bitops.h        |   2 +-
 arch/riscv/include/asm/bug.h           |   6 +-
 arch/riscv/include/asm/cacheflush.h    |  30 ++++++++--
 arch/riscv/include/asm/io.h            |  18 +++---
 arch/riscv/include/asm/mmu.h           |   4 ++
 arch/riscv/include/asm/mmu_context.h   |  45 ++++++++++++++
 arch/riscv/include/asm/pgtable.h       |  58 ++++++++++---------
 arch/riscv/include/asm/spinlock.h      |  11 +---
 arch/riscv/include/asm/timex.h         |   3 +-
 arch/riscv/include/asm/tlbflush.h      |   7 ++-
 arch/riscv/include/asm/vdso-syscalls.h |  28 +++++++++
 arch/riscv/include/asm/vdso.h          |   4 ++
 arch/riscv/kernel/head.S               |   3 -
 arch/riscv/kernel/riscv_ksyms.c        |   3 +
 arch/riscv/kernel/setup.c              |   5 ++
 arch/riscv/kernel/smp.c                |  55 ++++++++++++++++++
 arch/riscv/kernel/sys_riscv.c          |  33 ++++++++++-
 arch/riscv/kernel/syscall_table.c      |   2 +
 arch/riscv/kernel/vdso/Makefile        |   7 ++-
 arch/riscv/kernel/vdso/clock_getres.S  |  26 +++++++++
 arch/riscv/kernel/vdso/clock_gettime.S |  26 +++++++++
 arch/riscv/kernel/vdso/flush_icache.S  |  31 ++++++++++
 arch/riscv/kernel/vdso/getcpu.S        |  26 +++++++++
 arch/riscv/kernel/vdso/gettimeofday.S  |  26 +++++++++
 arch/riscv/kernel/vdso/vdso.lds.S      |   7 ++-
 arch/riscv/lib/delay.c                 |   1 +
 arch/riscv/mm/Makefile                 |   1 +
 arch/riscv/mm/cacheflush.c             |  23 ++++++++
 arch/riscv/mm/ioremap.c                |   2 +-
 include/{lib => linux}/libgcc.h        |   0
 lib/ashldi3.c                          |   2 +-
 lib/ashrdi3.c                          |   2 +-
 lib/cmpdi2.c                           |   2 +-
 lib/lshrdi3.c                          |   2 +-
 lib/muldi3.c                           |   2 +-
 lib/ucmpdi2.c                          |   2 +-
 40 files changed, 498 insertions(+), 146 deletions(-)
 create mode 100644 arch/riscv/include/asm/vdso-syscalls.h
 create mode 100644 arch/riscv/kernel/vdso/clock_getres.S
 create mode 100644 arch/riscv/kernel/vdso/clock_gettime.S
 create mode 100644 arch/riscv/kernel/vdso/flush_icache.S
 create mode 100644 arch/riscv/kernel/vdso/getcpu.S
 create mode 100644 arch/riscv/kernel/vdso/gettimeofday.S
 create mode 100644 arch/riscv/mm/cacheflush.c
 rename include/{lib => linux}/libgcc.h (100%)

Powered by blists - more mailing lists