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)
Fri, Apr 26, 6:06 AM
Unknown Object (File)
Fri, Apr 26, 6:06 AM
Unknown Object (File)
Dec 20 2023, 12:23 AM
Unknown Object (File)
Dec 1 2023, 8:38 AM
Unknown Object (File)
Aug 28 2023, 2:43 AM
Unknown Object (File)
Aug 28 2023, 2:42 AM
Unknown Object (File)
Aug 28 2023, 2:41 AM
Unknown Object (File)
Aug 28 2023, 2:40 AM
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.