|
|
Message-ID: <CAGXu5j+soho2i80-28D3OkSTJfTgtyFRKkQzCFcAaXFe2NtGxA@mail.gmail.com>
Date: Sat, 29 Oct 2016 14:04:50 -0700
From: Kees Cook <keescook@...omium.org>
To: David Windsor <dwindsor@...il.com>
Cc: "kernel-hardening@...ts.openwall.com" <kernel-hardening@...ts.openwall.com>,
"Reshetova, Elena" <elena.reshetova@...el.com>, Hans Liljestrand <ishkamiel@...il.com>,
AKASHI Takahiro <takahiro.akashi@...aro.org>, Colin Vidal <colin@...dal.org>
Subject: Re: [RFC PATCH 0/5] Expand HARDENED_ATOMIC overflow protection
On Sat, Oct 29, 2016 at 9:19 AM, David Windsor <dwindsor@...il.com> wrote:
> 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.
Very cool! This will be a nice addition. :)
-Kees
>
> 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
>
--
Kees Cook
Nexus Security
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.