Re: 2.6.12-rc1-mm1: hostap stack usage
From: Jouni Malinen <hidden>
Date: 2005-03-23 04:59:32
Also in:
lkml
(netdev added to cc:) On Tue, Mar 22, 2005 at 05:33:40PM +0100, Adrian Bunk wrote:
The stack usage in some files under drivers/net/wireless/hostap/ is too high.
Thanks; I'll fix these and submit a patch (or two) after some testing.
drivers/net/wireless/hostap/hostap_ioctl.c:
prism2_ioctl_giwaplist:
struct sockaddr addr[IW_MAX_AP];
struct iw_quality qual[IW_MAX_AP];
64 * (16 + 4) Bytes = 1280 BytesOK.
prism2_ioctl_ethtool:
struct ethtool_drvinfo info = { ETHTOOL_GDRVINFO };
196 BytesThis seems to be somewhat obsolete now since most drivers have moved to use get_drvinfo of ethtool_ops; I'll do the same.
__prism2_translate_scan:
char buf[MAX_WPA_IE_LEN * 2 + 30];
(64 * 2) + 30 Bytes = 158 BytesOK.
drivers/net/wireless/hostap/hostap_cs.c:
prism2_config:
cisparse_t parse;
u_char buf[64];
config_info_t conf;
The main offender seems to be "parse" (but I'm too lame counting how
many bytes it's exactly) resulting in nearly 1 kB stack usage.This is actually very common for PC Card drivers in the current kernel tree.. I'll change Host AP to kmalloc this, but someone might consider going through all *_cs.c drivers..
drivers/net/wireless/hostap/hostap_plx.c:
prism2_plx_check_cis:
#define CIS_MAX_LEN 256
u8 cis[CIS_MAX_LEN];OK. -- Jouni Malinen PGP id EFC895FA