net/tap: Allocating Large sized arrays to heap
net_init_tap has a huge stack usage of 8192 bytes approx. Moving large arrays to heap to reduce stack usage. Signed-off-by: Zhou Jie <zhoujie2011@cn.fujitsu.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
parent
287db79df8
commit
11196e95f0
@ -769,8 +769,8 @@ int net_init_tap(const NetClientOptions *opts, const char *name,
|
||||
return -1;
|
||||
}
|
||||
} else if (tap->has_fds) {
|
||||
char *fds[MAX_TAP_QUEUES];
|
||||
char *vhost_fds[MAX_TAP_QUEUES];
|
||||
char **fds = g_new(char *, MAX_TAP_QUEUES);
|
||||
char **vhost_fds = g_new(char *, MAX_TAP_QUEUES);
|
||||
int nfds, nvhosts;
|
||||
|
||||
if (tap->has_ifname || tap->has_script || tap->has_downscript ||
|
||||
@ -818,6 +818,8 @@ int net_init_tap(const NetClientOptions *opts, const char *name,
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
g_free(fds);
|
||||
g_free(vhost_fds);
|
||||
} else if (tap->has_helper) {
|
||||
if (tap->has_ifname || tap->has_script || tap->has_downscript ||
|
||||
tap->has_vnet_hdr || tap->has_queues || tap->has_vhostfds) {
|
||||
|
Loading…
Reference in New Issue
Block a user