diff options
Diffstat (limited to 'fs')
| -rw-r--r-- | fs/pipe.c | 10 | 
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/pipe.c b/fs/pipe.c index a72b6ff9b48a..b9422bc17028 100644 --- a/fs/pipe.c +++ b/fs/pipe.c @@ -601,10 +601,10 @@ pipe_fasync(int fd, struct file *filp, int on)  	return retval;  } -static void account_pipe_buffers(struct pipe_inode_info *pipe, +static void account_pipe_buffers(struct user_struct *user,                                   unsigned long old, unsigned long new)  { -	atomic_long_add(new - old, &pipe->user->pipe_bufs); +	atomic_long_add(new - old, &user->pipe_bufs);  }  static bool too_many_pipe_buffers_soft(struct user_struct *user) @@ -641,7 +641,7 @@ struct pipe_inode_info *alloc_pipe_info(void)  			pipe->r_counter = pipe->w_counter = 1;  			pipe->buffers = pipe_bufs;  			pipe->user = user; -			account_pipe_buffers(pipe, 0, pipe_bufs); +			account_pipe_buffers(user, 0, pipe_bufs);  			mutex_init(&pipe->mutex);  			return pipe;  		} @@ -656,7 +656,7 @@ void free_pipe_info(struct pipe_inode_info *pipe)  {  	int i; -	account_pipe_buffers(pipe, pipe->buffers, 0); +	account_pipe_buffers(pipe->user, pipe->buffers, 0);  	free_uid(pipe->user);  	for (i = 0; i < pipe->buffers; i++) {  		struct pipe_buffer *buf = pipe->bufs + i; @@ -1077,7 +1077,7 @@ static long pipe_set_size(struct pipe_inode_info *pipe, unsigned long arg)  			memcpy(bufs + head, pipe->bufs, tail * sizeof(struct pipe_buffer));  	} -	account_pipe_buffers(pipe, pipe->buffers, nr_pages); +	account_pipe_buffers(pipe->user, pipe->buffers, nr_pages);  	pipe->curbuf = 0;  	kfree(pipe->bufs);  	pipe->bufs = bufs;  | 
