Bug 14416
Summary: | Null pointer dereference in fs/pipe.c | ||
---|---|---|---|
Product: | File System | Reporter: | Earl Chew (earl_chew) |
Component: | Other | Assignee: | Alexey Dobriyan (adobriyan) |
Status: | RESOLVED CODE_FIX | ||
Severity: | normal | CC: | adobriyan, stsp2 |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.21 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: |
Script to trigger defect
Proposed patch |
Description
Earl Chew
2009-10-16 03:48:32 UTC
Created attachment 23425 [details]
Script to trigger defect
Created attachment 23426 [details]
Proposed patch
Hi! I just ocasionally went through the forum where this problem was discussed. People there had a concern whether the proposed fix is the best possible solution. They thought the proper locking must make the checks like this unneeded. This raised my curiosity, and after a quick look at the code, I am wondering too. If the open() happens on an already released pipe, then can this be a missing synchronization in VFS? Of course pipe.c can handle it on its own, but how does VFS allow such a race? commit ad3960243e55320d74195fb85c975e0a8cc4466c "fs: pipe.c null pointer dereference" |