Page MenuHomeFreeBSD

pipe_direct_write: Fix mismatched pipelock/unlock
ClosedPublic

Authored by cem on Jul 13 2015, 4:41 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Mar 12, 1:21 PM
Unknown Object (File)
Sun, Mar 8, 9:08 PM
Unknown Object (File)
Fri, Mar 6, 7:57 PM
Unknown Object (File)
Thu, Mar 5, 7:24 PM
Unknown Object (File)
Wed, Mar 4, 9:36 PM
Unknown Object (File)
Tue, Mar 3, 3:16 PM
Unknown Object (File)
Feb 8 2026, 12:26 AM
Unknown Object (File)
Jan 30 2026, 8:23 PM
Subscribers

Details

Summary

If a signal is caught in pipelock, causing it to fail, pipe_direct_write should
not try to pipeunlock.

Reported by: pho
Sponsored by: EMC / Isilon Storage Division

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

cem retitled this revision from to pipe_direct_write: Fix mismatched pipelock/unlock.
cem updated this object.
cem edited the test plan for this revision. (Show Details)
cem added reviewers: markj, kib.
kib edited edge metadata.
kib added inline comments.
sys/kern/sys_pipe.c
949 ↗(On Diff #6891)

if (error != 0)

951 ↗(On Diff #6891)

if ((wpipe->pipe_state & PIPE_EOF) != 0) {

This revision is now accepted and ready to land.Jul 13 2015, 5:07 PM
cem edited edge metadata.

Fix style issues (thanks kib)

This revision now requires review to proceed.Jul 13 2015, 5:09 PM
cem marked 2 inline comments as done.Jul 13 2015, 5:10 PM
This revision was automatically updated to reflect the committed changes.