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>] [day] [month] [year] [list]
Message-ID: <20160112035437.GS17997@ZenIV.linux.org.uk>
Date:	Tue, 12 Jan 2016 03:54:38 +0000
From:	Al Viro <viro@...IV.linux.org.uk>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
Cc:	linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org
Subject: [git pull] vfs.git, part 6: misc stuff

	All kinds of stuff.  That probably should've been 5 or 6 separate
branches, but by the time I'd realized how large and mixed that bag had
become it had been too close to -final to play with rebasing.  If you
think it's too large, I can feed it in several pieces - just tell.  I've
some ideas on how to prevent something of that size developing the next
cycle...

	Some fs/namei.c cleanups there, memdup_user_nul() introduction
and switching open-coded instances, burying long-dead code, whack-a-mole
of various kinds, several new helpers for ->llseek(), assorted cleanups
and fixes from various people, etc.

	One piece probably deserves special mention - Neil's
lookup_one_len_unlocked().  Similar to lookup_one_len(), but gets
called without ->i_mutex and tries to avoid ever taking it.  That,
of course, means that it's not useful for any directory modifications,
but things like getting inode attributes in nfds readdirplus are fine
with that.  I really should've asked for moratorium on lookup-related
changes this cycle, but since I hadn't done that early enough...
I *am* asking for that for the coming cycle, though - I'm going to
try and get conversion of i_mutex to rwsem with ->lookup() done under
lock taken shared.

	There will be a patch closer to the end of the window, along the
lines of the one Linus had posted last May - mechanical conversion of
->i_mutex accesses to inode_lock()/inode_unlock()/inode_trylock()/
inode_is_locked()/inode_lock_nested().  To quote Linus back then:
-----
|    This is an automated patch using
|    
|        sed 's/mutex_lock(&\(.*\)->i_mutex)/inode_lock(\1)/'
|        sed 's/mutex_unlock(&\(.*\)->i_mutex)/inode_unlock(\1)/'
|        sed 's/mutex_lock_nested(&\(.*\)->i_mutex,[     ]*I_MUTEX_\([A-Z0-9_]*\))/inode_lock_nested(\1, I_MUTEX_\2)/'
|        sed 's/mutex_is_locked(&\(.*\)->i_mutex)/inode_is_locked(\1)/'
|        sed 's/mutex_trylock(&\(.*\)->i_mutex)/inode_trylock(\1)/'
|    
|    with a very few manual fixups
-----
	I'm going to send that once the ->i_mutex-affecting stuff in
