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: Thu, 25 Feb 2016 20:09:10 +0100 From: Manuel Lauss <manuel.lauss@...il.com> To: Laura Abbott <labbott@...hat.com> Cc: Tejun Heo <tj@...nel.org>, Linux-IDE <linux-ide@...r.kernel.org>, Linux Kernel Mailing List <linux-kernel@...r.kernel.org> Subject: Re: [REGRESSION] 8a3e33cf92c7 "ata: ahci: find eSATA ports and flag them as removable" changes userspace behavior On Thu, Feb 25, 2016 at 6:12 PM, Laura Abbott <labbott@...hat.com> wrote: > Hi, > > We received a bugzilla report > https://bugzilla.redhat.com/show_bug.cgi?id=1310682 > of partitions being automounted unexpectedly. Testing showed that > 8a3e33cf92c7 ("ata: ahci: find eSATA ports and flag them as removable") was > responsible. > This seems to be classified as 'breaking' userspace given that this behavior > results > in partitions that were previously unmounted now being being mounted > unwanted > automatically which is unwanted behavior for the user. Can we revert this > patch or > give a fix to change this behavior? Can you test this? I think the old HPCP bit should just be ignored, although windows does use it, i.e. when I enable hotplug capability in the bios on my desktop it shows the "eject device" icon for a device attached to the port on the motherboard, we probably can ignore it on linux to not break all automounting distros. On my laptop, where I care about this, it still works as intended. diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c index 4029679..e029e3c 100644 --- a/drivers/ata/libahci.c +++ b/drivers/ata/libahci.c @@ -1164,8 +1164,7 @@ static void ahci_port_init(struct device *dev, struct ata_port *ap, /* mark esata ports */ tmp = readl(port_mmio + PORT_CMD); - if ((tmp & PORT_CMD_HPCP) || - ((tmp & PORT_CMD_ESP) && (hpriv->cap & HOST_CAP_SXS))) + if ((tmp & PORT_CMD_ESP) && (hpriv->cap & HOST_CAP_SXS)) ap->pflags |= ATA_PFLAG_EXTERNAL; }
Powered by blists - more mailing lists