refresh 2.6.35 patches
SVN-Revision: 23033
This commit is contained in:
		| @@ -15,7 +15,7 @@ | |||||||
|  	void			*priv; |  	void			*priv; | ||||||
| --- a/drivers/mtd/nand/plat_nand.c | --- a/drivers/mtd/nand/plat_nand.c | ||||||
| +++ b/drivers/mtd/nand/plat_nand.c | +++ b/drivers/mtd/nand/plat_nand.c | ||||||
| @@ -91,7 +91,18 @@ static int __devinit plat_nand_probe(str | @@ -96,7 +96,18 @@ static int __devinit plat_nand_probe(str | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
|  	/* Scan to find existance of the device */ |  	/* Scan to find existance of the device */ | ||||||
|   | |||||||
| @@ -132,10 +132,11 @@ | |||||||
|   |   | ||||||
|  		e = (struct ipt_entry *)(loc_cpu_entry + off); |  		e = (struct ipt_entry *)(loc_cpu_entry + off); | ||||||
|  		if (copy_to_user(userptr + off |  		if (copy_to_user(userptr + off | ||||||
| @@ -980,6 +1021,14 @@ copy_entries_to_user(unsigned int total_ | @@ -979,6 +1020,14 @@ copy_entries_to_user(unsigned int total_ | ||||||
|  |  			ret = -EFAULT; | ||||||
|  			goto free_counters; |  			goto free_counters; | ||||||
|  		} |  		} | ||||||
|   | + | ||||||
| +		flags = e->ip.flags & ~IPT_F_NO_DEF_MATCH; | +		flags = e->ip.flags & ~IPT_F_NO_DEF_MATCH; | ||||||
| +		if (copy_to_user(userptr + off | +		if (copy_to_user(userptr + off | ||||||
| +				 + offsetof(struct ipt_entry, ip.flags), | +				 + offsetof(struct ipt_entry, ip.flags), | ||||||
| @@ -143,7 +144,6 @@ | |||||||
| +			ret = -EFAULT; | +			ret = -EFAULT; | ||||||
| +			goto free_counters; | +			goto free_counters; | ||||||
| +		} | +		} | ||||||
| + |   | ||||||
|  		for (i = sizeof(struct ipt_entry); |  		for (i = sizeof(struct ipt_entry); | ||||||
|  		     i < e->target_offset; |  		     i < e->target_offset; | ||||||
|  		     i += m->u.match_size) { |  | ||||||
|   | |||||||
| @@ -11038,14 +11038,14 @@ | |||||||
| +			yaffs_UnpackTags2(tags, &pt); | +			yaffs_UnpackTags2(tags, &pt); | ||||||
| +		} | +		} | ||||||
| +	} | +	} | ||||||
|   | + | ||||||
| -	if(tags && retval == -EBADMSG && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR) |  | ||||||
| -		tags->eccResult = YAFFS_ECC_RESULT_UNFIXED; |  | ||||||
| +	if (localData) | +	if (localData) | ||||||
| +		yaffs_ReleaseTempBuffer(dev, data, __LINE__); | +		yaffs_ReleaseTempBuffer(dev, data, __LINE__); | ||||||
|   |   | ||||||
|  | -	if(tags && retval == -EBADMSG && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR) | ||||||
| +	if (tags && retval == -EBADMSG && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR) | +	if (tags && retval == -EBADMSG && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR) | ||||||
| +		tags->eccResult = YAFFS_ECC_RESULT_UNFIXED; |  		tags->eccResult = YAFFS_ECC_RESULT_UNFIXED; | ||||||
|  | - | ||||||
|  	if (retval == 0) |  	if (retval == 0) | ||||||
|  		return YAFFS_OK; |  		return YAFFS_OK; | ||||||
|  	else |  	else | ||||||
|   | |||||||
| @@ -76,7 +76,7 @@ | |||||||
|   * macro override instead of weak attribute alias, to workaround |   * macro override instead of weak attribute alias, to workaround | ||||||
| --- a/kernel/sched.c | --- a/kernel/sched.c | ||||||
| +++ b/kernel/sched.c | +++ b/kernel/sched.c | ||||||
| @@ -4261,6 +4261,7 @@ int can_nice(const struct task_struct *p | @@ -4269,6 +4269,7 @@ int can_nice(const struct task_struct *p | ||||||
|  	return (nice_rlim <= task_rlimit(p, RLIMIT_NICE) || |  	return (nice_rlim <= task_rlimit(p, RLIMIT_NICE) || | ||||||
|  		capable(CAP_SYS_NICE)); |  		capable(CAP_SYS_NICE)); | ||||||
|  } |  } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Florian Fainelli
					Florian Fainelli