I get a NULL pointer deference in with alps while suspending.
The following patch fixes it: alps_get_model returns a pointer or
NULL in case of errors, so we need to check for the results being NULL,
not negative.
Since it is trivial, it is maybe a candidate for 2.6.11.2.
It does not apply to -mm since the last occurence of alps_get_model
was corrected (but not the others), if needed i can send a patch for
-mm as well.
regards,
Benoit
Signed-off-by: Benoit Boissinot <[email protected]>
--- linux-clean/drivers/input/mouse/alps.c 2005-03-07 12:45:46.000000000 +0100
+++ linux-vanilla/drivers/input/mouse/alps.c 2005-03-07 12:50:12.000000000 +0100
@@ -325,7 +325,7 @@ static int alps_reconnect(struct psmouse
int model;
unsigned char param[4];
- if ((model = alps_get_model(psmouse)) < 0)
+ if (!(model = alps_get_model(psmouse)))
return -1;
if (model == ALPS_MODEL_DUALPOINT && alps_passthrough_mode(psmouse, 1))
@@ -358,7 +358,7 @@ int alps_init(struct psmouse *psmouse)
unsigned char param[4];
int model;
- if ((model = alps_get_model(psmouse)) < 0)
+ if (!(model = alps_get_model(psmouse)))
return -1;
printk(KERN_INFO "ALPS Touchpad (%s) detected\n",
@@ -412,7 +412,7 @@ int alps_init(struct psmouse *psmouse)
int alps_detect(struct psmouse *psmouse, int set_properties)
{
- if (alps_get_model(psmouse) < 0)
+ if (!alps_get_model(psmouse))
return -1;
if (set_properties) {
On Monday 07 March 2005 14:24, Benoit Boissinot wrote:
> alps_get_model returns a pointer or NULL in case of errors, so we need to
> check for the results being NULL, not negative.
2.6.11-bk2: int alps_get_model(struct psmouse *psmouse)
takes 1 argument, returns -1 on error
2.6.11-mm1: static struct alps_model_info *alps_get_model(struct psmouse *psmouse, int *version)
takes 2 arguments, returns NULL on error
> --- linux-clean/drivers/input/mouse/alps.c
> +++ linux-vanilla/drivers/input/mouse/alps.c
> - if ((model = alps_get_model(psmouse)) < 0)
> + if (!(model = alps_get_model(psmouse)))
> - if ((model = alps_get_model(psmouse)) < 0)
> + if (!(model = alps_get_model(psmouse)))
> - if (alps_get_model(psmouse) < 0)
> + if (!alps_get_model(psmouse))
To what version of kernel this patch should be applied?
Alexey
On Mon, Mar 07, 2005 at 01:24:32PM +0100, Benoit Boissinot wrote:
> I get a NULL pointer deference in with alps while suspending.
>
> The following patch fixes it: alps_get_model returns a pointer or
> NULL in case of errors, so we need to check for the results being NULL,
> not negative.
>
> Since it is trivial, it is maybe a candidate for 2.6.11.2.
>
> It does not apply to -mm since the last occurence of alps_get_model
> was corrected (but not the others), if needed i can send a patch for
> -mm as well.
I already fixed it in my tree, but feel free to push it for the sucker
tree.
> regards,
>
> Benoit
>
> Signed-off-by: Benoit Boissinot <[email protected]>
>
>
> --- linux-clean/drivers/input/mouse/alps.c 2005-03-07 12:45:46.000000000 +0100
> +++ linux-vanilla/drivers/input/mouse/alps.c 2005-03-07 12:50:12.000000000 +0100
> @@ -325,7 +325,7 @@ static int alps_reconnect(struct psmouse
> int model;
> unsigned char param[4];
>
> - if ((model = alps_get_model(psmouse)) < 0)
> + if (!(model = alps_get_model(psmouse)))
> return -1;
>
> if (model == ALPS_MODEL_DUALPOINT && alps_passthrough_mode(psmouse, 1))
> @@ -358,7 +358,7 @@ int alps_init(struct psmouse *psmouse)
> unsigned char param[4];
> int model;
>
> - if ((model = alps_get_model(psmouse)) < 0)
> + if (!(model = alps_get_model(psmouse)))
> return -1;
>
> printk(KERN_INFO "ALPS Touchpad (%s) detected\n",
> @@ -412,7 +412,7 @@ int alps_init(struct psmouse *psmouse)
>
> int alps_detect(struct psmouse *psmouse, int set_properties)
> {
> - if (alps_get_model(psmouse) < 0)
> + if (!alps_get_model(psmouse))
> return -1;
>
> if (set_properties) {
>
>
--
Vojtech Pavlik
SuSE Labs, SuSE CR
On Mon, Mar 07, 2005 at 02:10:02PM +0100, Vojtech Pavlik wrote:
> On Mon, Mar 07, 2005 at 01:24:32PM +0100, Benoit Boissinot wrote:
> > I get a NULL pointer deference in with alps while suspending.
> >
> > The following patch fixes it: alps_get_model returns a pointer or
> > NULL in case of errors, so we need to check for the results being NULL,
> > not negative.
> >
> > Since it is trivial, it is maybe a candidate for 2.6.11.2.
> >
> > It does not apply to -mm since the last occurence of alps_get_model
> > was corrected (but not the others), if needed i can send a patch for
> > -mm as well.
>
> I already fixed it in my tree, but feel free to push it for the sucker
> tree.
Oops. No, 2.6.11 doesn't need that fix. Only -mm does, and it's already
queued.
--
Vojtech Pavlik
SuSE Labs, SuSE CR
On Mon, Mar 07, 2005 at 04:06:33PM +0200, Alexey Dobriyan wrote:
> On Monday 07 March 2005 14:24, Benoit Boissinot wrote:
>
> > alps_get_model returns a pointer or NULL in case of errors, so we need to
> > check for the results being NULL, not negative.
>
> 2.6.11-bk2: int alps_get_model(struct psmouse *psmouse)
> takes 1 argument, returns -1 on error
>
> 2.6.11-mm1: static struct alps_model_info *alps_get_model(struct psmouse *psmouse, int *version)
> takes 2 arguments, returns NULL on error
>
Sorry, i misreaded the vanilla code, it only applies to -mm.
Since it seems to be fixed in bk-input, please forget the patch.
Sorry.
Benoit
--
powered by bash/screen/(urxvt/fvwm|linux-console)/gentoo/gnu/linux OS