-next gets mostly merged (or when Linus says he's about to stop taking
merges).

	One trivial conflict in lustre (between the lustre side of
symlink stuff and Julia's one-liner constifying lustre symlink inode_operations
in this branch.  Resolved in obvious way...

Unless you'd rather take it in several stages, please pull from

git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git work.misc

Shortlog:
Abhi Das (1):
      fs: __generic_file_splice_read retry lookup on AOP_TRUNCATED_PAGE

Al Viro (38):
      9p/trans_virtio: don't bother with p9_tag_lookup()
      vgaarb: remove bogus checks
      f2fs: it's umode_t, not mode_t...
      don't opencode iget_failed()
      namei.c: fold set_root_rcu() into set_root()
      path_init(): set nd->inode earlier in cwd-relative case
      namei.c: take "jump to root" into a new helper
      restore_nameidata(): no need to clear now->stack
      don't open-code generic_file_llseek_size()
      new helpers: no_seek_end_llseek{,_size}()
      [mips] switch pvc_proc_cleanup() to remove_proc_subtree()
      new helper: memdup_user_nul()
      convert a bunch of open-coded instances of memdup_user_nul()
      selinuxfs: switch to memdup_user_nul()
      switch wireless debugfs ->write() instances to memdup_user_nul()
      cciss: switch to memdup_user_nul()
      kernel/*: switch to memdup_user_nul()
      proc_pid_attr_write(): switch to memdup_user()
      put the remnants of ..._user_ret() to rest
      ppc: get rid of the remnants of __get_user64()
      fix the leak in integrity_read_file()
      saner calling conventions for copy_mount_options()
      don't carry MAY_OPEN in op->acc_mode
      drivers/mtd/maps/pcmciamtd.c: __iomem annotations
      hpfs: missing endianness annotation
      dm-bufio: virt_to_phys() doesn't change remainder modulo PAGE_SIZE
      md: more open-coded offset_in_page()
      ... and a couple in net/9p
      jfs: microoptimize get_zeroed_page / virt_to_page
      HFS wants 8Kb per-superblock allocation; just use kmalloc()
      [um] hostaudio: don't open-code memdup_user()
      [um] mconsole: don't open-code memdup_user_nul()
      mtip32xx: don't open-code memdup_user()
      rsxx: don't open-code memdup_user()
      cdrom: don't open-code memdup_user()
      amdkfd: don't open-code memdup_user()
      nbd: use ->compat_ioctl()
      [s390] page_to_phys() always returns a multiple of PAGE_SIZE

Arnd Bergmann (1):
      coredump: Use 64bit time for unix time of coredump

DengChao (1):
      fs:affs:Replace time_t with time64_t

Dmitry Monakhov (3):
      fs: use gendisk->disk_name where possible
      lib/vsprintf: add %*pg format specifier
      fs: use block_device name vsprintf helper

Dmitry V. Levin (3):
      vfs: show_vfsmnt: remove redundant initialization of error code
      vfs: show_mountinfo: cleanup error code checks
      vfs: show_vfsstat: remove redundant initialization and check of error code

Eric Dumazet (1):
      proc: add a reschedule point in proc_readfd_common()

Julia Lawall (3):
      lustre: constify inode_operations structures
      adfs: constify adfs_dir_ops structures
      logfs: constify logfs_block_ops structures

Mateusz Guzik (1):
      poll: plug an unused argument to do_poll

Mike Marshall (1):
      typo in fs/namei.c comment

NeilBrown (1):
      nfsd: don't hold i_mutex over userspace upcalls

Rasmus Villemoes (1):
      fs/file.c: __const_max is actually __const_min :-)

Richard Weinberger (1):
      fs: xattr: Use kvfree()

Sasha Levin (1):
      fs/9p: use fscache mutex rather than spinlock

Stanislav Kinsburskiy (1):
      fcntl: allow to set O_DIRECT flag on pipe

Yaowei Bai (5):
      fs/block_dev.c: make sb_is_blkdev_sb return bool when CONFIG_BLOCK undefined
      fs/namespace.c: path_is_under can be boolean
      fs/dcache.c: is_subdir can be boolean
      fs/bad_inode.c: is_bad_inode can be boolean
      fs/attr.c: is_sxid can be boolean

Diffstat:
 Documentation/printk-formats.txt                   |   6 +
 arch/blackfin/include/asm/uaccess.h                |   6 -
 arch/m68k/include/asm/uaccess_no.h                 |   4 -
 arch/mips/lasat/picvue_proc.c                      |  18 +-
 arch/mn10300/include/asm/uaccess.h                 |  15 --
 arch/powerpc/include/asm/uaccess.h                 |  15 --
 arch/powerpc/kernel/nvram_64.c                     |  19 +-
 arch/s390/pci/pci_dma.c                            |   3 +-
 arch/sparc/include/asm/uaccess_32.h                |  65 -------
 arch/sparc/include/asm/uaccess_64.h                |  40 -----
 arch/sparc/kernel/mdesc.c                          |  20 +--
 arch/um/drivers/hostaudio_kern.c                   |  10 +-
 arch/um/drivers/mconsole_kern.c                    |  14 +-
 arch/x86/kernel/cpuid.c                            |  24 +--
 arch/x86/kernel/msr.c                              |  24 +--
 arch/xtensa/platforms/iss/simdisk.c                |  12 +-
 drivers/block/cciss.c                              |  14 +-
 drivers/block/mtip32xx/mtip32xx.c                  |  23 +--
 drivers/block/nbd.c                                |   1 +
 drivers/block/rsxx/core.c                          |  11 +-
 drivers/cdrom/cdrom.c                              |  10 +-
 drivers/char/generic_nvram.c                       |  21 +--
 drivers/char/mbcs.c                                |  28 +--
 drivers/char/nvram.c                               |  18 +-
 drivers/char/nwflash.c                             |  31 +---
 drivers/gpu/drm/amd/amdkfd/kfd_chardev.c           |  33 +---
 drivers/gpu/vga/vgaarb.c                           |   7 -
 drivers/md/bcache/util.c                           |   2 +-
 drivers/md/dm-bufio.c                              |   2 +-
 drivers/md/dm-io.c                                 |   4 +-
 drivers/mtd/maps/pcmciamtd.c                       |  28 +--
 drivers/net/wireless/ath/wil6210/debugfs.c         |  12 +-
 drivers/net/wireless/libertas/debugfs.c            | 181 +++++++------------
 drivers/net/wireless/mwifiex/debugfs.c             |  82 +++------
 drivers/net/wireless/ti/wlcore/debugfs.c           |  17 +-
 drivers/s390/char/vmcp.c                           |  11 +-
 drivers/s390/char/vmur.c                           |  15 +-
 drivers/s390/char/zcore.c                          |  13 +-
 drivers/sbus/char/openprom.c                       |  13 +-
 drivers/staging/lustre/lustre/llite/file.c         |   2 +-
 .../staging/lustre/lustre/llite/llite_internal.h   |   4 +-
 drivers/staging/lustre/lustre/llite/namei.c        |   4 +-
 drivers/staging/lustre/lustre/llite/symlink.c      |   2 +-
 drivers/usb/core/devices.c                         |  26 +--
 drivers/usb/core/devio.c                           |  26 +--
 drivers/usb/host/uhci-debug.c                      |  23 +--
 drivers/usb/misc/sisusbvga/sisusb.c                |  16 +-
 fs/9p/cache.c                                      |   8 +-
 fs/9p/v9fs.h                                       |   2 +-
 fs/9p/vfs_inode.c                                  |   2 +-
 fs/adfs/adfs.h                                     |   6 +-
 fs/adfs/dir.c                                      |   6 +-
 fs/adfs/dir_f.c                                    |   2 +-
 fs/adfs/dir_fplus.c                                |   2 +-
 fs/affs/affs.h                                     |   2 +-
 fs/affs/amigaffs.c                                 |  13 +-
 fs/affs/super.c                                    |   2 +-
 fs/afs/proc.c                                      |  25 +--
 fs/bad_inode.c                                     |   2 +-
 fs/block_dev.c                                     |  12 +-
 fs/btrfs/super.c                                   |   4 +-
 fs/buffer.c                                        |  21 +--
 fs/cachefiles/daemon.c                             |  12 +-
 fs/compat.c                                        |  21 ++-
 fs/compat_ioctl.c                                  |  11 --
 fs/coredump.c                                      |   8 +-
 fs/dcache.c                                        |  14 +-
 fs/dlm/user.c                                      |  11 +-
 fs/ecryptfs/inode.c                                |   4 +-
 fs/exec.c                                          |   4 +-
 fs/ext2/xattr.c                                    |   6 +-
 fs/ext4/page-io.c                                  |   5 +-
 fs/ext4/xattr.c                                    |   6 +-
 fs/f2fs/debug.c                                    |   6 +-
 fs/f2fs/f2fs.h                                     |   6 +-
 fs/fcntl.c                                         |   3 +-
 fs/file.c                                          |   6 +-
 fs/gfs2/ops_fstype.c                               |   4 +-
 fs/hfs/mdb.c                                       |   4 +-
 fs/hpfs/map.c                                      |   2 +-
 fs/internal.h                                      |   2 +-
 fs/jbd2/transaction.c                              |   6 +-
 fs/jfs/jfs_logmgr.c                                |   9 +-
 fs/logfs/logfs.h                                   |   4 +-
 fs/logfs/readwrite.c                               |   4 +-
 fs/logfs/segment.c                                 |   2 +-
 fs/minix/itree_v1.c                                |   9 +-
 fs/minix/itree_v2.c                                |   9 +-
 fs/namei.c                                         | 200 ++++++++++++++-------
 fs/namespace.c                                     |  39 ++--
 fs/nfsd/nfs3xdr.c                                  |   2 +-
 fs/nfsd/nfs4xdr.c                                  |   8 +-
 fs/nfsd/vfs.c                                      |  23 +--
 fs/nilfs2/super.c                                  |   6 +-
 fs/open.c                                          |   5 +-
 fs/proc/base.c                                     |  17 +-
 fs/proc/fd.c                                       |   1 +
 fs/proc_namespace.c                                |  27 +--
 fs/read_write.c                                    |  39 ++++
 fs/reiserfs/journal.c                              |  24 ++-
 fs/reiserfs/prints.c                               |   9 +-
 fs/reiserfs/procfs.c                               |   5 +-
 fs/select.c                                        |   6 +-
 fs/splice.c                                        |   8 +-
 fs/squashfs/super.c                                |   7 +-
 fs/super.c                                         |   4 +-
 fs/xattr.c                                         |  38 ++--
 fs/xfs/xfs_buf.c                                   |   8 +-
 include/linux/fs.h                                 |  14 +-
 include/linux/namei.h                              |   1 +
 include/linux/string.h                             |   1 +
 kernel/sysctl.c                                    |  79 +++-----
 kernel/trace/blktrace.c                            |  12 +-
 kernel/trace/trace_events.c                        |  28 +--
 kernel/trace/trace_events_trigger.c                |  15 +-
 kernel/user_namespace.c                            |  21 +--
 lib/dynamic_debug.c                                |  11 +-
 lib/vsprintf.c                                     |  29 +++
 mm/util.c                                          |  31 ++++
 net/9p/trans_virtio.c                              |  16 +-
 net/rxrpc/ar-key.c                                 |  24 +--
 security/integrity/iint.c                          |  11 +-
 security/selinux/selinuxfs.c                       | 114 +++++-------
 security/smack/smackfs.c                           | 114 ++++--------
 security/tomoyo/securityfs_if.c                    |  11 +-
 125 files changed, 792 insertions(+), 1478 deletions(-)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