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)
Sat, Nov 16, 1:58 PM
Unknown Object (File)
Sep 28 2024, 1:54 AM
Unknown Object (File)
Sep 27 2024, 10:16 AM
Unknown Object (File)
Sep 23 2024, 7:17 AM
Unknown Object (File)
Sep 22 2024, 12:13 AM
Unknown Object (File)
Sep 16 2024, 8:53 PM
Unknown Object (File)
Sep 3 2024, 4:15 PM
Unknown Object (File)
Sep 2 2024, 6:50 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.