Mikulas Patocka
a7f79052d1
block: fix an integer overflow in logical block size
...
commit ad6bf88a6c19a39fb3b0045d78ea880325dfcf15 upstream.
Logical block size has type unsigned short. That means that it can be at
most 32768. However, there are architectures that can run with 64k pages
(for example arm64) and on these architectures, it may be possible to
create block devices with 64k block size.
For exmaple (run this on an architecture with 64k pages):
Mount will fail with this error because it tries to read the superblock using 2-sector
access:
device-mapper: writecache: I/O is not aligned, sector 2, size 1024, block size 65536
EXT4-fs (dm-0): unable to read superblock
This patch changes the logical block size from unsigned short to unsigned
int to avoid the overflow.
Cc: stable@vger.kernel.org
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-01-23 08:21:29 +01:00
..
bcache
bcache: at least try to shrink 1 node in bch_mca_scan()
2020-01-04 19:12:58 +01:00
persistent-data
dm btree: increase rebalance threshold in __rebalance2()
2019-12-21 10:57:41 +01:00
dm-bio-prison-v1.c
dm: adjust structure members to improve alignment
2018-06-08 11:53:14 -04:00
dm-bio-prison-v1.h
block: switch bios to blk_status_t
2017-06-09 09:27:32 -06:00
dm-bio-prison-v2.c
dm: adjust structure members to improve alignment
2018-06-08 11:53:14 -04:00
dm-bio-prison-v2.h
dm bio prison v2: new interface for the bio prison
2017-03-07 11:30:16 -05:00
dm-bio-record.h
block: replace bi_bdev with a gendisk pointer and partitions index
2017-08-23 12:49:55 -06:00
dm-bufio.c
Revert "dm bufio: fix deadlock with loop device"
2019-08-29 08:28:49 +02:00
dm-builtin.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
dm-cache-background-tracker.c
dm cache background tracker: fix sparse warning
2018-04-30 15:40:40 -04:00
dm-cache-background-tracker.h
dm cache: significant rework to leverage dm-bio-prison-v2
2017-03-07 13:28:31 -05:00
dm-cache-block-types.h
linux: drop __bitwise__ everywhere
2016-12-16 00:13:41 +02:00
dm-cache-metadata.c
dm cache metadata: Fix loading discard bitset
2019-05-25 18:23:38 +02:00
dm-cache-metadata.h
dm cache: significant rework to leverage dm-bio-prison-v2
2017-03-07 13:28:31 -05:00
dm-cache-policy-internal.h
dm cache: significant rework to leverage dm-bio-prison-v2
2017-03-07 13:28:31 -05:00
dm-cache-policy-smq.c
treewide: Use array_size() in vzalloc()
2018-06-12 16:19:22 -07:00
dm-cache-policy.c
dm-cache-policy.h
dm cache: significant rework to leverage dm-bio-prison-v2
2017-03-07 13:28:31 -05:00
dm-cache-target.c
dm cache: fix bugs when a GFP_NOWAIT allocation fails
2019-10-29 09:20:03 +01:00
dm-core.h
dm: disable DISCARD if the underlying storage no longer supports it
2019-08-25 10:48:01 +02:00
dm-crypt.c
dm crypt: move detailed message into debug level
2019-09-16 08:22:14 +02:00
dm-delay.c
dm delay: fix a crash when invalid device is specified
2019-05-25 18:23:39 +02:00
dm-era-target.c
dm: allow targets to return output from messages they are sent
2018-04-03 15:04:10 -04:00
dm-exception-store.c
- Revert a dm-multipath change that caused a regression for unprivledged
2015-11-04 21:19:53 -08:00
dm-exception-store.h
dm snapshot: fix hung bios when copy error occurs
2016-01-08 20:03:05 -05:00
dm-flakey.c
dm flakey: Properly corrupt multi-page bios.
2019-12-05 09:20:36 +01:00
dm-integrity.c
dm integrity: fix a crash due to BUG_ON in __journal_read_write()
2019-08-29 08:28:55 +02:00
dm-io.c
dm: Use kzalloc for all structs with embedded biosets/mempools
2018-06-05 08:47:43 -06:00
dm-ioctl.c
dm ioctl: harden copy_params()'s copy_from_user() from malicious users
2018-11-13 11:08:49 -08:00
dm-kcopyd.c
dm kcopyd: always complete failed jobs
2019-08-29 08:28:55 +02:00
dm-linear.c
dm: Check for device sector overflow if CONFIG_LBDAF is not set
2019-01-26 09:32:42 +01:00
dm-log-userspace-base.c
dm: convert to bioset_init()/mempool_init()
2018-05-30 15:33:32 -06:00
dm-log-userspace-transfer.c
dm-log-userspace-transfer.h
dm-log-writes.c
dm log writes: make sure super sector log updates are written in order
2019-07-03 13:14:45 +02:00
dm-log.c
block,fs: use REQ_* flags directly
2016-11-01 09:43:26 -06:00
dm-mpath.c
dm mpath: remove harmful bio-based optimization
2019-12-21 10:57:40 +01:00
dm-mpath.h
dm-path-selector.c
dm-path-selector.h
dm path selector: remove 'repeat_count' return from .select_path hook
2016-02-22 22:34:42 -05:00
dm-queue-length.c
dm mpath selector: more evenly distribute ties
2018-01-29 13:44:58 -05:00
dm-raid.c
dm raid: fix false -EBUSY when handling check/repair message
2019-12-05 09:20:37 +01:00
dm-raid1.c
dm: Check for device sector overflow if CONFIG_LBDAF is not set
2019-01-26 09:32:42 +01:00
dm-region-hash.c
- Error path bug fix for overflow tests (Dan)
2018-06-12 18:28:00 -07:00
dm-round-robin.c
dm round robin: revert "use percpu 'repeat_count' and 'current_path'"
2017-02-17 00:54:09 -05:00
dm-rq.c
blk-mq: add callback of .cleanup_rq
2019-10-05 13:10:03 +02:00
dm-rq.h
dm rq: do not update rq partially in each ending bio
2017-08-28 10:23:28 -04:00
dm-service-time.c
dm mpath selector: more evenly distribute ties
2018-01-29 13:44:58 -05:00
dm-snap-persistent.c
block: fix an integer overflow in logical block size
2020-01-23 08:21:29 +01:00
dm-snap-transient.c
dm snapshot: fix hung bios when copy error occurs
2016-01-08 20:03:05 -05:00
dm-snap.c
dm snapshot: rework COW throttling to fix deadlock
2019-11-06 13:05:11 +01:00
dm-stats.c
treewide: kmalloc() -> kmalloc_array()
2018-06-12 16:19:22 -07:00
dm-stats.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
dm-stripe.c
dax: Introduce a ->copy_to_iter dax operation
2018-05-22 23:18:31 -07:00
dm-switch.c
treewide: Use array_size() in vmalloc()
2018-06-12 16:19:22 -07:00
dm-sysfs.c
dm: move request-based code out to dm-rq.[hc]
2016-06-10 15:15:44 -04:00
dm-table.c
dm table: fix invalid memory accesses with too high sector number
2019-08-29 08:28:56 +02:00
dm-target.c
dm mpath: fix missing call of path selector type->end_io
2019-09-16 08:22:12 +02:00
dm-thin-metadata.c
dm thin metadata: check if in fail_io mode when setting needs_check
2019-09-16 08:22:21 +02:00
dm-thin-metadata.h
dm thin: fix passdown_double_checking_shared_status()
2019-01-31 08:14:38 +01:00
dm-thin.c
dm thin: add sanity checks to thin-pool and external snapshot creation
2019-04-05 22:32:59 +02:00
dm-uevent.c
dm-uevent.h
dm-unstripe.c
dm: Check for device sector overflow if CONFIG_LBDAF is not set
2019-01-26 09:32:42 +01:00
dm-verity-fec.c
Refactors rslib and callers to provide a per-instance allocation area
2018-06-05 10:48:05 -07:00
dm-verity-fec.h
dm: convert to bioset_init()/mempool_init()
2018-05-30 15:33:32 -06:00
dm-verity-target.c
dm verity: use message limit for data block corruption message
2019-07-21 09:03:08 +02:00
dm-verity.h
dm verity: add 'check_at_most_once' option to only validate hashes once
2018-04-03 15:04:29 -04:00
dm-writecache.c
dm writecache: handle REQ_FUA
2019-12-17 20:34:52 +01:00
dm-zero.c
dm: don't return errnos from ->map
2017-06-09 09:27:32 -06:00
dm-zoned-metadata.c
dm zoned: reduce overhead of backing device checks
2019-12-17 20:34:53 +01:00
dm-zoned-reclaim.c
dm zoned: reduce overhead of backing device checks
2019-12-17 20:34:53 +01:00
dm-zoned-target.c
dm zoned: reduce overhead of backing device checks
2019-12-17 20:34:53 +01:00
dm-zoned.h
dm zoned: reduce overhead of backing device checks
2019-12-17 20:34:53 +01:00
dm.c
dm: disable DISCARD if the underlying storage no longer supports it
2019-08-25 10:48:01 +02:00
dm.h
dm: move dm_table_destroy() to same header as dm_table_create()
2018-01-17 09:16:06 -05:00
Kconfig
dm: add writecache target
2018-06-08 11:59:51 -04:00
Makefile
dm: add writecache target
2018-06-08 11:59:51 -04:00
md-bitmap.c
md/bitmap: avoid race window between md_bitmap_resize and bitmap_file_clear_bit
2019-12-31 16:35:25 +01:00
md-bitmap.h
md: Avoid namespace collision with bitmap API
2018-08-01 15:49:39 -07:00
md-cluster.c
md-cluster: release RESYNC lock after the last resync message
2018-08-31 17:38:10 -07:00
md-cluster.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
md-faulty.c
md: convert to bioset_init()/mempool_init()
2018-05-30 15:33:32 -06:00
md-linear.c
md: improve handling of bio with REQ_PREFLUSH in md_flush_request()
2019-12-17 20:34:55 +01:00
md-linear.h
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md
2017-11-14 16:07:26 -08:00
md-multipath.c
md: improve handling of bio with REQ_PREFLUSH in md_flush_request()
2019-12-17 20:34:55 +01:00
md-multipath.h
md: convert to bioset_init()/mempool_init()
2018-05-30 15:33:32 -06:00
md.c
md: improve handling of bio with REQ_PREFLUSH in md_flush_request()
2019-12-17 20:34:55 +01:00
md.h
md: improve handling of bio with REQ_PREFLUSH in md_flush_request()
2019-12-17 20:34:55 +01:00
raid0.c
block: fix an integer overflow in logical block size
2020-01-23 08:21:29 +01:00
raid0.h
md/raid0: avoid RAID0 data corruption due to layout confusion.
2019-10-05 13:10:12 +02:00
raid1-10.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
raid1.c
md: raid1: check rdev before reference in raid1_sync_request func
2020-01-09 10:18:57 +01:00
raid1.h
md: convert to bioset_init()/mempool_init()
2018-05-30 15:33:32 -06:00
raid5-cache.c
md/raid5: fix 'out of memory' during raid cache recovery
2019-02-06 17:30:16 +01:00
raid5-log.h
md/raid5-cache: disable reshape completely
2018-08-31 17:38:09 -07:00
raid5-ppl.c
md: convert to bioset_init()/mempool_init()
2018-05-30 15:33:32 -06:00
raid5.c
raid5: need to set STRIPE_HANDLE for batch head
2019-12-17 20:36:00 +01:00
raid5.h
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md
2018-06-09 12:01:36 -07:00
raid10.c
md: improve handling of bio with REQ_PREFLUSH in md_flush_request()
2019-12-17 20:34:55 +01:00
raid10.h
md: convert to bioset_init()/mempool_init()
2018-05-30 15:33:32 -06:00