mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Namhyung Kim <namhyung@gmail.com>
To: Roland McGrath <roland@redhat.com>,
	Oleg Nesterov <oleg@redhat.com>, Arnd Bergmann <arnd@arndb.de>
Cc: linux-kernel@vger.kernel.org
Subject: [RFC PATCH 00/43] ptrace cleanups
Date: Fri, 27 Aug 2010 18:41:46 +0900	[thread overview]
Message-ID: <1282902149-12991-1-git-send-email-namhyung@gmail.com> (raw)

Hello,

This patchset tries to cleanup architecture independent/dependent part of
ptrace syscall. Specifically it changes prototype of sys_ptrace() to have
its arguments @addr and @data to be unsigned long. Since user space API of
ptrace() declares them as void pointers, and most of archs consider them
unsigned already in their arch_ptrace(), it would be no harmful to change
them from (signed) long into unsigned long, IMHO.

ptrace() code accesses user area using above arguments frequently, changing
them enables to drop unnecessary __force markup when casting them to __user
pointers because sparse allows it only in case of unsigned long. And some
duplicated/misused castings can be grouped into one place in favor of new
variables to cleanup code further. This was suggested by Arnd Bergmann and
comment from Christoph Hellwig was also helpful.

Although I couldn't test all archs, I hope it will not break anything.
Exceptional case will be "03/43 ptrace: change signature of arch_ptrace()"
commit since it changes prototype of arch_ptrace() in system header file.
It *will* break your build if it is applied alone, please use it with
your arch counterpart. The same goes vice versa, of course.

Any comments would be appreciated.
Thanks.


