diff options
Diffstat (limited to 'fs/partitions/check.h')
-rw-r--r-- | fs/partitions/check.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/partitions/check.h b/fs/partitions/check.h index 4b31a97775be..52f8bd399396 100644 --- a/fs/partitions/check.h +++ b/fs/partitions/check.h | |||
@@ -15,11 +15,16 @@ struct parsed_partitions { | |||
15 | } parts[DISK_MAX_PARTS]; | 15 | } parts[DISK_MAX_PARTS]; |
16 | int next; | 16 | int next; |
17 | int limit; | 17 | int limit; |
18 | bool access_beyond_eod; | ||
18 | }; | 19 | }; |
19 | 20 | ||
20 | static inline void *read_part_sector(struct parsed_partitions *state, | 21 | static inline void *read_part_sector(struct parsed_partitions *state, |
21 | sector_t n, Sector *p) | 22 | sector_t n, Sector *p) |
22 | { | 23 | { |
24 | if (n >= get_capacity(state->bdev->bd_disk)) { | ||
25 | state->access_beyond_eod = true; | ||
26 | return NULL; | ||
27 | } | ||
23 | return read_dev_sector(state->bdev, n, p); | 28 | return read_dev_sector(state->bdev, n, p); |
24 | } | 29 | } |
25 | 30 | ||