All of lore.kernel.org
 help / color / mirror / Atom feed
From: Frederic Barrat <fbarrat@linux.vnet.ibm.com>
To: Vaibhav Jain <vaibhav@linux.vnet.ibm.com>, linuxppc-dev@lists.ozlabs.org
Cc: Philippe Bergheaud <philippe.bergheaud@fr.ibm.com>,
	stable@vger.kernel.org,
	"Alastair D'Silva" <alastair@linux.ibm.com>,
	Andrew Donnellan <andrew.donnellan@au1.ibm.com>,
	Christophe Lombard <christophe_lombard@fr.ibm.com>
Subject: Re: [RESEND][PATCH v2] cxl: Check if vphb exists before iterating over AFU devices
Date: Wed, 22 Nov 2017 18:26:48 +0100	[thread overview]
Message-ID: <df2375e6-94fe-b41f-e439-0665de319d3f@linux.vnet.ibm.com> (raw)
In-Reply-To: <20171122121744.18697-1-vaibhav@linux.vnet.ibm.com>



Le 22/11/2017 à 13:17, Vaibhav Jain a écrit :
> During an eeh a kernel-oops is reported if no vPHB to allocated to the

typo, "to allocated". Not important, but....

> AFU. This happens as during AFU init, an error in creation of vPHB is
> a non-fatal error. Hence afu->phb should always be checked for NULL
> before iterating over it for the virtual AFU pci devices.
> 
> This patch fixes the kenel-oops by adding a NULL pointer check for
> afu->phb before it is dereferenced.
> 
> Fixes: 9e8df8a2196("cxl: EEH support")
> Cc: stable@vger.kernel.org
> Signed-off-by: Vaibhav Jain <vaibhav@linux.vnet.ibm.com>
> ---
> Changelog:
> 
> Resend -> Added the 'Fixes' info and marking the patch to stable tree [Mpe]
> v2     -> Added the vphb NULL check to cxl_vphb_error_detected() [Andrew]
> ---
>   drivers/misc/cxl/pci.c | 12 ++++++++++--
>   1 file changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/misc/cxl/pci.c b/drivers/misc/cxl/pci.c
> index bb7fd3f4edab..18773343ab3e 100644
> --- a/drivers/misc/cxl/pci.c
> +++ b/drivers/misc/cxl/pci.c
> @@ -2083,6 +2083,9 @@ static pci_ers_result_t cxl_vphb_error_detected(struct cxl_afu *afu,
>   	/* There should only be one entry, but go through the list
>   	 * anyway
>   	 */
> +	if (afu->phb == NULL)
> +		return result;
> +
>   	list_for_each_entry(afu_dev, &afu->phb->bus->devices, bus_list) {
>   		if (!afu_dev->driver)
>   			continue;
> @@ -2124,8 +2127,7 @@ static pci_ers_result_t cxl_pci_error_detected(struct pci_dev *pdev,
>   			 * Tell the AFU drivers; but we don't care what they
>   			 * say, we're going away.
>   			 */
> -			if (afu->phb != NULL)
> -				cxl_vphb_error_detected(afu, state);
> +			cxl_vphb_error_detected(afu, state);
>   		}
>   		return PCI_ERS_RESULT_DISCONNECT;
>   	}
> @@ -2265,6 +2267,9 @@ static pci_ers_result_t cxl_pci_slot_reset(struct pci_dev *pdev)
>   		if (cxl_afu_select_best_mode(afu))
>   			goto err;
> 
> +		if (afu->phb == NULL)
> +			continue;
> +
>   		list_for_each_entry(afu_dev, &afu->phb->bus->devices, bus_list) {
>   			/* Reset the device context.
>   			 * TODO: make this less disruptive
> @@ -2327,6 +2332,9 @@ static void cxl_pci_resume(struct pci_dev *pdev)
>   	for (i = 0; i < adapter->slices; i++) {
>   		afu = adapter->afu[i];
> 
> +		if (afu->phb != NULL)
> +			continue;
> +

.. that one is more annoying.
afu->phb == NULL?

   Fred

>   		list_for_each_entry(afu_dev, &afu->phb->bus->devices, bus_list) {
>   			if (afu_dev->driver && afu_dev->driver->err_handler &&
>   			    afu_dev->driver->err_handler->resume)
> 

  reply	other threads:[~2017-11-22 17:26 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-22 12:17 [RESEND][PATCH v2] cxl: Check if vphb exists before iterating over AFU devices Vaibhav Jain
2017-11-22 17:26 ` Frederic Barrat [this message]
2017-11-23  3:40   ` Vaibhav Jain

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=df2375e6-94fe-b41f-e439-0665de319d3f@linux.vnet.ibm.com \
    --to=fbarrat@linux.vnet.ibm.com \
    --cc=alastair@linux.ibm.com \
    --cc=andrew.donnellan@au1.ibm.com \
    --cc=christophe_lombard@fr.ibm.com \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=philippe.bergheaud@fr.ibm.com \
    --cc=stable@vger.kernel.org \
    --cc=vaibhav@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.