Namhyung Kim (43):
  ptrace: change signature of sys_ptrace() and friends
  ptrace: cleanup ptrace_request()
  ptrace: change signature of arch_ptrace()
  ptrace, x86: change signature of arch_ptrace()
  ptrace, x86: cleanup arch_ptrace()
  ptrace, alpha: change signature of arch_ptrace()
  ptrace, arm: change signature of arch_ptrace()
  ptrace, arm: cleanup arch_ptrace()
  ptrace, avr32: change signature of arch_ptrace()
  ptrace, avr32: cleanup arch_ptrace()
  ptrace, blackfin: change signature of arch_ptrace()
  ptrace, cris-v10: change signature of arch_ptrace()
  ptrace, cris-v32: change signature of arch_ptrace()
  ptrace, frv: change signature of arch_ptrace()
  ptrace, frv: cleanup arch_ptrace()
  ptrace, h8300: change signature of arch_ptrace()
  ptrace, h8300: cleanup arch_ptrace()
  ptrace, ia64: change signature of arch_ptrace()
  ptrace, m32r: change signature of arch_ptrace()
  ptrace, m32r: cleanup arch_ptrace()
  ptrace, m68k: change signature of arch_ptrace()
  ptrace, m68k: cleanup arch_ptrace()
  ptrace, m68knommu: change signature of arch_ptrace()
  ptrace, m68knommu: cleanup arch_ptrace()
  ptrace, microblaze: change signature of arch_ptrace()
  ptrace, mips: change signature of arch_ptrace()
  ptrace, mips: cleanup arch_ptrace()
  ptrace, mn10300: change signature of arch_ptrace()
  ptrace, mn10300: cleanup arch_ptrace()
  ptrace, parisc: change signature of arch_ptrace()
  ptrace, powerpc: change signature of arch_ptrace()
  ptrace, powerpc: cleanup arch_ptrace()
  ptrace, s390: change signature of arch_ptrace()
  ptrace, score: change signature of arch_ptrace()
  ptrace, sh: change signature of arch_ptrace()
  ptrace, sh: cleanup arch_ptrace()
  ptrace, sparc: change signature of arch_ptrace()
  ptrace, sparc: cleanup arch_ptrace()
  ptrace, tile: change signature of arch_ptrace()
  ptrace, um: change signature of arch_ptrace()
  ptrace, um: cleanup arch_ptrace()
  ptrace, xtensa: change signature of arch_ptrace()
  ptrace, xtensa: cleanup arch_ptrace()

 arch/alpha/kernel/ptrace.c         |    7 ++--
 arch/arm/kernel/ptrace.c           |   36 +++++++++++--------
 arch/avr32/kernel/ptrace.c         |   11 +++---
 arch/blackfin/kernel/ptrace.c      |   16 +++++----
 arch/cris/arch-v10/kernel/ptrace.c |   11 +++---
 arch/cris/arch-v32/kernel/ptrace.c |    7 ++--
 arch/frv/kernel/ptrace.c           |   32 ++++++++---------
 arch/h8300/kernel/ptrace.c         |   33 +++++++++--------
 arch/ia64/kernel/ptrace.c          |    3 +-
 arch/m32r/kernel/ptrace.c          |   11 +++---
 arch/m68k/kernel/ptrace.c          |   51 +++++++++++++-------------
 arch/m68knommu/kernel/ptrace.c     |   70 ++++++++++++++++++-----------------
 arch/microblaze/kernel/ptrace.c    |    7 ++--
 arch/mips/kernel/ptrace.c          |   26 +++++++------
 arch/mn10300/kernel/ptrace.c       |   20 +++++-----
 arch/parisc/kernel/ptrace.c        |   13 ++++---
 arch/powerpc/kernel/ptrace.c       |   70 +++++++++++++++++++----------------
 arch/s390/kernel/ptrace.c          |    3 +-
 arch/score/kernel/ptrace.c         |    7 ++--
 arch/sh/kernel/ptrace_32.c         |   51 ++++++++++++++------------
 arch/sh/kernel/ptrace_64.c         |   27 ++++++++------
 arch/sparc/kernel/ptrace_32.c      |   57 +++++++++++------------------
 arch/sparc/kernel/ptrace_64.c      |   15 ++++----
 arch/tile/kernel/ptrace.c          |   11 +++---
 arch/um/kernel/ptrace.c            |   26 +++++++-------
 arch/um/sys-i386/ptrace.c          |    4 +-
 arch/um/sys-x86_64/ptrace.c        |   11 +++---
 arch/x86/kernel/ptrace.c           |   23 +++++-------
 arch/xtensa/kernel/ptrace.c        |   14 ++++---
 include/linux/ptrace.h             |   12 ++++--
 include/linux/syscalls.h           |    3 +-
 kernel/ptrace.c                    |   29 +++++++++------
 32 files changed, 375 insertions(+), 342 deletions(-)

