|
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.