|
|
Message-Id: <1477757996-22468-1-git-send-email-dwindsor@gmail.com>
Date: Sat, 29 Oct 2016 12:19:51 -0400
From: David Windsor <dwindsor@...il.com>
To: kernel-hardening@...ts.openwall.com
Cc: keescook@...omium.org,
elena.reshetova@...el.com,
ishkamiel@...il.com,
takahiro.akashi@...aro.org,
colin@...dal.org,
dwindsor@...il.com
Subject: [RFC PATCH 0/5] Expand HARDENED_ATOMIC overflow protection
Expand HARDENED_ATOMIC overflow protection to cover more kernel reference
counters.
The original HARDENED_ATOMIC series adds overflow protection to existing kernel
users of atomic_t. This series creates 8 new users of atomic_t:
* struct fs_struct.users
* struct tty_port.count
* struct tty_ldisc_ops.refcount
* struct pipe_inode_info.{readers|writers|files|waiting_writers}
* struct kmem_cache.refcount
This series changes the type of these variables to atomic_t, thus affording them
the overflow protection provided by HARDENED_ATOMIC.
This is based upon work done by the PaX Team [1].
[1] https://forums.grsecurity.net/viewtopic.php?f=7&t=4173
David Windsor (5):
fs: add overflow protection to struct fs_struct.users
tty: add overflow protection to struct tty_port.count
tty: add overflow protection to struct tty_ldisc_ops.refcount
fs: add overflow protection to struct
pipe_inode_info.{readers|writers|files|waiting_writers}
mm: add overflow protection to struct kmem_cache.refcount
arch/um/drivers/line.c | 2 +-
drivers/char/pcmcia/synclink_cs.c | 16 ++++-----
drivers/isdn/gigaset/interface.c | 8 ++---
drivers/isdn/i4l/isdn_tty.c | 22 ++++++-------
drivers/net/usb/hso.c | 22 ++++++-------
drivers/s390/char/tty3270.c | 2 +-
drivers/staging/gdm724x/gdm_tty.c | 2 +-
drivers/tty/amiserial.c | 4 +--
drivers/tty/bfin_jtag_comm.c | 4 +--
drivers/tty/cyclades.c | 8 ++---
drivers/tty/hvc/hvc_console.c | 14 ++++----
drivers/tty/hvc/hvcs.c | 20 ++++++------
drivers/tty/hvc/hvsi.c | 10 +++---
drivers/tty/ipwireless/tty.c | 26 +++++++--------
drivers/tty/moxa.c | 2 +-
drivers/tty/n_gsm.c | 2 +-
drivers/tty/n_tty.c | 3 +-
drivers/tty/rocket.c | 8 ++---
drivers/tty/serial/crisv10.c | 34 ++++++++++----------
drivers/tty/serial/serial_core.c | 4 +--
drivers/tty/synclink.c | 32 +++++++++---------
drivers/tty/synclink_gt.c | 28 ++++++++--------
drivers/tty/synclinkmp.c | 34 ++++++++++----------
drivers/tty/tty_ldisc.c | 8 ++---
drivers/tty/tty_port.c | 22 ++++++-------
drivers/usb/gadget/function/u_serial.c | 22 ++++++-------
drivers/usb/serial/console.c | 6 ++--
fs/coredump.c | 10 +++---
fs/exec.c | 2 +-
fs/fs_struct.c | 8 ++---
fs/namespace.c | 2 +-
fs/pipe.c | 59 +++++++++++++++++-----------------
fs/proc/task_nommu.c | 2 +-
fs/splice.c | 36 ++++++++++-----------
include/linux/fs_struct.h | 2 +-
include/linux/pipe_fs_i.h | 8 ++---
include/linux/slab_def.h | 2 +-
include/linux/slub_def.h | 2 +-
include/linux/tty.h | 4 +--
include/linux/tty_ldisc.h | 2 +-
kernel/fork.c | 6 ++--
kernel/user_namespace.c | 2 +-
mm/slab.c | 2 +-
mm/slab.h | 2 +-
mm/slab_common.c | 12 +++----
mm/slub.c | 10 +++---
net/bluetooth/rfcomm/tty.c | 4 +--
net/irda/ircomm/ircomm_tty.c | 18 +++++------
48 files changed, 281 insertions(+), 279 deletions(-)
--
2.7.4
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.