diff options
author | Scott Bauer <scott.bauer@intel.com> | 2017-04-15 20:55:36 +0200 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2017-04-16 10:06:25 -0600 |
commit | 2849a7becb9586a09553680a8b752fdb517b26e3 (patch) | |
tree | 5413b4d53c288bfa68381206cefc2f1467a55e9c /drivers/lightnvm | |
parent | 654a01b78846b96527263acb2fc373371c281896 (diff) |
nvme/lightnvm: Prevent small buffer overflow in nvme_nvm_identify
There are two closely named structs in lightnvm:
struct nvme_nvm_addr_format and
struct nvme_addr_format.
The first struct has 4 reserved bytes at the end, the second does not.
(gdb) p sizeof(struct nvme_nvm_addr_format)
$1 = 16
(gdb) p sizeof(struct nvm_addr_format)
$2 = 12
In the nvme_nvm_identify function we memcpy from the larger struct to the
smaller struct. We incorrectly pass the length of the larger struct
and overflow by 4 bytes, lets not do that.
Signed-off-by: Scott Bauer <scott.bauer@intel.com>
Signed-off-by: Matias Bjørling <matias@cnexlabs.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'drivers/lightnvm')
0 files changed, 0 insertions, 0 deletions