lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 24 Apr 2012 10:54:41 -0400 From: "jonsmirl@...il.com" <jonsmirl@...il.com> To: netdev@...r.kernel.org Subject: Problem with iosize in Davicom DM9000 driver In the probe code of the DM9000 driver... iosize = resource_size(db->data_res); ------ iosize is the size of the resource block static inline resource_size_t resource_size(const struct resource *res) { return res->end - res->start + 1; } db->data_req = request_mem_region(db->data_res->start, iosize, pdev->name); if (db->data_req == NULL) { dev_err(db->dev, "cannot claim data reg area\n"); ret = -EIO; goto out; } db->io_data = ioremap(db->data_res->start, iosize); if (db->io_data == NULL) { dev_err(db->dev, "failed to ioremap data reg\n"); ret = -EINVAL; goto out; } /* fill in parameters for net-dev structure */ ndev->base_addr = (unsigned long)db->io_addr; ndev->irq = db->irq_res->start; /* ensure at least we have a default set of IO routines */ dm9000_set_io(db, iosize); -------------------------- ---- but it is passed into this routine which is expecting byte_width. ---- luckily the default case turns it into 32b IO which works on most systems. ---- I hit this working on a system with a 16b bus static void dm9000_set_io(struct board_info *db, int byte_width) { /* use the size of the data resource to work out what IO * routines we want to use */ switch (byte_width) { -- Jon Smirl jonsmirl@...il.com -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists