hinfo_to_cinfo() does no operation on `cinfo` when `hinfo` is NULL, causing kioc_to_mimd() to copy uninitialized stack memory to userspace. Fix it by initializing `cinfo` with memset(). Cc: stable@xxxxxxxxxxxxxxx Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Peilin Ye <yepeilin.cs@xxxxxxxxx> --- drivers/scsi/megaraid/megaraid_mm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/scsi/megaraid/megaraid_mm.c b/drivers/scsi/megaraid/megaraid_mm.c index 8df53446641a..9df0e6b253a8 100644 --- a/drivers/scsi/megaraid/megaraid_mm.c +++ b/drivers/scsi/megaraid/megaraid_mm.c @@ -816,6 +816,8 @@ kioc_to_mimd(uioc_t *kioc, mimd_t __user *mimd) case MEGAIOC_QADAPINFO: + memset(&cinfo, 0, sizeof(cinfo)); + hinfo = (mraid_hba_info_t *)(unsigned long) kioc->buf_vaddr; -- 2.25.1