Messages in this thread | | | Date | Thu, 2 Nov 2006 20:07:01 +0100 | From | Jens Axboe <> | Subject | Re: [PATCH] splice : Must fully check for fifos |
| |
On Thu, Nov 02 2006, Eric Dumazet wrote: > With the patch this time :( Sorry guys > > Hi Andrew > > I think this patch is necessary. It's quite easy to crash a 2.6.19-rc4 box :( > > AFAIK the problem come from inode-diet (by Theodore Ts'o, (2006/Sep/27)) > > Thank you > > [PATCH] splice : Must fully check for FIFO > > It appears that i_pipe, i_cdev and i_bdev share the same memory location > (anonymous union in struct inode) since commits > 577c4eb09d1034d0739e3135fd2cff50588024be > eaf796e7ef6014f208c409b2b14fddcfaafe7e3a > > Because of that, testing i_pipe being NULL is not anymore sufficient > to tell if an inode is a FIFO or not. > > Therefore, we must use the S_ISFIFO(inode->i_mode) test before > assuming i_pipe pointer is pointing to a struct pipe_inode_info.
Indeed, the inode slimming introduced this bug. I'll queue up a test run of things and send it upstream, thanks for catching this.
-- Jens Axboe
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |