[PATCH 2.6.13-rc2-mm2] v9fs: fix problems spotted in previous patchset (2.0.2)
Fix formating errors and a memory leak that crept in the previous round of revisions to v9fs. These will be reincorperated into the patchset and resent to akpm. Signed-off-by: Eric Van Hensbergen <[EMAIL PROTECTED]> --- commit 22d785a22895513c6ab67dfa53c25b8b833fe235 tree 88822e96e339bf071d63576c87a15ddc7f4419b6 parent fe7cd649688d12dfaeeef2c594d131584c488dcd author Eric Van Hensbergen <[EMAIL PROTECTED]> Thu, 14 Jul 2005 16:22:29 -0500 committer Eric Van Hensbergen <[EMAIL PROTECTED]> Thu, 14 Jul 2005 16:22:29 -0500 fs/9p/fid.c |2 +- fs/9p/mux.c |6 +++--- fs/9p/vfs_file.c |5 +++-- fs/9p/vfs_inode.c |6 +++--- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/fs/9p/fid.c b/fs/9p/fid.c --- a/fs/9p/fid.c +++ b/fs/9p/fid.c @@ -206,7 +206,7 @@ struct v9fs_fid *v9fs_fid_lookup(struct /* TODO: take advantage of multiwalk */ fidnum = v9fs_get_idpool(&v9ses->fidpool); - if(fidnum < 0) { + if (fidnum < 0) { dprintk(DEBUG_ERROR, "could not get a new fid num\n"); return return_fid; diff --git a/fs/9p/mux.c b/fs/9p/mux.c --- a/fs/9p/mux.c +++ b/fs/9p/mux.c @@ -262,7 +262,7 @@ v9fs_mux_rpc(struct v9fs_session_info *v ret = v9fs_send(v9ses, &req); if (ret < 0) { - if(tcall->id != TVERSION) + if (tcall->id != TVERSION) v9fs_put_idpool(tid, &v9ses->tidpool); dprintk(DEBUG_MUX, "error %d\n", ret); return ret; @@ -313,7 +313,7 @@ v9fs_mux_rpc(struct v9fs_session_info *v } release_req: - if(tcall->id != TVERSION) + if (tcall->id != TVERSION) v9fs_put_idpool(tid, &v9ses->tidpool); if (rcall) *rcall = fcall; @@ -345,7 +345,7 @@ static int v9fs_recvproc(void *data) req = rptr = rreq = NULL; rcall = kmalloc(v9ses->maxdata + V9FS_IOHDRSZ, GFP_KERNEL); - if(!rcall) { + if (!rcall) { eprintk(KERN_ERR, "no memory for buffers\n"); break; } diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c --- a/fs/9p/vfs_file.c +++ b/fs/9p/vfs_file.c @@ -381,9 +381,10 @@ v9fs_file_write(struct file *filp, const ret = copy_from_user(buffer, data, count); if (ret) { dprintk(DEBUG_ERROR, "Problem copying from user\n"); - return -EFAULT; - } else + ret = -EFAULT; + } else { ret = v9fs_write(filp, buffer, count, offset); + } kfree(buffer); diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c --- a/fs/9p/vfs_inode.c +++ b/fs/9p/vfs_inode.c @@ -666,7 +666,7 @@ v9fs_vfs_rename(struct inode *old_dir, s dprintk(DEBUG_VFS, "\n"); - if(!mistat) + if (!mistat) return -ENOMEM; if ((!oldfid) || (!olddirfid) || (!newdirfid)) { @@ -934,7 +934,7 @@ v9fs_vfs_symlink(struct inode *dir, stru dprintk(DEBUG_VFS, " %lu,%s,%s\n", dir->i_ino, dentry->d_name.name, symname); - if(!mistat) + if (!mistat) return -ENOMEM; if (!v9ses->extended) { @@ -1217,7 +1217,7 @@ v9fs_vfs_mknod(struct inode *dir, struct dprintk(DEBUG_VFS, " %lu,%s mode: %x MAJOR: %u MINOR: %u\n", dir->i_ino, dentry->d_name.name, mode, MAJOR(rdev), MINOR(rdev)); - if(!mistat) + if (!mistat) return -ENOMEM; if (!new_valid_dev(rdev)) { - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 2.6.13-rc2-mm2 2/7] v9fs: VFS file, dentry, and directory operations (2.0.2)
Doh! Good catch, I'll fix and resubmit - same goes for the formating issues. On 7/14/05, Christoph Hellwig <[EMAIL PROTECTED]> wrote: > > @@ -383,9 +379,10 @@ v9fs_file_write(struct file *filp, const > > return -ENOMEM; > > > > ret = copy_from_user(buffer, data, count); > > - if (ret) > > + if (ret) { > > dprintk(DEBUG_ERROR, "Problem copying from user\n"); > > - else > > + return -EFAULT; > > + } else > > ret = v9fs_write(filp, buffer, count, offset); > > > > kfree(buffer); > > Aren't you leaking buffer in the error case? Also we Linux people really > hate an else clause when the if block contains a return statement ;-) > > - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 2.6.13-rc2-mm2 5/7] v9fs: 9P protocol implementation (2.0.2)
On 7/14/05, Christoph Hellwig <[EMAIL PROTECTED]> wrote: > > +static inline void buf_check_size(struct cbuf *buf, int len) > > +{ > > + if (buf->p+len > buf->ep) { > > + if (buf->p < buf->ep) { > > + eprintk(KERN_ERR, "buffer overflow\n"); > > + buf->p = buf->ep + 1; > > + } > > + } > > +} > > "handling" a buffer overflow with a printk doesn't seem appopinquate. > In what cases can this happen and what problems may it cause? > I believe all of these cases represent what we would consider to be protocol errors. I suppose it is possible that our truncation approach could be used as an exploit in some weird case -- I'll take a look at fixing things so that any such overflow case is treated as a fatal protocol error and reported as such (via the protocol as appropriate). -eric - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 2.6.13-rc2-mm2 2/7] v9fs: VFS file, dentry, and directory operations (2.0.2)
> @@ -383,9 +379,10 @@ v9fs_file_write(struct file *filp, const > return -ENOMEM; > > ret = copy_from_user(buffer, data, count); > - if (ret) > + if (ret) { > dprintk(DEBUG_ERROR, "Problem copying from user\n"); > - else > + return -EFAULT; > + } else > ret = v9fs_write(filp, buffer, count, offset); > > kfree(buffer); Aren't you leaking buffer in the error case? Also we Linux people really hate an else clause when the if block contains a return statement ;-) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 2.6.13-rc2-mm2 5/7] v9fs: 9P protocol implementation (2.0.2)
> +static inline void buf_check_size(struct cbuf *buf, int len) > +{ > + if (buf->p+len > buf->ep) { > + if (buf->p < buf->ep) { > + eprintk(KERN_ERR, "buffer overflow\n"); > + buf->p = buf->ep + 1; > + } > + } > +} "handling" a buffer overflow with a printk doesn't seem appopinquate. In what cases can this happen and what problems may it cause? - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 2.6.13-rc2-mm2 7/7] v9fs: debug and support routines (2.0.2)
On Sun, Jul 17, 2005 at 08:53:59AM -0500, [EMAIL PROTECTED] wrote: > This is part [7/7] of the v9fs-2.0.2 patch against Linux 2.6.13-rc2-mm2. > > This part of the patch contains debug and other misc routine changes related > to hch's comments. Here a few if( instead if ( formatting sneaked in. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 2.6.13-rc2-mm2 6/7] v9fs: transport modules (2.0.2)
This is part [6/7] of the v9fs-2.0.2 patch against Linux 2.6.13-rc2-mm2. This part of the patch contains transport routine changes related to hch's comments. Signed-off-by: Eric Van Hensbergen <[EMAIL PROTECTED]> -- fs/9p/trans_sock.c |2 +- fs/9p/mux.c | 44 +++- 2 files changed, 16 insertions(+), 30 deletions(-) -- --- a/fs/9p/mux.c +++ b/fs/9p/mux.c @@ -29,9 +29,9 @@ #include #include #include +#include #include "debug.h" -#include "idpool.h" #include "v9fs.h" #include "9p.h" #include "transport.h" @@ -160,30 +160,19 @@ static int v9fs_recv(struct v9fs_session int ret = 0; dprintk(DEBUG_MUX, "waiting for response: %d\n", req->tcall->tag); - ret = wait_event_interruptible_timeout(v9ses->read_wait, + ret = wait_event_interruptible(v9ses->read_wait, ((v9ses->transport->status != Connected) || - (req->rcall != 0) || dprintcond(v9ses, req)), - msecs_to_jiffies(v9ses->timeout)); + (req->rcall != 0) || dprintcond(v9ses, req))); dprintk(DEBUG_MUX, "got it: rcall %p\n", req->rcall); if (v9ses->transport->status == Disconnected) return -ECONNRESET; - if (ret >= 0) { + if (ret == 0) { spin_lock(&v9ses->muxlock); list_del(&req->next); spin_unlock(&v9ses->muxlock); } - if (ret == 0) { /* timeout */ - dprintk(DEBUG_ERROR, "Connection timeout after %u (%u)\n", - v9ses->timeout, - (unsigned int)msecs_to_jiffies(v9ses->timeout)); - v9ses->session_hung = 1; - v9ses->transport->status = Hung; - return -ETIMEDOUT; - } else { - ret = 0;/* reset return code */ - } return ret; } @@ -273,7 +262,8 @@ v9fs_mux_rpc(struct v9fs_session_info *v ret = v9fs_send(v9ses, &req); if (ret < 0) { - v9fs_put_idpool(tid, &v9ses->tidpool); + if(tcall->id != TVERSION) + v9fs_put_idpool(tid, &v9ses->tidpool); dprintk(DEBUG_MUX, "error %d\n", ret); return ret; } @@ -323,7 +313,8 @@ v9fs_mux_rpc(struct v9fs_session_info *v } release_req: - v9fs_put_idpool(tid, &v9ses->tidpool); + if(tcall->id != TVERSION) + v9fs_put_idpool(tid, &v9ses->tidpool); if (rcall) *rcall = fcall; else @@ -342,16 +333,16 @@ static int v9fs_recvproc(void *data) { struct v9fs_session_info *v9ses = (struct v9fs_session_info *)data; struct v9fs_fcall *rcall = NULL; - struct list_head *rptr; - struct list_head *rrptr; + struct v9fs_rpcreq *rptr; struct v9fs_rpcreq *req; + struct v9fs_rpcreq *rreq; int err = 0; allow_signal(SIGKILL); set_current_state(TASK_INTERRUPTIBLE); complete(&v9ses->proccmpl); while (!kthread_should_stop() && err >= 0) { - req = NULL; + req = rptr = rreq = NULL; rcall = kmalloc(v9ses->maxdata + V9FS_IOHDRSZ, GFP_KERNEL); if(!rcall) { @@ -365,10 +356,7 @@ static int v9fs_recvproc(void *data) break; } spin_lock(&v9ses->muxlock); - list_for_each_safe(rptr, rrptr, &v9ses->mux_fcalls) { - struct v9fs_rpcreq *rreq = - list_entry(rptr, struct v9fs_rpcreq, next); - + list_for_each_entry_safe(rreq, rptr, &v9ses->mux_fcalls, next) { if (rreq->tcall->tag == rcall->tag) { req = rreq; req->rcall = rcall; @@ -377,13 +365,11 @@ static int v9fs_recvproc(void *data) } if (req && (req->tcall->id == TFLUSH)) { - list_for_each_safe(rptr, rrptr, &v9ses->mux_fcalls) { - struct v9fs_rpcreq *treq = - list_entry(rptr, struct v9fs_rpcreq, next); - + struct v9fs_rpcreq *treq = NULL; + list_for_each_entry_safe(treq, rptr, &v9ses->mux_fcalls, next) { if (treq->tcall->tag == req->tcall->params.tflush.oldtag) { - list_del(rptr); + list_del(&rp
[PATCH 2.6.13-rc2-mm2 7/7] v9fs: debug and support routines (2.0.2)
This is part [7/7] of the v9fs-2.0.2 patch against Linux 2.6.13-rc2-mm2. This part of the patch contains debug and other misc routine changes related to hch's comments. Signed-off-by: Eric Van Hensbergen <[EMAIL PROTECTED]> -- fs/9p/error.c|3 +-- fs/9p/error.h|3 +++ fs/9p/fid.c | 14 ++ fs/9p/idpool.c | 152 fs/9p/idpool.h | 42 -- 6 files changed, 14 insertions(+), 200 deletions(-) -- --- a/fs/9p/error.h +++ b/fs/9p/error.h @@ -172,3 +172,6 @@ static struct errormap errmap[] = { {"u9fs authnone: no authentication required", 0}, {NULL, -1} }; + +extern int v9fs_error_init(void); +extern int v9fs_errstr2errno(char *errstr); diff --git a/fs/9p/fid.c b/fs/9p/fid.c --- a/fs/9p/error.c +++ b/fs/9p/error.c @@ -75,8 +75,7 @@ int v9fs_errstr2errno(char *errstr) struct errormap *c = NULL; int bucket = jhash(errstr, strlen(errstr), 0) % ERRHASHSZ; - hlist_for_each(p, &hash_errmap[bucket]) { - c = hlist_entry(p, struct errormap, list); + hlist_for_each_entry(c, p, &hash_errmap[bucket], list) { if (!strcmp(c->name, errstr)) { errno = c->val; break; diff --git a/fs/9p/error.h b/fs/9p/error.h --- a/fs/9p/fid.c +++ b/fs/9p/fid.c @@ -25,9 +25,9 @@ #include #include #include +#include #include "debug.h" -#include "idpool.h" #include "v9fs.h" #include "9p.h" #include "v9fs_vfs.h" @@ -123,7 +123,7 @@ struct v9fs_fid *v9fs_fid_lookup(struct { struct list_head *fid_list = (struct list_head *)dentry->d_fsdata; struct v9fs_fid *current_fid = NULL; - struct list_head *p, *temp; + struct v9fs_fid *temp = NULL; struct v9fs_fid *return_fid = NULL; int found_parent = 0; int found_user = 0; @@ -132,8 +132,7 @@ struct v9fs_fid *v9fs_fid_lookup(struct type); if (fid_list && !list_empty(fid_list)) { - list_for_each_safe(p, temp, fid_list) { - current_fid = list_entry(p, struct v9fs_fid, list); + list_for_each_entry_safe(current_fid, temp, fid_list, list) { if (current_fid->uid == current->uid) { if (return_fid == NULL) { if ((type == FID_OP) @@ -205,7 +204,14 @@ struct v9fs_fid *v9fs_fid_lookup(struct oldfid = current_fid->fid; par = current->fs->pwd; /* TODO: take advantage of multiwalk */ + fidnum = v9fs_get_idpool(&v9ses->fidpool); + if(fidnum < 0) { + dprintk(DEBUG_ERROR, + "could not get a new fid num\n"); + return return_fid; + } + while (par != dentry) { result = v9fs_t_walk(v9ses, oldfid, fidnum, "..", diff --git a/fs/9p/idpool.c b/fs/9p/idpool.c deleted file mode 100644 --- a/fs/9p/idpool.c +++ /dev/null @@ -1,152 +0,0 @@ -/* - * linux/fs/9p/idpool.c - * - * Copyright (C) 2004 by Eric Van Hensbergen <[EMAIL PROTECTED]> - * Copyright (C) 2002 by Ron Minnich - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to: - * Free Software Foundation - * 51 Franklin Street, Fifth Floor - * Boston, MA 02111-1301 USA - * - */ - -#include -#include -#include -#include -#include -#include "idpool.h" -#include "debug.h" - -/** - * grow_idpool - increase the size of an id pool - * @i: pointer to idpool to initialize - * @size: size (in bits) of idpool - * - */ - -static int grow_idpool(struct idpool *i, int newsize) -{ - unsigned long *newpool; - - newpool = kmalloc((newsize / 8), GFP_KERNEL); - if (!newpool) { - eprintk(KERN_WARNING, - "Couldn't allocate memory to grow idpool\n"); - return 0; - } - - memset(newpool, 0, newsize / 8); - if (i->idlist) { -
[PATCH 2.6.13-rc2-mm2 5/7] v9fs: 9P protocol implementation (2.0.2)
This is part [5/7] of the v9fs-2.0.2 patch against Linux 2.6.13-rc2-mm2. This part of the patch contains the 9P protocol function changes related to hch's comments. Signed-off-by: Eric Van Hensbergen <[EMAIL PROTECTED]> -- fs/9p/9p.c |2 +- fs/9p/conv.c| 54 ++ 2 files changed, 19 insertions(+), 37 deletions(-) -- --- a/fs/9p/9p.c +++ b/fs/9p/9p.c @@ -28,9 +28,9 @@ #include #include #include +#include #include "debug.h" -#include "idpool.h" #include "v9fs.h" #include "9p.h" #include "mux.h" diff --git a/fs/9p/Makefile b/fs/9p/Makefile --- a/fs/9p/conv.c +++ b/fs/9p/conv.c @@ -28,9 +28,9 @@ #include #include #include +#include #include "debug.h" -#include "idpool.h" #include "v9fs.h" #include "9p.h" #include "conv.h" @@ -55,39 +55,21 @@ static inline int buf_check_overflow(str return buf->p > buf->ep; } -#define buf_check_sizep(buf, len) \ - if (buf->p+len > buf->ep) { \ - if (buf->p < buf->ep) { \ - eprintk(KERN_ERR, "buffer overflow\n"); \ - buf->p = buf->ep + 1; \ - } \ - return NULL; \ - } \ - - -#define buf_check_size(buf, len) \ - if (buf->p+len > buf->ep) { \ - if (buf->p < buf->ep) { \ - eprintk(KERN_ERR, "buffer overflow\n"); \ - buf->p = buf->ep + 1; \ - } \ - return 0; \ - } \ - -#define buf_check_sizev(buf, len) \ - if (buf->p+len > buf->ep) { \ - if (buf->p < buf->ep) { \ - eprintk(KERN_ERR, "buffer overflow\n"); \ - buf->p = buf->ep + 1; \ - } \ - return; \ - } \ +static inline void buf_check_size(struct cbuf *buf, int len) +{ + if (buf->p+len > buf->ep) { + if (buf->p < buf->ep) { + eprintk(KERN_ERR, "buffer overflow\n"); + buf->p = buf->ep + 1; + } + } +} static inline void *buf_alloc(struct cbuf *buf, int len) { void *ret = NULL; - buf_check_sizep(buf, len); + buf_check_size(buf, len); ret = buf->p; buf->p += len; @@ -96,7 +78,7 @@ static inline void *buf_alloc(struct cbu static inline void buf_put_int8(struct cbuf *buf, u8 val) { - buf_check_sizev(buf, 1); + buf_check_size(buf, 1); buf->p[0] = val; buf->p++; @@ -104,7 +86,7 @@ static inline void buf_put_int8(struct c static inline void buf_put_int16(struct cbuf *buf, u16 val) { - buf_check_sizev(buf, 2); + buf_check_size(buf, 2); buf->p[0] = val; buf->p[1] = val >> 8; @@ -113,7 +95,7 @@ static inline void buf_put_int16(struct static inline void buf_put_int32(struct cbuf *buf, u32 val) { - buf_check_sizev(buf, 4); + buf_check_size(buf, 4); buf->p[0] = val; buf->p[1] = val >> 8; @@ -124,7 +106,7 @@ static inline void buf_put_int32(struct static inline void buf_put_int64(struct cbuf *buf, u64 val) { - buf_check_sizev(buf, 8); + buf_check_size(buf, 8); buf->p[0] = val; buf->p[1] = val >> 8; @@ -139,7 +121,7 @@ static inline void buf_put_int64(struct static inline void buf_put_stringn(struct cbuf *buf, const char *s, u16 slen) { - buf_check_sizev(buf, slen + 2); + buf_check_size(buf, slen + 2); buf_put_int16(buf, slen); memcpy(buf->p, s, slen); @@ -153,7 +135,7 @@ static inline void buf_put_string(struct static inline void buf_put_data(struct cbuf *buf, void *data, u32 datalen) { - buf_check_sizev(buf, datalen); + buf_check_size(buf, datalen); memcpy(buf->p, data, datalen); buf->p += datalen; @@ -257,7 +239,7 @@ static inline void *buf_get_datab(struct char *ret = NULL; int n = 0; - buf_check_sizep(dbuf, datalen); + buf_check_size(dbuf, datalen); n = buf_get_data(buf, dbuf->p, datalen); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 2.6.13-rc2-mm2 3/7] v9fs: VFS inode operations (2.0.2)
This is part [3/7] of the v9fs-2.0.2 patch against Linux 2.6.13-rc2-mm2. This part of the patch contains the VFS inode interfaces changes related to hch's comments. Signed-off-by: Eric Van Hensbergen <[EMAIL PROTECTED]> -- fs/9p/vfs_inode.c | 69 +--- 1 files changed, 7 insertions(+), 62 deletions(-) -- --- a/fs/9p/vfs_inode.c +++ b/fs/9p/vfs_inode.c @@ -34,9 +34,9 @@ #include #include #include +#include #include "debug.h" -#include "idpool.h" #include "v9fs.h" #include "9p.h" #include "v9fs_vfs.h" @@ -268,7 +268,6 @@ struct inode *v9fs_get_inode(struct supe default: dprintk(DEBUG_ERROR, "BAD mode 0x%x S_IFMT 0x%x\n", mode, mode & S_IFMT); - sb->s_op->put_inode(inode); return ERR_PTR(-EINVAL); } } else { @@ -446,30 +445,14 @@ static int v9fs_remove(struct inode *dir dprintk(DEBUG_VFS, "inode: %p dentry: %p rmdir: %d\n", dir, file, rmdir); - if (!dir || !S_ISDIR(dir->i_mode)) { - dprintk(DEBUG_ERROR, "dir inode is NULL or not a directory\n"); - return -ENOENT; - } - - if (!file) { - dprintk(DEBUG_ERROR, "NO dentry for file to remove\n"); - return -EBADF; - } - - if (!file->d_inode) { - dprintk(DEBUG_ERROR, - "dentry %p NO INODE for file to remove!\n", file); - return -EBADF; - } - file_inode = file->d_inode; sb = file_inode->i_sb; v9ses = v9fs_inode2v9ses(file_inode); v9fid = v9fs_fid_lookup(file, FID_OP); - if (!sb || !v9ses || !v9fid) { + if (!v9fid) { dprintk(DEBUG_ERROR, - "no superblock or v9session or v9fs_fid\n"); + "no v9fs_fid\n"); return -EBADF; } @@ -480,14 +463,6 @@ static int v9fs_remove(struct inode *dir return -EBADF; } - if (rmdir && (!S_ISDIR(file_inode->i_mode))) { - dprintk(DEBUG_ERROR, "trying to remove non-directory\n"); - return -ENOTDIR; - } else if ((!rmdir) && S_ISDIR(file_inode->i_mode)) { - dprintk(DEBUG_ERROR, "trying to remove directory\n"); - return -EISDIR; - } - result = v9fs_t_remove(v9ses, fid, &fcall); if (result < 0) dprintk(DEBUG_ERROR, "remove of file fails: %s(%d)\n", @@ -498,7 +473,6 @@ static int v9fs_remove(struct inode *dir } kfree(fcall); - return result; } @@ -556,17 +530,12 @@ static struct dentry *v9fs_vfs_lookup(st dprintk(DEBUG_VFS, "dir: %p dentry: (%s) %p nameidata: %p\n", dir, dentry->d_iname, dentry, nameidata); - if (!dir) { - dprintk(DEBUG_ERROR, "no dir inode\n"); - return ERR_PTR(-EINVAL); - } - sb = dir->i_sb; v9ses = v9fs_inode2v9ses(dir); dirfid = v9fs_fid_lookup(dentry->d_parent, FID_WALK); - if (!sb || !v9ses || !dirfid) { - dprintk(DEBUG_ERROR, "no superblock, v9ses, or dirfid\n"); + if (!dirfid) { + dprintk(DEBUG_ERROR, "no dirfid\n"); return ERR_PTR(-EINVAL); } @@ -867,7 +836,7 @@ void v9fs_mistat2inode(struct v9fs_stat *mistat, struct inode *inode, struct super_block *sb) { - struct v9fs_session_info *v9ses = sb ? sb->s_fs_info : NULL; + struct v9fs_session_info *v9ses = sb->s_fs_info; inode->i_nlink = 1; @@ -878,7 +847,7 @@ v9fs_mistat2inode(struct v9fs_stat *mist inode->i_uid = -1; inode->i_gid = -1; - if (v9ses && v9ses->extended) { + if (v9ses->extended) { /* TODO: string to uid mapping via user-space daemon */ inode->i_uid = mistat->n_uid; inode->i_gid = mistat->n_gid; @@ -959,7 +928,6 @@ v9fs_vfs_symlink(struct inode *dir, stru int retval = -EPERM; struct v9fs_fid *newfid; struct v9fs_session_info *v9ses = v9fs_inode2v9ses(dir); - struct super_block *sb = dir ? dir->i_sb : NULL; struct v9fs_fcall *fcall = NULL; struct v9fs_stat *mistat = kmalloc(v9ses->maxdata, GFP_KERNEL); @@ -969,11 +937,6 @@ v9fs_vfs_symlink(struct inode *dir, stru if(!mistat) return -ENOMEM; - if ((!dentry) || (!sb) || (!v9ses)) { - dprintk(DEBUG_ERROR, "problem with arguments\n"); - ret
[PATCH 2.6.13-rc2-mm2 4/7] v9fs: VFS superblock operations and glue (2.0.2)
This is part [4/7] of the v9fs-2.0.2 patch against Linux 2.6.13-rc2-mm2. This part of the patch contains VFS superblock and mapping code changes related to hch's comments. Signed-off-by: Eric Van Hensbergen <[EMAIL PROTECTED]> -- v9fs.c | 103 +--- v9fs.h | 27 +++ vfs_super.c | 45 +++--- 3 files changed, 119 insertions(+), 56 deletions(-) -- --- a/fs/9p/v9fs.h +++ b/fs/9p/v9fs.h @@ -22,6 +22,16 @@ * */ +/* + * Idpool structure provides lock and id management + * + */ + +struct v9fs_idpool { + struct semaphore lock; + struct idr pool; +}; + /* * Session structure provides information for an opened session * @@ -36,7 +46,6 @@ struct v9fs_session_info { unsigned short debug; /* debug level */ unsigned short proto; /* protocol to use */ unsigned int afid; /* authentication fid */ - unsigned int timeout; /* transport timeout in msec */ char *name; /* user name to mount as */ char *remotename; /* name of remote hierarchy being mounted */ @@ -44,8 +53,8 @@ struct v9fs_session_info { unsigned int gid; /* default gid for legacy support */ /* book keeping */ - struct idpool fidpool; /* The FID pool for file descriptors */ - struct idpool tidpool; /* The TID pool for transactions ids */ + struct v9fs_idpool fidpool; /* The FID pool for file descriptors */ + struct v9fs_idpool tidpool; /* The TID pool for transactions ids */ /* transport information */ struct v9fs_transport *transport; @@ -65,10 +74,17 @@ struct v9fs_session_info { struct list_head mux_fcalls; }; +/* possible values of ->proto */ +enum { + PROTO_TCP, + PROTO_UNIX, +}; + int v9fs_session_init(struct v9fs_session_info *, const char *, char *); struct v9fs_session_info *v9fs_inode2v9ses(struct inode *); void v9fs_session_close(struct v9fs_session_info *v9ses); - +int v9fs_get_idpool(struct v9fs_idpool *p); +void v9fs_put_idpool(int id, struct v9fs_idpool *p); int v9fs_get_option(char *opts, char *name, char *buf, int buflen); long long v9fs_get_int_option(char *opts, char *name, long long dflt); int v9fs_parse_tcp_devname(const char *devname, char **addr, char **remotename); @@ -79,10 +95,7 @@ int v9fs_parse_tcp_devname(const char *d #define V9FS_PORT 564 #define V9FS_DEFUSER "nobody" #define V9FS_DEFANAME "" -#define V9FS_TIMEOUT 6 /* inital pool sizes for fids and tags */ #define V9FS_START_FIDS 8192 #define V9FS_START_TIDS 256 - -#define safe_cache_free(x, y) { if(y) kmem_cache_free(x, y); } diff --git a/fs/9p/vfs_dentry.c b/fs/9p/vfs_dentry.c --- a/fs/9p/v9fs.c +++ b/fs/9p/v9fs.c @@ -29,9 +29,9 @@ #include #include #include +#include #include "debug.h" -#include "idpool.h" #include "v9fs.h" #include "9p.h" #include "v9fs_vfs.h" @@ -48,13 +48,8 @@ int v9fs_debug_level = 0;/* feature-rif */ enum { - PROTO_TCP, - PROTO_UNIX, -}; - -enum { /* Options that take integer arguments */ - Opt_port, Opt_msize, Opt_uid, Opt_gid, Opt_afid, Opt_debug, Opt_timeo, + Opt_port, Opt_msize, Opt_uid, Opt_gid, Opt_afid, Opt_debug, /* String options */ Opt_name, Opt_remotename, /* Options that take no arguments */ @@ -64,7 +59,6 @@ enum { }; static match_table_t tokens = { - {Opt_timeo, "timeout=%u"}, {Opt_port, "port=%u"}, {Opt_msize, "msize=%u"}, {Opt_uid, "uid=%u"}, @@ -107,7 +101,6 @@ static void v9fs_parse_options(char *opt v9ses->extended = 1; v9ses->afid = ~0; v9ses->debug = 0; - v9ses->timeout = V9FS_TIMEOUT; if (!options) return; @@ -126,9 +119,6 @@ static void v9fs_parse_options(char *opt } switch (token) { - case Opt_timeo: - v9ses->timeout = option; - break; case Opt_port: v9ses->port = option; break; @@ -169,20 +159,6 @@ static void v9fs_parse_options(char *opt continue; } } - - dprintk(DEBUG_9P, "options=\n"); - dprintk(DEBUG_9P, " debug: %x\n", v9ses->debug); - dprintk(DEBUG_9P, " port: %u\n", v9ses->port); - dprintk(DEBUG_9P, " msize: %u\n", v9ses->maxdata); - dprintk(DEBUG_9P, " uid: %u\n", v9ses->uid); - dprintk(DEBUG_9P, " gid: %u\n", v9ses->gid); - dprintk(DEBUG_9P, " afid: %d\n", v9ses->afid); - dprintk(DEBUG_9P
[PATCH 2.6.13-rc2-mm2 1/7] v9fs: Documentation, Makefiles, Configuration (2.0.2)
This is part [1/7] of the v9fs-2.0.2 patch against Linux 2.6.13-rc2-mm2 This part of the patch contains Documentation, Makefiles, and configuration file changes related to hch's comments. Signed-off-by: Eric Van Hensbergen <[EMAIL PROTECTED]> -- fs/9p/Makefile |1 - 1 files changed, 1 deletion(-) -- --- a/fs/9p/Makefile +++ b/fs/9p/Makefile @@ -6,7 +6,6 @@ obj-$(CONFIG_9P_FS) := 9p2000.o vfs_file.o \ vfs_dir.o \ vfs_dentry.o \ - idpool.o \ error.o \ mux.o \ trans_sock.o \ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 2.6.13-rc2-mm2 2/7] v9fs: VFS file, dentry, and directory operations (2.0.2)
This is part [2/7] of the v9fs-2.0.2 patch against Linux 2.6.13-rc2-mm2 This part of the patch contains the VFS file, dentry, & directory interface changes related to hch's comments. Signed-off-by: Eric Van Hensbergen <[EMAIL PROTECTED]> -- fs/9p/vfs_file.c | 35 +++ fs/9p/vfs_dentry.c | 21 +++-- fs/9p/vfs_dir.c| 21 +++-- 3 files changed, 13 insertions(+), 64 deletions(-) -- --- a/fs/9p/vfs_dir.c +++ b/fs/9p/vfs_dir.c @@ -32,9 +32,9 @@ #include #include #include +#include #include "debug.h" -#include "idpool.h" #include "v9fs.h" #include "9p.h" #include "v9fs_vfs.h" @@ -82,12 +82,7 @@ static int v9fs_dir_readdir(struct file dprintk(DEBUG_VFS, "name %s\n", filp->f_dentry->d_name.name); - if (!file) - return -EBADF; - fid = file->fid; - if (fid < 0) - return -EBADF; mi = kmalloc(v9ses->maxdata, GFP_KERNEL); if (!mi) @@ -194,13 +189,6 @@ int v9fs_dir_release(struct inode *inode struct v9fs_fid *fid = filp->private_data; int fidnum = -1; - if (!fid) { - dprintk(DEBUG_ERROR, - "can't happen: no private data (ino %lu) (filp %p)\n", - inode->i_ino, filp); - return -EBADF; - } - dprintk(DEBUG_VFS, "inode: %p filp: %p fid: %d\n", inode, filp, fid->fid); fidnum = fid->fid; @@ -220,11 +208,8 @@ int v9fs_dir_release(struct inode *inode v9fs_put_idpool(fid->fid, &v9ses->fidpool); } - if (fid->rdir_fcall) { - kfree(fid->rdir_fcall); - fid->rdir_fcall = NULL; - } - + kfree(fid->rdir_fcall); + filp->private_data = NULL; v9fs_fid_destroy(fid); } diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c --- a/fs/9p/vfs_file.c +++ b/fs/9p/vfs_file.c @@ -35,9 +35,9 @@ #include #include #include +#include #include "debug.h" -#include "idpool.h" #include "v9fs.h" #include "9p.h" #include "v9fs_vfs.h" @@ -165,13 +165,11 @@ int v9fs_file_open(struct inode *inode, kfree(fcall); } - if (file) { - file->private_data = v9fid; - v9fid->rdir_pos = 0; - v9fid->rdir_fcall = NULL; - } + file->private_data = v9fid; + v9fid->rdir_pos = 0; + v9fid->rdir_fcall = NULL; v9fid->fidopen = 1; v9fid->filp = file; v9fid->iounit = iounit; @@ -194,8 +192,6 @@ static int v9fs_file_lock(struct file *f struct inode *inode = filp->f_dentry->d_inode; dprintk(DEBUG_VFS, "filp: %p lock: %p\n", filp, fl); - if (!inode) - return -EINVAL; /* No mandatory locks */ if ((inode->i_mode & (S_ISGID | S_IXGRP)) == S_ISGID) @@ -383,9 +379,10 @@ v9fs_file_write(struct file *filp, const return -ENOMEM; ret = copy_from_user(buffer, data, count); - if (ret) + if (ret) { dprintk(DEBUG_ERROR, "Problem copying from user\n"); - else + return -EFAULT; + } else ret = v9fs_write(filp, buffer, count, offset); kfree(buffer); @@ -393,28 +390,10 @@ v9fs_file_write(struct file *filp, const return ret; } -/** - * v9fs_file_mmap - initiate an mmap on a file - * - * @filep - file pointer to write - * @vmarea - vm area struct - * - * v9fs doesn't support this right now in mainline branch - * - */ - -static int v9fs_file_mmap(struct file *filp, struct vm_area_struct *vm) -{ - dprintk(DEBUG_VFS, " filp: %p - NOT IMPLEMENTED\n", filp); - - return -ENOSYS; -} - struct file_operations v9fs_file_operations = { .llseek = generic_file_llseek, .read = v9fs_file_read, .write = v9fs_file_write, - .mmap = v9fs_file_mmap, .open = v9fs_file_open, .release = v9fs_dir_release, .lock = v9fs_file_lock, diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c --- a/fs/9p/vfs_dentry.c +++ b/fs/9p/vfs_dentry.c @@ -34,9 +34,9 @@ #include #include #include +#include #include "debug.h" -#include "idpool.h" #include "v9fs.h" #include "9p.h" #include "v9fs_vfs.h" @@ -88,18 +88,6 @@ static int v9fs_dentry_validate(struct d } /** - * v9fs_dentry_delete - called when dentry refcount reaches 0 - * @dentry: dentry that is being deleted - * - */ - -static int v9fs_dentry_delete(struct dentry *dentry) -{ - dprintk
[PATCH 2.6.13-rc2-mm2 0/7] v9fs: Changes in response to hch comments (2.0.2)
This is part [0/7] of the v9fs-2.0.2 patch against Linux 2.6.13-rc2-mm2. The changes in this patch-set are primarily motivated by comments from Chistoph Hellwig (hch): "there's a few issues with the code still I'd like to see fixed: - there's three sparse warnings still. Two of them are easily fixed by moving externs to headers, one doesn't look fixable until we get a sane in-kernel api for socket operations - some dentry handling looks rather odd. Why are you for example calling d_drop in v9fs_vfs_symlink, v9fs_vfs_mknod and v9fs_vfs_link? Shouldn't all these call d_instantatiate to actually reuse the dentry as in v9fs_vfs_create? Also what's the issue with v9fs_fid_insert? It would seem better and more logical to me to always set d_fsdata in create/mknod/symlink/open before hashing it and then beeing able to rely on it beeing non-NULL. - buf_check_sizep, buf_check_size and buf_check_sizev should be made inlines, and lose the implict return. Please don't hide such things in macros - please avoid using hlist_for_each, usually hlist_for_each_entry is a much better choice - dito for list_for_each_safe vs list_for_each_entry_safe - can you please check whether lib/idr.c fullfills your needs so we can get rid of idpool.c? - v9fs_inode2v9ses has lots of useless checks, inode->i_sb can never be NULL, and inode->i_sb->s_fs_info can't be either once set in fill_inode, which is before the first inode on the filesystem is created. Also the argument is never NULL. Because of that you can also kill all the return value checks in the callers. - do you really need to keep v9fs_dentry_delete just for the dprintk? - no need to check for a NULL file in v9fs_dir_readdir, the VFS gurantees it's not. And if it was you'd better be off panic because something is enormously fscked. - Dito for v9fs_file_open - And the inode in v9fs_file_lock - And dir, file, file->d_inode, sb, v9ses in v9fs_remove. - And dir, sb and v9ses in v9fs_vfs_lookup - And dir, sb and v9ses in v9fs_vfs_symlink - And dir, sb and v9ses in v9fs_vfs_link - And dir, sb and v9ses in v9fs_vfs_mknod - copy_from_user returns the bytes actually copied in the failure case, but you should return -EFAULT instead of that number in v9fs_file_write - No need to implement v9fs_file_mmap, do_mmap_pgoff makes sure to error out if it's not present (and actually returns the correct errno) - I think it's pretty similar for all these checks for fid (=private_data) checks. You always set them in open, so they can't be NULL - kfree can be called with a NULL argument just fine, you can remove lots of ifs for that. You also often set pointers to NULL just before freeing a structure - that's pretty useless as slab debugging will catch bugs with stary references very well, and overwrites these NULLs ASAP. - The call to ->put_inode in the error case of v9fs_get_inode is very wrong. You'd actually panic if you ever hit this as v9fs doesn't implement a ->put_inode :-) - All the ISDIR checks in v9fs_remove can go, VFS makes sure to only call ->remove and ->rmdir on directories, and only the right one for each kind of child. - Please try to use generic_readlink instead of your own v9fs_vfs_readlink, as you're implemting ->follow_link and ->put_link that should just work - the last error case in v9fs_get_sb needs a dput on ->s_root" Signed-off-by: Eric Van Hensbergen --- commit c3ec873681d43c48a335c802cc7113e8fb763732 tree fe4e81f965c974b31d832dbae3d81391df9ca792 parent 4a0c531abb39dadce4837a8e9c29ae013fd8b4c5 author Eric Van Hensbergen <[EMAIL PROTECTED]> Thu, 14 Jul 2005 11:21:33 -0500 committer Eric Van Hensbergen <[EMAIL PROTECTED]> Thu, 14 Jul 2005 11:21:33 -0500 fs/9p/9p.c |2 - fs/9p/Makefile |1 fs/9p/conv.c | 54 ++ fs/9p/error.c |3 - fs/9p/error.h |3 + fs/9p/fid.c| 14 +++-- fs/9p/idpool.c | 152 fs/9p/idpool.h | 42 -- fs/9p/mux.c| 44 +-- fs/9p/trans_sock.c |2 - fs/9p/v9fs.c | 103 --- fs/9p/v9fs.h | 27 +++-- fs/9p/vfs_dentry.c | 21 +-- fs/9p/vfs_dir.c| 21 +-- fs/9p/vfs_file.c | 35 ++-- fs/9p/vfs_inode.c | 69 ++-- fs/9p/vfs_super.c | 45 ++- 17 files changed, 188 insertions(+), 450 deletions(-) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: 2.6.13-rc2-mm2
Chuck Ebbert wrote: >Looks like Quilt is adding the space during push/pop operations. Only the > lines it has touched in the series file have the trailing space. Quilt versions prior to 0.39 would add a trailing space to the series file entry when doing a quilt refresh with the default -p1 patch level. David Vrabel - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: 2.6.13-rc2-mm2
On Wed, Jul 13, 2005 at 05:29:32PM -0400, Chuck Ebbert wrote: > On Wed, 13 Jul 2005 at 00:23:42 -0700, Andrew Morton wrote: > > >>...and BTW why does every line in the series file have a trailing space? > > > > Not in my copy of > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc2/2.6.13-rc2-mm2/patch-series > > ? > > > Looks like Quilt is adding the space during push/pop operations. Only the > lines it has touched in the series file have the trailing space. Nope. For me quilt leaves a trailing space if I add patches with -p0 to the series file and then do a "quilt refresh -p1". Johannes - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: 2.6.13-rc2-mm2
Hi, Andrew Morton wrote: > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc2/2.6.13-rc2-mm2/ Also available as a GIT archive (once the mirror has mirrored): http://www.kernel.org/pub/scm/linux/kernel/git/smurf/v2.6.13-rc2-mm2.git/ Suggestions for improvements welcome. -- Matthias Urlichs | {M:U} IT Design @ m-u-it.de | [EMAIL PROTECTED] Disclaimer: The quote was selected randomly. Really. | http://smurf.noris.de - - Doctors and lawyers must go to school for years and years, often with little sleep and with great sacrifice to their first wives. -- Roy G. Blount, Jr. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
2.6.13-rc2-mm2 slab.c problem. Fails to boot.
I have a problem with slab.c where it fails to boot the kernel. The first call to kmem_cache_create():about line 1063: using the INDEX_AC parameter succeeds and exits via the kcc:left_over route. The second call to kmem_cache_create():about line 1069: using the INDEX_L3 parameter fails and exits via the kcc:break_flag route. On a PC that manages to boot, the exit route in both cases is "kcc:left_over". Please see below where I have added printk statements for "kcc:left_over" and "kcc:break_flag" etc. See attached .config file for kernel config. This succeeds in booting on one of my machines, but not the other. On the other I am netbooting linux. Main line kernels 2.6.12 etc. all boot correctly on the netbooting linux. This slab.c code looks rather complicated to me, so I was hoping that someone else could help me out a bit. Extract from about line 1651 of mm/slab.c /* * Calculate size (in pages) of slabs, and the num of objs per * slab. This could be made much more intelligent. For now, * try to avoid using high page-orders for slabs. When the * gfp() funcs are more friendly towards high-order requests, * this should be changed. */ do { unsigned int break_flag = 0; cal_wastage: cache_estimate(cachep->gfporder, size, align, flags, &left_over, &cachep->num); if (break_flag) { printk("kcc:break_flag\n"); break; } if (cachep->gfporder >= MAX_GFP_ORDER) { printk("kcc:GFP_ORDER\n"); break; } if (!cachep->num) goto next; if (flags & CFLGS_OFF_SLAB && cachep->num > offslab_limit) { /* This num of objs will cause problems. */ cachep->gfporder--; break_flag++; goto cal_wastage; } /* * Large num of objs is good, but v. large slabs are * currently bad for the gfp()s. */ if (cachep->gfporder >= slab_break_gfp_order) { printk("kcc:slab_break_gfp_order\n"); break; } if ((left_over*8) <= (PAGE_SIZE<gfporder)) { printk("kcc:left_over\n"); break; /* Acceptable internal fragmentation. */ } next: cachep->gfporder++; } while (1); } if (!cachep->num) { printk("kmem_cache_create: couldn't create cache %s.\n", name); kmem_cache_free(&cache_cache, cachep); cachep = NULL; goto opps; } # # Automatically generated make config: don't edit # Linux kernel version: 2.6.13-rc2-mm2 # Wed Jul 13 23:08:18 2005 # CONFIG_X86=y CONFIG_MMU=y CONFIG_UID16=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_IOMAP=y # # Code maturity level options # CONFIG_EXPERIMENTAL=y CONFIG_CLEAN_COMPILE=y CONFIG_LOCK_KERNEL=y CONFIG_INIT_ENV_ARG_LIMIT=32 # # General setup # CONFIG_LOCALVERSION="" CONFIG_SWAP=y CONFIG_SYSVIPC=y # CONFIG_POSIX_MQUEUE is not set # CONFIG_BSD_PROCESS_ACCT is not set CONFIG_SYSCTL=y # CONFIG_AUDIT is not set CONFIG_HOTPLUG=y CONFIG_KOBJECT_UEVENT=y CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y # CONFIG_CPUSETS is not set # CONFIG_EMBEDDED is not set CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_ALL is not set # CONFIG_KALLSYMS_EXTRA_PASS is not set CONFIG_PRINTK=y CONFIG_BUG=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y CONFIG_EPOLL=y CONFIG_SHMEM=y CONFIG_CC_ALIGN_FUNCTIONS=0 CONFIG_CC_ALIGN_LABELS=0 CONFIG_CC_ALIGN_LOOPS=0 CONFIG_CC_ALIGN_JUMPS=0 # CONFIG_TINY_SHMEM is not set CONFIG_BASE_SMALL=0 # # Loadable module support # CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y CONFIG_OBSOLETE_MODPARM=y # CONFIG_MODVERSIONS is not set # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_KMOD=y CONFIG_STOP_MACHINE=y # # Processor type and features # CONFIG_X86_PC=y # CONFIG_X86_ELAN is not set # CONFIG_X86_VOYAGER is not set # CONFIG_X86_NUMAQ is not set # CONFIG_X86_SUMMIT is not set # CONFIG_X86_BIGSMP is not set # CONFIG_X86_VISWS is not set # CONFIG_X86_GENERICARCH is not set # CONFIG_X86_ES7000 is not set # CONFI
Re: 2.6.13-rc2-mm2
On Wed, 13 Jul 2005 at 00:23:42 -0700, Andrew Morton wrote: >>...and BTW why does every line in the series file have a trailing space? > > Not in my copy of > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc2/2.6.13-rc2-mm2/patch-series > ? Looks like Quilt is adding the space during push/pop operations. Only the lines it has touched in the series file have the trailing space. -- Chuck - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: 2.6.13-rc2-mm2 -- include/linux/mtd/xip.h:68:25: error: asm/mtd-xip.h: No such file or directory
On Wed, 2005-07-13 at 12:34 -0700, Andrew Morton wrote: > I assume MTD_CFI should depend on ARM? I believe it already does, in the git tree. Thomas asked Linus to pull from that only about an hour ago. -- dwmw2 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: 2.6.13-rc2-mm2 -- include/linux/mtd/xip.h:68:25: error: asm/mtd-xip.h: No such file or directory
Miles Lane <[EMAIL PROTECTED]> wrote: > > In file included from drivers/mtd/chips/cfi_probe.c:18: > include/linux/mtd/xip.h:68:25: error: asm/mtd-xip.h: No such file or directory I assume MTD_CFI should depend on ARM? - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: 2.6.13-rc2-mm2 -- include/linux/mtd/xip.h:68:25: error: asm/mtd-xip.h: No such file or directory
On Wed, 2005-07-13 at 20:46 +0100, David Woodhouse wrote: > On Wed, 2005-07-13 at 12:34 -0700, Andrew Morton wrote: > > I assume MTD_CFI should depend on ARM? > > I believe it already does, in the git tree. Thomas asked Linus to pull > from that only about an hour ago. Linus has pulled already tglx - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
2.6.13-rc2-mm2 -- include/linux/mtd/xip.h:68:25: error: asm/mtd-xip.h: No such file or directory
In file included from drivers/mtd/chips/cfi_probe.c:18: include/linux/mtd/xip.h:68:25: error: asm/mtd-xip.h: No such file or directory - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: 2.6.13-rc2-mm2
> What's your device-mapper/lvm configuration and what 'lvm' command > did you run to trigger this? Nothing special... it happens while booting Fedora Core 4. > 'dmsetup info -c' > 'dmsetup table' > 'lvs --segments -o+devices -a' # cat /etc/fstab /dev/VolGroup00/Root/ ext3defaults1 1 /dev/VolGroup00/Home/home ext3nodev 1 2 /dev/VolGroup00/Swap none swapdefaults0 0 # dmsetup info -c Name Maj Min Stat Open Targ Event UUID VolGroup00-Home 253 2 L--w11 0 pooZ0kfkAXH04Jai0ih2M1YtE1FNgI2xdn8wPAEh3ROBTzYw6gG7qEnYMDn5hfeR VolGroup00-Swap 253 1 L--w11 0 pooZ0kfkAXH04Jai0ih2M1YtE1FNgI2x1ITYve4bdfV53jjNMWTa3w24BBFFLI3t VolGroup00-Root 253 0 L--w11 0 pooZ0kfkAXH04Jai0ih2M1YtE1FNgI2x7HHDn3Iw4wxcQNBHO0gEDMoe7Nta2xv0 # dmsetup table VolGroup00-Home: 0 190414848 linear 3:2 42008960 VolGroup00-Swap: 0 1048576 linear 3:2 40960384 VolGroup00-Root: 0 4096 linear 3:2 384 # lvs --segments -o+devices -a LV VG Attr #Str Type SSize Devices Home VolGroup00 -wi-ao1 linear 90.80G /dev/hda2(5128) Root VolGroup00 -wi-ao1 linear 19.53G /dev/hda2(0) Swap VolGroup00 -wi-ao1 linear 512.00M /dev/hda2(5000) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: 2.6.13-rc2-mm2
Chuck Ebbert <[EMAIL PROTECTED]> wrote: > > Quilt docs only say lines beginning with "#" are ignored, nothing about it > after a patch name. I think that got fixed in quilt CVS a couple of weeks ago >...and BTW why does every line in the series file have a trailing space? Not in my copy of ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc2/2.6.13-rc2-mm2/patch-series ? - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: 2.6.13-rc2-mm2
On Tue, 12 Jul 2005 at 17:41:00 -0700, Andrew Morton wrote: > The patch was empty. That happens sometimes. I like to be able to apply > empty patches, but yes, perhaps that should require -f. > > Either drop the patch of use -f. OK, those are easy enough to comment out but I thought the broken-out tar file would be cleaner than that. > I fix up the offset errors relatively infrequently, and they all come back > very soon. While playing with this cleanup script: === #! /bin/bash [ -f patches/series ] || exit 1 echo $"Refreshing all patches in series..." quilt pop -a cat patches/series | while read line do lineno=$[$lineno+1] if [ -z "$line" ] || [ "${line:0:1}" == "#" ] then continue fi echo "" quilt push $line if [ $? != 0 ] then echo -e $"\nError at line" $lineno ":" echo -e $line break fi quilt refresh done === I found: === Usage: quilt push [-afqv] [--leave-rejects] [num|patch] Error at line 308 : x86-x86_64-deferred-handling-of-writes-to-proc-irq-xx-smp_affinitypatch-added-to-mm-tree.patch # ak no likee === I thought this was an isolated instance and fixed it up, then found: x86-64-ptrace-ia32-bp-fix.patch # ak no likee This breaks quilt when you try to push patches by name: =============== [EMAIL PROTECTED] 2.6.13-rc2-mm2]$ quilt push x86-64-ptrace-ia32-bp-fix.patch Applying x86-64-ptrace-ia32-bp-fix.patch patch: no: extra operand patch: Try `/usr/bin/patch --help' for more information. Patch x86-64-ptrace-ia32-bp-fix.patch does not apply (enforce with -f) === Quilt docs only say lines beginning with "#" are ignored, nothing about it after a patch name. ...and BTW why does every line in the series file have a trailing space? __ Chuck - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: 2.6.13-rc2-mm2
Chuck Ebbert <[EMAIL PROTECTED]> wrote: > > > I downloaded 2.6.13-rc2-mm2-broken-out.tar.bz2 and verified the signature. > > Then I untarred it and moved it to the patches/ dir. > > Output of 'quilt push -a' ends with: > > Applying git-netdev-janitor-fixup.patch > patch: Only garbage was found in the patch input. > Patch git-netdev-janitor-fixup.patch does not apply (enforce with -f) The patch was empty. That happens sometimes. I like to be able to apply empty patches, but yes, perhaps that should require -f. Either drop the patch of use -f. > > There were also a slew of patches that applied with offset errors before that. I fix up the offset errors relatively infrequently, and they all come back very soon. > Is the broken-out tarfile supposed to be usable like this? Yes. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: 2.6.13-rc2-mm2
I downloaded 2.6.13-rc2-mm2-broken-out.tar.bz2 and verified the signature. Then I untarred it and moved it to the patches/ dir. Output of 'quilt push -a' ends with: Applying git-netdev-janitor-fixup.patch patch: Only garbage was found in the patch input. Patch git-netdev-janitor-fixup.patch does not apply (enforce with -f) There were also a slew of patches that applied with offset errors before that. Is the broken-out tarfile supposed to be usable like this? -- Chuck - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: 2.6.13-rc2-mm2 : oops in dm_mod
Alasdair G Kergon <[EMAIL PROTECTED]> wrote: > > I'm downloading -mm2 as I write this to check, but I can't > spot the part of the patch that updates dm-table.c to read: > > void dm_table_presuspend_targets(struct dm_table *t) > { > if (!t) > return; > > return suspend_targets(t, 0); > } > > > void dm_table_postsuspend_targets(struct dm_table *t) > { > if (!t) > return; > > > return suspend_targets(t, 1); > } There's no patch in -mm which adds those tests of `t'. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
linux-2.6.13-rc2-mm2: kconfig: warning: defaults for choice values not supported
Hi there, Lately in 2.6.13-rc* I've noticed a warning pop up: [EMAIL PROTECTED]:/usr/src/linux-2.6.13-rc2-mm2a$ make menuconfig ... scripts/kconfig/mconf arch/i386/Kconfig net/ipv4/Kconfig:92:warning: defaults for choice values not supported <<== ?? # # using defaults found in .config # Linux Kernel v2.6.13-rc2-mm2 Configuration -- +-- Linux Kernel Configuration ---+ - - - # If the user does not enable advanced routing, he gets the safe # default of the fib-hash algorithm. config IP_FIB_HASH bool depends on !IP_ADVANCED_ROUTER default y<<== line 92 in net/ipv4/Kconfig config IP_MULTIPLE_TABLES bool "IP: policy routing" depends on IP_ADVANCED_ROUTER - - - 'make oldconfig' and 'make defconfig' report same warning. Thanks, --Grant. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: 2.6.13-rc2-mm2 : oops in dm_mod
On Tue, Jul 12, 2005 at 08:52:39PM +0200, Laurent Riffard wrote: > I just got this oops. > EIP is at suspend_targets+0x8/0x42 [dm_mod] I fear the empty patch the script gave me yesterday wasn't meant to be empty... [Yes, I'm going to switch to quilt just as soon as I can make time to convert everything.] I'm downloading -mm2 as I write this to check, but I can't spot the part of the patch that updates dm-table.c to read: void dm_table_presuspend_targets(struct dm_table *t) { if (!t) return; return suspend_targets(t, 0); } void dm_table_postsuspend_targets(struct dm_table *t) { if (!t) return; return suspend_targets(t, 1); } Alasdair - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: 2.6.13-rc2-mm2 : oops in dm_mod
Laurent Riffard [EMAIL PROTECTED] wrote: > device-mapper: 4.4.0-ioctl (2005-01-12) initialised: [EMAIL PROTECTED] > Unable to handle kernel NULL pointer dereference at virtual address 0094 > printing eip: > d08612ec > *pde = > Oops: [#1] > last sysfs file: > Modules linked in: dm_mod joydev usbhid uhci_hcd usbcore video hotkey configfs > CPU:0 > EIP:0060:[]Not tainted VLI > EFLAGS: 00010246 (2.6.13-rc2-mm2) > EIP is at suspend_targets+0x8/0x42 [dm_mod] > eax: ebx: cf764340 ecx: edx: > esi: edi: ebp: cf06bec4 esp: cf06beb8 > ds: 007b es: 007b ss: 0068 > Process lvm2 (pid: 1532, threadinfo=cf06a000 task=cfa3e520) > Stack: cf764340 ffea cf06becc d0861330 cf06bf20 d085ff99 >cfa3e520 c0114664 >cfa3e520 c0114664 cf06bf20 d0861e0f cf615aa0 > Call Trace: > [] show_stack+0x76/0x7e > [] show_registers+0xea/0x152 > [] die+0xc2/0x13c > [] do_page_fault+0x394/0x4d4 > [] error_code+0x4f/0x54 > [] dm_table_presuspend_targets+0xa/0xc [dm_mod] > [] dm_suspend+0x79/0x1a3 [dm_mod] > [] do_resume+0xee/0x173 [dm_mod] I am also receiving a similar oops in a call to suspend_targets on bootup. Alasdiar, Based on your previous patch http://marc.theaimsgroup.com/?l=linux-kernel&m=112112298922766&w=2 How is suspend_targets suppose to protect against the NULL value now being passed in. or is something else going on here? -andmike -- Michael Anderson [EMAIL PROTECTED] - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: 2.6.13-rc2-mm2
On Tue, Jul 12, 2005 at 08:16:14PM +0200, Felipe Alfaro Solana wrote: > I'm seeing this oops with 2.6.13-rc2-mm2: > EIP is at suspend_targets+0x6/0x47 [dm_mod] > Doesn't happen with 2.6.13-rc2-mm1, however. What's your device-mapper/lvm configuration and what 'lvm' command did you run to trigger this? 'dmsetup info -c' 'dmsetup table' 'lvs --segments -o+devices -a' Alasdair - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: 2.6.13-rc2-mm2
> Changes since 2.6.13-rc2-mm1: I'm seeing this oops with 2.6.13-rc2-mm2: *pde Oops: [#1] last sysfs file: Modules linked in: dm_snapshot dm_mirror ext3 mbcache jbd dm_mod CPU:0 EIP:0060:[]Not tainted VLI EFLAGS: 00010246 (2.6.13-rc2mm2) EIP is at suspend_targets+0x6/0x47 [dm_mod] eax: ebx: dfdee400 ecx: e0827108 edx: esi: dfdee400 edi: c162 ebp: esp: c1621efc ds: 007b es: 007b ss:0068 Process lvm (pid: 236, threadinfo=c162 task=dfee1a70) Stack: dfdee400 dfdee400 c162 e081d15b dfee1a70 c0115680 dfded680 dfdee400 e0826bc0 e082c000 e08201f0 dfded680 c162 0006 e082023d e08211b8 0001 Call Trace: [] dm_suspend+0x89/0x185 [dm_mod] [] default_wake_function+0x0/0xc [] do_resume+0x149/0x196 [dm_mod] [] dev_suspend+0x0/0x10 [dm_mod] [] ctl_ioctl+0xce/0x10a [dm_mod] [] ctl_ioctl+0x0/0x10a [dm_mod] [] do_ioctl+0x51/0x55 [] vfs_ioctl+0x50/0x1aa [] sys_ioctl+0x5d/0x6b [] syscall_call+0x7/0xb Code: 00 00 8b 83 b0 00 00 00 89 86 4c 01 00 00 5b 5e c3 8b 80 88 00 00 00 c3 05 9c 00 00 00 c3 8b 80 98 00 00 00 c3 44 57 56 53 89 d5 <8b> b8 88 00 00 00 8b 98 94 00 00 00 85 ff 74 1e 31 f6 85 ed 74 ERROR: /bin/lvm exited abnormally with value 0 ! (pid 236) Doesn't happen with 2.6.13-rc2-mm1, however. Any ideas? config-2.6.13-rc2mm2 Description: Binary data
Re: 2.6.13-rc2-mm2
On Tue, Jul 12, 2005 at 01:01:48PM +0100, David Woodhouse wrote: > On Tue, 2005-07-12 at 13:05 +0200, Adrian Bunk wrote: > > Although it's not mentioned in the changelog, it seems the MTD GIT > > tree was dropped. > > > > I noticed this because a compile error that was fixed in -mm1 is back. > > What error? The MTD GIT tree is presumably absent from -mm because it > was pulled into Linus' tree last night. <-- snip --> ... CC drivers/mtd/chips/cfi_probe.o In file included from drivers/mtd/chips/cfi_probe.c:18: include/linux/mtd/xip.h:68:25: error: asm/mtd-xip.h: No such file or directory include/linux/mtd/xip.h:72:2: warning: #warning "missing IRQ and timer primitives for XIP MTD support" include/linux/mtd/xip.h:73:2: warning: #warning "some of the XIP MTD support code will be disabled" include/linux/mtd/xip.h:74:2: warning: #warning "your system will therefore be unresponsive when writing or erasing flash" {standard input}: Assembler messages: {standard input}:5: Warning: ignoring changed section attributes for .data make[3]: *** [drivers/mtd/chips/cfi_probe.o] Error 1 ... <-- snip --> > dwmw2 cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: 2.6.13-rc2-mm2
On Tue, 2005-07-12 at 13:05 +0200, Adrian Bunk wrote: > Although it's not mentioned in the changelog, it seems the MTD GIT > tree was dropped. > > I noticed this because a compile error that was fixed in -mm1 is back. What error? The MTD GIT tree is presumably absent from -mm because it was pulled into Linus' tree last night. -- dwmw2 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: 2.6.13-rc2-mm2
Although it's not mentioned in the changelog, it seems the MTD GIT tree was dropped. I noticed this because a compile error that was fixed in -mm1 is back. cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
2.6.13-rc2-mm2
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc2/2.6.13-rc2-mm2/ (And at http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.13-rc2-mm2.gz - kenrel.org mirroring is being slow again) - MM updates - More video4linux updates - Infiniband feature work Changes since 2.6.13-rc2-mm1: -uml-kill-some-useless-vmalloc-tlb-flushing.patch -iounmap-debugging.patch -i2o-config-osm-build-fix.patch -print-kbd-and-aux-irqs-correctly.patch -i8042-x86ia64-printk-fixes.patch -ocfs2-avoid-lookup_hash-usage-in-configfs.patch -dpt_i2o-warning-fix.patch -aic79xx-ahd_linux_dev_reset-cleanup.patch -print-order-information-when-oom-killing.patch -print-order-information-when-oom-killing-fix.patch -remove-completly-bogus-comment-inside-__alloc_pages-try_to_free_pages-handling.patch -quieten-oom-killer-noise.patch -build-tags-problem-with-o=.patch -kbuild-build-a-single-module-using-make-dir-moduleko.patch -ppc64-add-new-phy-to-sungem.patch -ppc64-vdso32-fix-link-errors-after-recent-toolchain-changes.patch -ppc64-use-c99-initialisers-in-cputable-code.patch -ppc64-fix-runlatch-code-to-work-on-pseries-machines.patch -ppc64-turn-runlatch-on-in-exception-entry.patch -move-ioprio-syscalls-into-syscallsh.patch -ppc64-sys_ppc32c-cleanups.patch -ppc64-add-ioprio-syscalls.patch -ppc64-remove-duplicate-syscall-reservation.patch -hvc_console-rearrange-code.patch -hvc_console-match-vio-and-console-devices-using-vterm-numbers.patch -hvc_console-dont-always-kick-the-poll-thread-in-interrupt.patch -hvc_console-magic_sysrq-should-only-be-on-console-channel.patch -hvc_console-unregister-the-console-in-the-exit-routine.patch -hvc_console-add-missing-include.patch -hvc_console-remove-num_vterms-and-some-dead-code.patch -hvc_console-statically-initialize-the-vtermnos-array.patch -hvc_console-add-some-sanity-checks.patch -hvc_console-separate-hvc_console-and-vio-code.patch -hvc_console-separate-hvc_console-and-vio-code-2.patch -hvc_console-register-ops-when-setting-up-hvc_console.patch -hvc_console-separate-the-nul-character-filtering-from-get_hvc_chars.patch -hvc_console-use-hvc_get_chars-in-hvsi-code.patch -ppc64-make-idle_loop-a-ppc_md-function.patch -ppc64-move-iseries_idle-into-iseries_setupc.patch -ppc64-move-pseries-idle-functions-into-pseries_setupc.patch -ppc64-fixup-platforms-for-new-ppc_mdidle.patch -ppc64-remove-obsolete-idle_setup.patch -ppc64-iseries-idle-fixups.patch -ppc64-pseries-idle-fixups.patch -ppc64-idle-fixups.patch -ppc64-fix-compile-warning.patch -ppc64-be-consistent-about-printing-which-idle-loop-were-using.patch -ppc64-silence-perfmon-exception-warnings.patch -frv-add-defconfig.patch -mtrr-suspend-resume-cleanup.patch -clean-up-numa-defines-in-mmzoneh.patch -fix-up-non-numa-breakage-in-mmzoneh.patch -pm-more-u32-vs-pm_message_t-fixes.patch -pm-fix-u32-vs-pm_message_t-confusion-in-cpufreq.patch -fix-resume-from-initrd.patch -swsusp-fix-error-handling.patch -clean-up-processc.patch -uml-skas0-separate-kernel-address-space-on-stock-hosts.patch -uml-proper-clone-support-for-skas0.patch -uml-restore-hppfs-support.patch -uml-remove-winch-sem.patch -xtensa-remove-old-syscalls.patch -tty-output-lossage-fix.patch -page_uptodate-locking-scalability.patch -page_uptodate-locking-scalability-fix.patch -acl-kconfig-cleanup.patch -propagate-__nocast-annotations.patch -mostly_read-data-section.patch -dont-write-to-the-in-inode-xattr-space-of-reserved-inodes.patch -put_compat_shminfo-warning-fix.patch -autofs4-mistake-in-debug-print.patch -keys-base-keyring-size-on-key-pointer-not-key-struct.patch -cond_resched-fix-bogus-might_sleep-warning.patch -coverity-fbsysfs-fix-null-pointer-check.patch -coverity-fs-locks-flp-null-check.patch -coverity-sunrpc-xprt-task-null-check.patch -alpha-pgprot_noncached.patch -ib-uverbs-core-api-extensions.patch -ib-uverbs-update-kernel-midlayer-for-new-api.patch -ib-uverbs-update-mthca-for-new-api.patch -ib-uverbs-add-user-verbs-abi-header.patch -ib-uverbs-core-implementation.patch -ib-uverbs-core-implementation-fix.patch -ib-uverbs-memory-pinning-implementation.patch -ib-uverbs-hook-up-kconfig-makefile.patch -ib-uverbs-add-mthca-abi-header.patch -ib-uverbs-add-mthca-user-doorbell-record-support.patch -ib-uverbs-add-mthca-user-context-support.patch -ib-uverbs-add-mthca-mmap-support.patch -ib-uverbs-add-mthca-mmap-support-fix.patch -ib-uverbs-add-mthca-mmap-support-fix-2.patch -ib-uverbs-add-mthca-user-pd-support.patch -ib-uverbs-add-mthca-user-mr-support.patch -ib-uverbs-add-mthca-user-cq-support.patch -ib-uverbs-add-mthca-user-qp-support.patch -ib-uverbs-add-documentation-file.patch -namespacec-fix-mnt_namespace-clearing.patch -namespacec-fix-race-in-mark_mounts_for_expiry.patch -namespacec-cleanup-in-mark_mounts_for_expiry.patch -namespacec-split-mark_mounts_for_expiry.patch -namespacec-fix-expiring-of-detached-mount.patch -namespacec-fix-mnt_namespace-zeroing-for-expired-mounts.patch -set-mnt_namespace-in-the-correct-place.patch -dcookiesc-use-proper-refcounting-functions.patch