Project

General

Profile

Actions

Bug #10230

closed

zfs mishandles partial writes

Added by Jerry Jelinek over 5 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
zfs - Zettabyte File System
Start date:
2019-01-14
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:
External Bug:

Description

The trinity fuzzer calls pwritev with an iovec that has one or more entries which point to some initial valid data and then the rest point to addresses which are not mapped. This yields EFAULT once the write hits the invalid address, but we do successfully complete some amount of writing. The zfs_write code does not handle this properly. It loses track of the error return from dmu_write_uio_dbuf and it has an invalid ASSERT which does not account for the partial write case.

Actions #1

Updated by Electric Monk over 5 years ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

git commit b0ef425652e5cfce27df9fa5826a9cd64cee110a

commit  b0ef425652e5cfce27df9fa5826a9cd64cee110a
Author: Jerry Jelinek <jerry.jelinek@joyent.com>
Date:   2019-01-24T02:43:00.000Z

    10230 zfs mishandles partial writes
    Reviewed by: Matthew Ahrens <mahrens@delphix.com>
    Reviewed by: Andy Stormont <astormont@racktopsystems.com>
    Reviewed by: Garrett D'Amore <garrett@damore.org>
    Approved by: Dan McDonald <danmcd@joyent.com>

Actions

Also available in: Atom PDF