--
1.7.2.2


             reply	other threads:[~2010-08-27  9:42 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-27  9:41 Namhyung Kim [this message]
2010-08-27  9:41 ` [RFC PATCH 01/43] ptrace: change signature of sys_ptrace() and friends Namhyung Kim
2010-08-27 13:21   ` Arnd Bergmann
2010-08-27 15:55     ` Namhyung Kim
2010-08-27  9:41 ` [RFC PATCH 02/43] ptrace: cleanup ptrace_request() Namhyung Kim
2010-08-27 14:23   ` Arnd Bergmann
2010-08-27 16:13     ` Namhyung Kim
2010-08-27 19:26       ` Arnd Bergmann
2010-08-27  9:41 ` [RFC PATCH 03/43] ptrace: change signature of arch_ptrace() Namhyung Kim
2010-08-27 14:28   ` Arnd Bergmann
2010-08-27 16:20     ` Namhyung Kim
2010-08-29 13:40       ` Arnd Bergmann
2010-08-27  9:41 ` [RFC PATCH 04/43] ptrace, x86: " Namhyung Kim
2010-08-27  9:41 ` [RFC PATCH 05/43] ptrace, x86: cleanup arch_ptrace() Namhyung Kim
2010-08-27  9:41 ` [RFC PATCH 06/43] ptrace, alpha: change signature of arch_ptrace() Namhyung Kim
2010-08-27  9:41 ` [RFC PATCH 07/43] ptrace, arm: " Namhyung Kim
2010-08-27  9:41 ` [RFC PATCH 08/43] ptrace, arm: cleanup arch_ptrace() Namhyung Kim
2010-08-27  9:41 ` [RFC PATCH 09/43] ptrace, avr32: change signature of arch_ptrace() Namhyung Kim
2010-08-27  9:41 ` [RFC PATCH 10/43] ptrace, avr32: cleanup arch_ptrace() Namhyung Kim
2010-08-30 12:34   ` Haavard Skinnemoen
2010-08-27  9:41 ` [RFC PATCH 11/43] ptrace, blackfin: change signature of arch_ptrace() Namhyung Kim
2010-08-27  9:41 ` [RFC PATCH 12/43] ptrace, cris-v10: " Namhyung Kim
2010-08-27  9:41 ` [RFC PATCH 13/43] ptrace, cris-v32: " Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 14/43] ptrace, frv: " Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 15/43] ptrace, frv: cleanup arch_ptrace() Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 16/43] ptrace, h8300: change signature of arch_ptrace() Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 17/43] ptrace, h8300: cleanup arch_ptrace() Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 18/43] ptrace, ia64: change signature of arch_ptrace() Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 19/43] ptrace, m32r: " Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 20/43] ptrace, m32r: cleanup arch_ptrace() Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 21/43] ptrace, m68k: change signature of arch_ptrace() Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 22/43] ptrace, m68k: cleanup arch_ptrace() Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 23/43] ptrace, m68knommu: change signature of arch_ptrace() Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 24/43] ptrace, m68knommu: cleanup arch_ptrace() Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 25/43] ptrace, microblaze: change signature of arch_ptrace() Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 26/43] ptrace, mips: " Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 27/43] ptrace, mips: cleanup arch_ptrace() Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 28/43] ptrace, mn10300: change signature of arch_ptrace() Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 29/43] ptrace, mn10300: cleanup arch_ptrace() Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 30/43] ptrace, parisc: change signature of arch_ptrace() Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 31/43] ptrace, powerpc: " Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 32/43] ptrace, powerpc: cleanup arch_ptrace() Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 33/43] ptrace, s390: change signature of arch_ptrace() Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 34/43] ptrace, score: " Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 35/43] ptrace, sh: " Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 36/43] ptrace, sh: cleanup arch_ptrace() Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 37/43] ptrace, sparc: change signature of arch_ptrace() Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 38/43] ptrace, sparc: cleanup arch_ptrace() Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 39/43] ptrace, tile: change signature of arch_ptrace() Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 40/43] ptrace, um: " Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 41/43] ptrace, um: cleanup arch_ptrace() Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 42/43] ptrace, xtensa: change signature of arch_ptrace() Namhyung Kim
2010-08-27  9:42 ` [RFC PATCH 43/43] ptrace, xtensa: cleanup arch_ptrace() Namhyung Kim
2010-08-27 11:01 ` [RFC PATCH 14/43] ptrace, frv: change signature of arch_ptrace() David Howells
2010-08-27 11:15   ` Namhyung Kim
2010-08-27 12:12   ` David Howells
2010-08-27 12:58     ` Namhyung Kim
2010-08-27 13:23     ` David Howells
2010-08-27 15:53       ` Namhyung Kim
2010-08-27 16:30 ` [RFC PATCH 00/43] ptrace cleanups Mike Frysinger
2010-08-30  0:14 ` Roland McGrath
2010-08-30 14:02   ` Namhyung Kim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1282902149-12991-1-git-send-email-namhyung@gmail.com \
    --to=namhyung@gmail.com \
    --cc=arnd@arndb.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oleg@redhat.com \
    --cc=roland@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®