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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87v7xk2ps5.wl-tiwai@suse.de>
Date: Tue, 22 Oct 2024 16:08:58 +0200
From: Takashi Iwai <tiwai@...e.de>
To: Philipp Stanner <pstanner@...hat.com>
Cc: Damien Le Moal <dlemoal@...nel.org>,	Niklas Cassel <cassel@...nel.org>,
	Sergey Shtylyov <s.shtylyov@....ru>,	Basavaraj Natikar
 <basavaraj.natikar@....com>,	Jiri Kosina <jikos@...nel.org>,	Benjamin
 Tissoires <bentiss@...nel.org>,	Arnd Bergmann <arnd@...db.de>,	Greg
 Kroah-Hartman <gregkh@...uxfoundation.org>,	Alex Dubov <oakad@...oo.com>,
	Sudarsana Kalluru <skalluru@...vell.com>,	Manish Chopra
 <manishc@...vell.com>,	"David S. Miller" <davem@...emloft.net>,	Eric
 Dumazet <edumazet@...gle.com>,	Jakub Kicinski <kuba@...nel.org>,	Paolo
 Abeni <pabeni@...hat.com>,	Rasesh Mody <rmody@...vell.com>,
	GR-Linux-NIC-Dev@...vell.com,	Igor Mitsyanko <imitsyanko@...ntenna.com>,
	Sergey Matyukevich <geomatsi@...il.com>,	Kalle Valo <kvalo@...nel.org>,
	Sanjay R Mehta <sanju.mehta@....com>,	Shyam Sundar S K
 <Shyam-sundar.S-k@....com>,	Jon Mason <jdmason@...zu.us>,	Dave Jiang
 <dave.jiang@...el.com>,	Allen Hubbe <allenbh@...il.com>,	Bjorn Helgaas
 <bhelgaas@...gle.com>,	Alex Williamson <alex.williamson@...hat.com>,
	Juergen Gross <jgross@...e.com>,	Stefano Stabellini
 <sstabellini@...nel.org>,	Oleksandr Tyshchenko
 <oleksandr_tyshchenko@...m.com>,	Jaroslav Kysela <perex@...ex.cz>,	Takashi
 Iwai <tiwai@...e.com>,	Chen Ni <nichen@...as.ac.cn>,	Mario Limonciello
 <mario.limonciello@....com>,	Ricky Wu <ricky_wu@...ltek.com>,	Al Viro
 <viro@...iv.linux.org.uk>,	Breno Leitao <leitao@...ian.org>,	Kevin Tian
 <kevin.tian@...el.com>,	Thomas Gleixner <tglx@...utronix.de>,	Ilpo
 Järvinen <ilpo.jarvinen@...ux.intel.com>,	Andy
 Shevchenko <andriy.shevchenko@...ux.intel.com>,	Mostafa Saleh
 <smostafa@...gle.com>,	Jason Gunthorpe <jgg@...pe.ca>,	Yi Liu
 <yi.l.liu@...el.com>,	Christian Brauner <brauner@...nel.org>,	Ankit Agrawal
 <ankita@...dia.com>,	Eric Auger <eric.auger@...hat.com>,	Reinette Chatre
 <reinette.chatre@...el.com>,	Ye Bin <yebin10@...wei.com>,	Marek
 Marczykowski-Górecki <marmarek@...isiblethingslab.com>,
	Pierre-Louis Bossart <pierre-louis.bossart@...ux.dev>,	Peter Ujfalusi
 <peter.ujfalusi@...ux.intel.com>,	Maarten Lankhorst
 <maarten.lankhorst@...ux.intel.com>,	Kai Vehmanen
 <kai.vehmanen@...ux.intel.com>,	Rui Salvaterra <rsalvaterra@...il.com>,
	linux-ide@...r.kernel.org,	linux-kernel@...r.kernel.org,
	linux-input@...r.kernel.org,	netdev@...r.kernel.org,
	linux-wireless@...r.kernel.org,	ntb@...ts.linux.dev,
	linux-pci@...r.kernel.org,	kvm@...r.kernel.org,
	xen-devel@...ts.xenproject.org,	linux-sound@...r.kernel.org
Subject: Re: [PATCH 02/13] ALSA: hda_intel: Use always-managed version of pcim_intx()

On Tue, 15 Oct 2024 20:51:12 +0200,
Philipp Stanner wrote:
> 
> pci_intx() is a hybrid function which can sometimes be managed through
> devres. To remove this hybrid nature from pci_intx(), it is necessary to
> port users to either an always-managed or a never-managed version.
> 
> hda_intel enables its PCI-Device with pcim_enable_device(). Thus, it needs
> the always-managed version.
> 
> Replace pci_intx() with pcim_intx().
> 
> Signed-off-by: Philipp Stanner <pstanner@...hat.com>
> ---
>  sound/pci/hda/hda_intel.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
> index b4540c5cd2a6..b44ca7b6e54f 100644
> --- a/sound/pci/hda/hda_intel.c
> +++ b/sound/pci/hda/hda_intel.c
> @@ -786,7 +786,7 @@ static int azx_acquire_irq(struct azx *chip, int do_disconnect)
>  	}
>  	bus->irq = chip->pci->irq;
>  	chip->card->sync_irq = bus->irq;
> -	pci_intx(chip->pci, !chip->msi);
> +	pcim_intx(chip->pci, !chip->msi);
>  	return 0;
>  }
>  

Hm, it's OK-ish to do this as it's practically same as what pci_intx()
currently does.  But, the current code can be a bit inconsistent about
the original intx value.  pcim_intx() always stores !enable to
res->orig_intx unconditionally, and it means that the orig_intx value
gets overridden at each time pcim_intx() gets called.

Meanwhile, HD-audio driver does release and re-acquire the interrupt
after disabling MSI when something goes wrong, and pci_intx() call
above is a part of that procedure.  So, it can rewrite the
res->orig_intx to another value by retry without MSI.  And after the
driver removal, it'll lead to another state.

In anyway, as it doesn't change the current behavior, feel free to
take my ack for now:

Acked-by: Takashi Iwai <tiwai@...e.de>


thanks,

Takashi

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