diff options
author | Hari Kanigeri <h-kanigeri2@ti.com> | 2010-08-16 11:13:09 -0500 |
---|---|---|
committer | Ricardo Perez Olivares <x0081762@ti.com> | 2010-08-16 20:05:24 -0500 |
commit | f2046a047a51bc1b1e17ad7cf5d8f1b30c9b6e60 (patch) | |
tree | 24ba1a37baa81cb134b6acad9e0d8ba58883c0dc /drivers | |
parent | e8f6f6dccf7cd4bfa190887822c7e54cdc115836 (diff) |
SYSLINK:ProcMgr-fix compile warning due to stack overflow
This is to fix the following compile warning in procmgr_dr
> drivers/dsp/syslink/procmgr/procmgr_drv.c: In function 'proc_mgr_drv_ioctl':
> drivers/dsp/syslink/procmgr/procmgr_drv.c:582: warning: the frame size of
1328 bytes is larger than 1024 bytes
The compile warning is coming due to static declaration of proc_mgr_proc_info
structure. The fix is changing it do dynamic allocation.
Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/dsp/syslink/procmgr/procmgr_drv.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/dsp/syslink/procmgr/procmgr_drv.c b/drivers/dsp/syslink/procmgr/procmgr_drv.c index d6c82ad1718c..4c70c93c7817 100644 --- a/drivers/dsp/syslink/procmgr/procmgr_drv.c +++ b/drivers/dsp/syslink/procmgr/procmgr_drv.c @@ -503,7 +503,7 @@ static int proc_mgr_drv_ioctl(struct inode *inode, struct file *filp, case CMD_PROCMGR_GETPROCINFO: { struct proc_mgr_cmd_args_get_proc_info src_args; - struct proc_mgr_proc_info proc_info; + struct proc_mgr_proc_info *proc_info; /* Copy the full args from user-side. */ retval = copy_from_user((void *)&src_args, @@ -511,14 +511,20 @@ static int proc_mgr_drv_ioctl(struct inode *inode, struct file *filp, sizeof(struct proc_mgr_cmd_args_get_proc_info)); if (WARN_ON(retval != 0)) goto func_exit; + + proc_info = kzalloc(sizeof(struct proc_mgr_proc_info), + GFP_KERNEL); retval = proc_mgr_get_proc_info - (src_args.handle, &proc_info); - if (WARN_ON(retval < 0)) + (src_args.handle, proc_info); + if (WARN_ON(retval < 0)) { + kfree(proc_info); goto func_exit; + } retval = copy_to_user((void *)(src_args.proc_info), - (const void *) &proc_info, + (const void *) proc_info, sizeof(struct proc_mgr_proc_info)); WARN_ON(retval < 0); + kfree(proc_info); } break; |