Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 27754b34 authored by Steve French's avatar Steve French
Browse files

Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git



Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
parents 0ed3f64e 5ecfbae0
Loading
Loading
Loading
Loading
+8 −6
Original line number Original line Diff line number Diff line
@@ -1442,13 +1442,15 @@ ssize_t cifs_user_read(struct file *file, char __user *read_data,
					 &bytes_read, &smb_read_data,
					 &bytes_read, &smb_read_data,
					 &buf_type);
					 &buf_type);
			pSMBr = (struct smb_com_read_rsp *)smb_read_data;
			pSMBr = (struct smb_com_read_rsp *)smb_read_data;
			if (smb_read_data) {
				if (copy_to_user(current_offset,
				if (copy_to_user(current_offset,
					 smb_read_data + 4 /* RFC1001 hdr */
						smb_read_data +
					 + le16_to_cpu(pSMBr->DataOffset), 
						4 /* RFC1001 length field */ +
						le16_to_cpu(pSMBr->DataOffset),
						bytes_read)) {
						bytes_read)) {
					rc = -EFAULT;
					rc = -EFAULT;
				}
				}
			if (smb_read_data) {

				if(buf_type == CIFS_SMALL_BUFFER)
				if(buf_type == CIFS_SMALL_BUFFER)
					cifs_small_buf_release(smb_read_data);
					cifs_small_buf_release(smb_read_data);
				else if(buf_type == CIFS_LARGE_BUFFER)
				else if(buf_type == CIFS_LARGE_BUFFER)
+1 −1
Original line number Original line Diff line number Diff line
@@ -1403,7 +1403,7 @@ static void zap_threads (struct mm_struct *mm)
		do_each_thread(g,p) {
		do_each_thread(g,p) {
			if (mm == p->mm && p != tsk &&
			if (mm == p->mm && p != tsk &&
			    p->ptrace && p->parent->mm == mm) {
			    p->ptrace && p->parent->mm == mm) {
				__ptrace_unlink(p);
				__ptrace_detach(p, 0);
			}
			}
		} while_each_thread(g,p);
		} while_each_thread(g,p);
		write_unlock_irq(&tasklist_lock);
		write_unlock_irq(&tasklist_lock);
+1 −1
Original line number Original line Diff line number Diff line
@@ -79,7 +79,7 @@ enum nf_ip_hook_priorities {


#ifdef __KERNEL__
#ifdef __KERNEL__
extern int ip_route_me_harder(struct sk_buff **pskb);
extern int ip_route_me_harder(struct sk_buff **pskb);

extern int ip_xfrm_me_harder(struct sk_buff **pskb);
#endif /*__KERNEL__*/
#endif /*__KERNEL__*/


#endif /*__LINUX_IP_NETFILTER_H*/
#endif /*__LINUX_IP_NETFILTER_H*/
+1 −0
Original line number Original line Diff line number Diff line
@@ -84,6 +84,7 @@ extern int ptrace_readdata(struct task_struct *tsk, unsigned long src, char __us
extern int ptrace_writedata(struct task_struct *tsk, char __user *src, unsigned long dst, int len);
extern int ptrace_writedata(struct task_struct *tsk, char __user *src, unsigned long dst, int len);
extern int ptrace_attach(struct task_struct *tsk);
extern int ptrace_attach(struct task_struct *tsk);
extern int ptrace_detach(struct task_struct *, unsigned int);
extern int ptrace_detach(struct task_struct *, unsigned int);
extern void __ptrace_detach(struct task_struct *, unsigned int);
extern void ptrace_disable(struct task_struct *);
extern void ptrace_disable(struct task_struct *);
extern int ptrace_check_attach(struct task_struct *task, int kill);
extern int ptrace_check_attach(struct task_struct *task, int kill);
extern int ptrace_request(struct task_struct *child, long request, long addr, long data);
extern int ptrace_request(struct task_struct *child, long request, long addr, long data);
+4 −5
Original line number Original line Diff line number Diff line
@@ -1123,8 +1123,8 @@ static task_t *copy_process(unsigned long clone_flags,
		p->real_parent = current;
		p->real_parent = current;
	p->parent = p->real_parent;
	p->parent = p->real_parent;


	if (clone_flags & CLONE_THREAD) {
	spin_lock(&current->sighand->siglock);
	spin_lock(&current->sighand->siglock);
	if (clone_flags & CLONE_THREAD) {
		/*
		/*
		 * Important: if an exit-all has been started then
		 * Important: if an exit-all has been started then
		 * do not create this new thread - the whole thread
		 * do not create this new thread - the whole thread
@@ -1162,8 +1162,6 @@ static task_t *copy_process(unsigned long clone_flags,
			 */
			 */
			p->it_prof_expires = jiffies_to_cputime(1);
			p->it_prof_expires = jiffies_to_cputime(1);
		}
		}

		spin_unlock(&current->sighand->siglock);
	}
	}


	/*
	/*
@@ -1175,8 +1173,6 @@ static task_t *copy_process(unsigned long clone_flags,
	if (unlikely(p->ptrace & PT_PTRACED))
	if (unlikely(p->ptrace & PT_PTRACED))
		__ptrace_link(p, current->parent);
		__ptrace_link(p, current->parent);


	attach_pid(p, PIDTYPE_PID, p->pid);
	attach_pid(p, PIDTYPE_TGID, p->tgid);
	if (thread_group_leader(p)) {
	if (thread_group_leader(p)) {
		p->signal->tty = current->signal->tty;
		p->signal->tty = current->signal->tty;
		p->signal->pgrp = process_group(current);
		p->signal->pgrp = process_group(current);
@@ -1186,9 +1182,12 @@ static task_t *copy_process(unsigned long clone_flags,
		if (p->pid)
		if (p->pid)
			__get_cpu_var(process_counts)++;
			__get_cpu_var(process_counts)++;
	}
	}
	attach_pid(p, PIDTYPE_TGID, p->tgid);
	attach_pid(p, PIDTYPE_PID, p->pid);


	nr_threads++;
	nr_threads++;
	total_forks++;
	total_forks++;
	spin_unlock(&current->sighand->siglock);
	write_unlock_irq(&tasklist_lock);
	write_unlock_irq(&tasklist_lock);
	proc_fork_connector(p);
	proc_fork_connector(p);
	return p;
	return p;
Loading