On Thu, 10 Sep 2009 14:56:42 +0200 Albert Herranz <albert_herranz@xxxxxxxx> wrote: > Some manufacturers provide vendor information in non-vendor specific CIS > tuples. For example, Broadcom uses an Extended Function tuple to provide > the MAC address on some of their network cards, as in the case of the > Nintendo Wii WLAN daughter card. > > This patch allows passing correct tuples unknown to the SDIO core to > a matching SDIO driver instead of rejecting them and failing. > This looks leaky to me. : if (i < ARRAY_SIZE(cis_tpl_list)) { : const struct cis_tpl *tpl = cis_tpl_list + i; : if (tpl_link < tpl->min_size) { : printk(KERN_ERR : "%s: bad CIS tuple 0x%02x" : " (length = %u, expected >= %u)\n", : mmc_hostname(card->host), : tpl_code, tpl_link, tpl->min_size); : ret = -EINVAL; ret == -EINVAL : } else if (tpl->parse) { : ret = tpl->parse(card, func, : this->data, tpl_link); : } : /* already successfully parsed, not needed anymore */ : if (!ret) : kfree(this); `this' doesn't get freed : } else { : /* unknown tuple */ : ret = -EILSEQ; : } : : if (ret == -EILSEQ) { `this' doesn't get remembered. : /* this tuple is unknown to the core */ : this->next = NULL; : this->code = tpl_code; : this->size = tpl_link; : *prev = this; : prev = &this->next; : pr_debug("%s: queuing CIS tuple 0x%02x length %u\n", : mmc_hostname(card->host), tpl_code, tpl_link); : /* keep on analyzing tuples */ : ret = 0; : } : : ptr += tpl_link; `this' leaks. : } while (!ret); Please check? -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html