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
| ||
|
Message-Id: <20081102174622.02500138.komurojun-mbn@nifty.com> Date: Sun, 2 Nov 2008 17:46:22 +0900 From: Komuro <komurojun-mbn@...ty.com> To: linux@...inikbrodowski.net Cc: linux-kernel@...r.kernel.org, Alan Cox <alan@...rguk.ukuu.org.uk>, torvalds@...l.org, linux-pcmcia@...ts.infradead.org Subject: Re: [BUG REPORT!!!] [PATCH 19/49] pcmcia: remove remaining in-kernel pcmcia_get_configuration_info() users Dear Dominik The reason of this bug is link->io is not copied to the slave serial_cs device. My patch below fix this problem. --- ds.c.orig 2008-11-01 08:59:13.000000000 +0900 +++ ds.c 2008-11-02 17:05:44.000000000 +0900 @@ -668,6 +668,7 @@ struct pcmcia_device * pcmcia_device_add list_for_each_entry(tmp_dev, &s->devices_list, socket_device_list) if (p_dev->func == tmp_dev->func) { p_dev->function_config = tmp_dev->function_config; + p_dev->io = tmp_dev->io; kref_get(&p_dev->function_config->ref); } Best Regards Komuro > Dear Dominik > > Unfortunately, your path "[PATCH 19/49] pcmcia: remove remaining in-kernel > pcmcia_get_configuration_info() users" > broke the "serial_cs" and other drivers. > > You replace "config->BasePort2" to "link->io.BasePort2" at serial_cs. > > But link->io.BasePort2, link->io.NumPorts2(etc) > does not contain correct value (it is zero). > > Please fix this problem (or reveart the patch). > > > Best Regards > Komuro > > Here is your patch. > >--- a/drivers/serial/serial_cs.c > >+++ b/drivers/serial/serial_cs.c > >@@ -488,23 +488,23 @@ static int simple_config_check_notpicky(struct pcmcia_device *p_dev, > > static int simple_config(struct pcmcia_device *link) > > { > > struct serial_info *info = link->priv; > >- config_info_t config; > >- int i, try; > >+ int i = -ENODEV, try; > > > > /* If the card is already configured, look up the port and irq */ > >- i = pcmcia_get_configuration_info(link, &config); > >- if ((i == CS_SUCCESS) && (config.Attributes & CONF_VALID_CLIENT)) { > >+ if (link->function_config) { > > unsigned int port = 0; > >- if ((config.BasePort2 != 0) && (config.NumPorts2 == 8)) { > >- port = config.BasePort2; > >+ if ((link->io.BasePort2 != 0) && > >+ (link->io.NumPorts2 == 8)) { > >+ port = link->io.BasePort2; > > info->slave = 1; > > } else if ((info->manfid == MANFID_OSITECH) && > >- (config.NumPorts1 == 0x40)) { > >- port = config.BasePort1 + 0x28; > >+ (link->io.NumPorts1 == 0x40)) { > >+ port = link->io.BasePort1 + 0x28; > > info->slave = 1; > > } > > if (info->slave) { > >- return setup_serial(link, info, port, config.AssignedIRQ); > >+ return setup_serial(link, info, port, > >+ link->irq.AssignedIRQ); > } > } > > > > > _______________________________________________ > Linux PCMCIA reimplementation list > http://lists.infradead.org/mailman/listinfo/linux-pcmcia -- Komuro <komurojun-mbn@...ty.com> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists