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  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Sun, 2 Oct 2022 20:31:49 -0700
From:   Eric Biggers <>
To:     Linus Torvalds <>
        Alexander Viro <>,,,,,,,
Subject: [GIT PULL] STATX_DIOALIGN for 6.1

The following changes since commit 1c23f9e627a7b412978b4e852793c5e3c3efc555:

  Linux 6.0-rc2 (2022-08-21 17:32:54 -0700)

are available in the Git repository at: tags/statx-dioalign-for-linus

for you to fetch changes up to 61a223df421f698c253143014cfd384255b3cf1e:

  xfs: support STATX_DIOALIGN (2022-09-11 19:47:12 -0500)


Make statx() support reporting direct I/O (DIO) alignment information.
This provides a generic interface for userspace programs to determine
whether a file supports DIO, and if so with what alignment restrictions.
Specifically, STATX_DIOALIGN works on block devices, and on regular
files when their containing filesystem has implemented support.

An interface like this has been requested for years, since the
conditions for when DIO is supported in Linux have gotten increasingly
complex over time.  Today, DIO support and alignment requirements can be
affected by various filesystem features such as multi-device support,
data journalling, inline data, encryption, verity, compression,
checkpoint disabling, log-structured mode, etc.  Further complicating
things, Linux v6.0 relaxed the traditional rule of DIO needing to be
aligned to the block device's logical block size; now user buffers (but
not file offsets) only need to be aligned to the DMA alignment.

The approach of uplifting the XFS specific ioctl XFS_IOC_DIOINFO was
discarded in favor of creating a clean new interface with statx().

For more information, see the individual commits and the man page update

Eric Biggers (8):
      statx: add direct I/O alignment information
      vfs: support STATX_DIOALIGN on block devices
      fscrypt: change fscrypt_dio_supported() to prepare for STATX_DIOALIGN
      ext4: support STATX_DIOALIGN
      f2fs: move f2fs_force_buffered_io() into file.c
      f2fs: simplify f2fs_force_buffered_io()
      f2fs: support STATX_DIOALIGN
      xfs: support STATX_DIOALIGN

 block/bdev.c              | 23 ++++++++++++++++++++++
 fs/crypto/inline_crypt.c  | 49 +++++++++++++++++++++++------------------------
 fs/ext4/ext4.h            |  1 +
 fs/ext4/file.c            | 37 ++++++++++++++++++++++++-----------
 fs/ext4/inode.c           | 37 +++++++++++++++++++++++++++++++++++
 fs/f2fs/f2fs.h            | 40 --------------------------------------
 fs/f2fs/file.c            | 43 ++++++++++++++++++++++++++++++++++++++++-
 fs/stat.c                 | 14 ++++++++++++++
 fs/xfs/xfs_iops.c         | 10 ++++++++++
 include/linux/blkdev.h    |  4 ++++
 include/linux/fscrypt.h   |  7 ++-----
 include/linux/stat.h      |  2 ++
 include/uapi/linux/stat.h |  4 +++-
 13 files changed, 188 insertions(+), 83 deletions(-)

Powered by blists - more mailing lists