cxl/mem: Fix potential memory leak
authorBen Widawsky <ben.widawsky@intel.com>
Sun, 21 Feb 2021 03:58:46 +0000 (19:58 -0800)
committerDan Williams <dan.j.williams@intel.com>
Mon, 22 Feb 2021 22:44:39 +0000 (14:44 -0800)
commit88ff5d466c0250259818f3153dbdc4af1f8615dd
tree4ba72658fc8d8862b8b28188dc7d8ccf51e4c6d2
parent58294927f468a428c7a1ba09cf986fdca14a2747
cxl/mem: Fix potential memory leak

When submitting a command for userspace, input and output payload bounce
buffers are allocated. For a given command, both input and output
buffers may exist and so when allocation of the input buffer fails, the
output buffer must be freed too.

As far as I can tell, userspace can't easily exploit the leak to OOM a
machine unless the machine was already near OOM state.

Fixes: 583fa5e71cae ("cxl/mem: Add basic IOCTL interface")
Reported-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Ben Widawsky <ben.widawsky@intel.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Link: https://lore.kernel.org/r/20210221035846.680145-1-ben.widawsky@intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/cxl/mem.c