--- a/mm/fadvise.c 2005-10-10 22:54:29.000000000 +0400 +++ b/mm/fadvise.c 2005-12-06 23:04:19.980711464 +0300 @@ -37,6 +37,11 @@ if (!file) return -EBADF; + if (S_ISFIFO(file->f_dentry->d_inode->i_mode)) { + ret = -ESPIPE; + goto out; + } + mapping = file->f_mapping; if (!mapping || len < 0) { ret = -EINVAL;