mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 08:44:41 +00:00 
			
		
		
		
	block/ioctl.c and fs/partition/check.c: check value returned by add_partition()
Now that add_partition() has been aught to propagate errors, let's check them. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Abdel Benamrouche <draconux@gmail.com> Cc: Jens Axboe <jens.axboe@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									d805dda412
								
							
						
					
					
						commit
						04ebd4aee5
					
				
					 2 changed files with 11 additions and 4 deletions
				
			
		|  | @ -17,6 +17,7 @@ static int blkpg_ioctl(struct block_device *bdev, struct blkpg_ioctl_arg __user | |||
| 	long long start, length; | ||||
| 	int part; | ||||
| 	int i; | ||||
| 	int err; | ||||
| 
 | ||||
| 	if (!capable(CAP_SYS_ADMIN)) | ||||
| 		return -EACCES; | ||||
|  | @ -61,9 +62,9 @@ static int blkpg_ioctl(struct block_device *bdev, struct blkpg_ioctl_arg __user | |||
| 				} | ||||
| 			} | ||||
| 			/* all seems OK */ | ||||
| 			add_partition(disk, part, start, length, ADDPART_FLAG_NONE); | ||||
| 			err = add_partition(disk, part, start, length, ADDPART_FLAG_NONE); | ||||
| 			mutex_unlock(&bdev->bd_mutex); | ||||
| 			return 0; | ||||
| 			return err; | ||||
| 		case BLKPG_DEL_PARTITION: | ||||
| 			if (!disk->part[part-1]) | ||||
| 				return -ENXIO; | ||||
|  |  | |||
|  | @ -499,10 +499,16 @@ int rescan_partitions(struct gendisk *disk, struct block_device *bdev) | |||
| 		if (!size) | ||||
| 			continue; | ||||
| 		if (from + size > get_capacity(disk)) { | ||||
| 			printk(" %s: p%d exceeds device capacity\n", | ||||
| 			printk(KERN_ERR " %s: p%d exceeds device capacity\n", | ||||
| 				disk->disk_name, p); | ||||
| 			continue; | ||||
| 		} | ||||
| 		res = add_partition(disk, p, from, size, state->parts[p].flags); | ||||
| 		if (res) { | ||||
| 			printk(KERN_ERR " %s: p%d could not be added: %d\n", | ||||
| 				disk->disk_name, p, -res); | ||||
| 			continue; | ||||
| 		} | ||||
| 		add_partition(disk, p, from, size, state->parts[p].flags); | ||||
| #ifdef CONFIG_BLK_DEV_MD | ||||
| 		if (state->parts[p].flags & ADDPART_FLAG_RAID) | ||||
| 			md_autodetect_dev(bdev->bd_dev+p); | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Abdel Benamrouche
						Abdel Benamrouche