public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Marcelo Schmitt <marcelo.schmitt@analog.com>
Cc: <apw@canonical.com>, <joe@perches.com>, <dwaipayanray1@gmail.com>,
	<lukas.bulwahn@gmail.com>, <paul.cercueil@analog.com>,
	<Michael.Hennerich@analog.com>, <lars@metafoo.de>,
	<robh+dt@kernel.org>, <krzysztof.kozlowski+dt@linaro.org>,
	<conor+dt@kernel.org>, <dan.carpenter@linaro.org>,
	<dlechner@baylibre.com>, <marcelo.schmitt1@gmail.com>,
	<linux-iio@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v4 02/15] iio: adc: ad7091r: Pass iio_dev to event handler
Date: Sun, 17 Dec 2023 14:53:39 +0000	[thread overview]
Message-ID: <20231217145339.1ec0e1cd@jic23-huawei> (raw)
In-Reply-To: <5024b764107463de9578d5b3b0a3d5678e307b1a.1702746240.git.marcelo.schmitt1@gmail.com>

On Sat, 16 Dec 2023 14:46:11 -0300
Marcelo Schmitt <marcelo.schmitt@analog.com> wrote:

> Previous version of ad7091r event handler received the ADC state pointer
> and retrieved the iio device from driver data field with dev_get_drvdata().
> However, no driver data have ever been set, which led to null pointer
> dereference when running the event handler.
> 
> Pass the iio device to the event handler and retrieve the ADC state struct
> from it so we avoid the null pointer dereference and save the driver from
> filling the driver data field.
> 
> Fixes: ca69300173b6 ("iio: adc: Add support for AD7091R5 ADC")
> Signed-off-by: Marcelo Schmitt <marcelo.schmitt@analog.com>
Given we are late in the cycle, I've applied this to the togreg branch of iio.git
and it will hopefully go in during the merge window rather than before.
Marked it for stable though so should get backported appropriately.

Thanks,

Jonathan

> ---
>  drivers/iio/adc/ad7091r-base.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/iio/adc/ad7091r-base.c b/drivers/iio/adc/ad7091r-base.c
> index 8e252cde735b..0e5d3d2e9c98 100644
> --- a/drivers/iio/adc/ad7091r-base.c
> +++ b/drivers/iio/adc/ad7091r-base.c
> @@ -174,8 +174,8 @@ static const struct iio_info ad7091r_info = {
>  
>  static irqreturn_t ad7091r_event_handler(int irq, void *private)
>  {
> -	struct ad7091r_state *st = (struct ad7091r_state *) private;
> -	struct iio_dev *iio_dev = dev_get_drvdata(st->dev);
> +	struct iio_dev *iio_dev = private;
> +	struct ad7091r_state *st = iio_priv(iio_dev);
>  	unsigned int i, read_val;
>  	int ret;
>  	s64 timestamp = iio_get_time_ns(iio_dev);
> @@ -234,7 +234,7 @@ int ad7091r_probe(struct device *dev, const char *name,
>  	if (irq) {
>  		ret = devm_request_threaded_irq(dev, irq, NULL,
>  				ad7091r_event_handler,
> -				IRQF_TRIGGER_FALLING | IRQF_ONESHOT, name, st);
> +				IRQF_TRIGGER_FALLING | IRQF_ONESHOT, name, iio_dev);
>  		if (ret)
>  			return ret;
>  	}


  reply	other threads:[~2023-12-17 14:53 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-16 17:44 [PATCH v4 00/15] Add support for AD7091R-2/-4/-8 Marcelo Schmitt
2023-12-16 17:45 ` [PATCH v4 01/15] scripts: checkpatch: Add __aligned to the list of attribute notes Marcelo Schmitt
2023-12-16 18:07   ` Joe Perches
2023-12-17 14:51     ` Jonathan Cameron
2023-12-16 17:46 ` [PATCH v4 02/15] iio: adc: ad7091r: Pass iio_dev to event handler Marcelo Schmitt
2023-12-17 14:53   ` Jonathan Cameron [this message]
2023-12-16 17:46 ` [PATCH v4 03/15] iio: adc: ad7091r: Set alert bit in config register Marcelo Schmitt
2023-12-17 14:55   ` Jonathan Cameron
2023-12-18 17:22     ` Marcelo Schmitt
2023-12-16 17:47 ` [PATCH v4 04/15] iio: adc: ad7091r: Align arguments to function call parenthesis Marcelo Schmitt
2023-12-17 14:57   ` Jonathan Cameron
2023-12-16 17:47 ` [PATCH v4 05/15] iio: adc: ad7091r: Move generic AD7091R code to base driver and header file Marcelo Schmitt
2023-12-17 14:59   ` Jonathan Cameron
2023-12-16 17:47 ` [PATCH v4 06/15] iio: adc: ad7091r: Move chip init data to container struct Marcelo Schmitt
2023-12-17 13:04   ` [PATCH v4 6/15] " kernel test robot
2023-12-17 14:48     ` Jonathan Cameron
2023-12-16 17:48 ` [PATCH v4 07/15] iio: adc: ad7091r: Remove unneeded probe parameters Marcelo Schmitt
2023-12-16 17:48 ` [PATCH v4 08/15] iio: adc: ad7091r: Set device mode through chip_info callback Marcelo Schmitt
2023-12-16 17:49 ` [PATCH v4 09/15] iio: adc: ad7091r: Enable internal vref if external vref is not supplied Marcelo Schmitt
2023-12-17 15:41   ` Jonathan Cameron
2023-12-18 17:35     ` Marcelo Schmitt
2023-12-20 14:04       ` Jonathan Cameron
2023-12-18  0:36   ` David Lechner
2023-12-18 17:42     ` Marcelo Schmitt
2023-12-16 17:49 ` [PATCH v4 10/15] iio: adc: ad7091r: Add chip_info callback to get conversion result channel Marcelo Schmitt
2023-12-16 17:49 ` [PATCH v4 11/15] iio: adc: Split AD7091R-5 config symbol Marcelo Schmitt
2023-12-16 17:50 ` [PATCH v4 12/15] dt-bindings: iio: Add AD7091R-8 Marcelo Schmitt
2023-12-16 23:55   ` Conor Dooley
2023-12-16 17:50 ` [PATCH v4 13/15] iio: adc: Add support for AD7091R-8 Marcelo Schmitt
2023-12-17 15:46   ` Jonathan Cameron
2023-12-16 17:51 ` [PATCH v4 14/15] MAINTAINERS: Add MAINTAINERS entry for AD7091R Marcelo Schmitt
2023-12-16 17:51 ` [PATCH v4 15/15] iio: adc: ad7091r: Allow users to configure device events Marcelo Schmitt
2023-12-17 15:54   ` Jonathan Cameron
2023-12-17 23:58   ` David Lechner
2023-12-18  0:10     ` David Lechner
2023-12-18  0:30   ` David Lechner

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=20231217145339.1ec0e1cd@jic23-huawei \
    --to=jic23@kernel.org \
    --cc=Michael.Hennerich@analog.com \
    --cc=apw@canonical.com \
    --cc=conor+dt@kernel.org \
    --cc=dan.carpenter@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dlechner@baylibre.com \
    --cc=dwaipayanray1@gmail.com \
    --cc=joe@perches.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lukas.bulwahn@gmail.com \
    --cc=marcelo.schmitt1@gmail.com \
    --cc=marcelo.schmitt@analog.com \
    --cc=paul.cercueil@analog.com \
    --cc=robh+dt@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox