* [PATCH 1/6] arch/ia64/kernel: remove null pointer dereference
@ 2008-05-12 13:37 Julia Lawall
2008-05-12 14:37 ` Simon Holm Thøgersen
0 siblings, 1 reply; 4+ messages in thread
From: Julia Lawall @ 2008-05-12 13:37 UTC (permalink / raw)
To: tony.luck, linux-ia64, linux-kernel, kernel-janitors
From: Julia Lawall <julia@diku.dk>
If data is NULL, it is not possible to access data->ret.
The problem was detected using the following semantic match
(http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@@
expression E, E1;
identifier f;
statement S1,S2,S3;
@@
* if (E = NULL)
{
... when != if (E = NULL) S1 else S2
when != E = E1
* E->f
... when any
return ...;
}
else S3
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
---
diff -u -p a/arch/ia64/kernel/palinfo.c b/arch/ia64/kernel/palinfo.c
--- a/arch/ia64/kernel/palinfo.c 2008-05-09 16:46:57.000000000 +0200
+++ b/arch/ia64/kernel/palinfo.c 2008-05-12 08:43:35.000000000 +0200
@@ -902,7 +902,6 @@ palinfo_smp_call(void *info)
palinfo_smp_data_t *data = (palinfo_smp_data_t *)info;
if (data = NULL) {
printk(KERN_ERR "palinfo: data pointer is NULL\n");
- data->ret = 0; /* no output */
return;
}
/* does this actual call */
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/6] arch/ia64/kernel: remove null pointer dereference
2008-05-12 13:37 [PATCH 1/6] arch/ia64/kernel: remove null pointer dereference Julia Lawall
@ 2008-05-12 14:37 ` Simon Holm Thøgersen
2008-05-12 14:37 ` Julia Lawall
0 siblings, 1 reply; 4+ messages in thread
From: Simon Holm Thøgersen @ 2008-05-12 14:37 UTC (permalink / raw)
To: Julia Lawall; +Cc: tony.luck, linux-ia64, linux-kernel, kernel-janitors
man, 12 05 2008 kl. 15:37 +0200, skrev Julia Lawall:
> From: Julia Lawall <julia@diku.dk>
>
> If data is NULL, it is not possible to access data->ret.
>
> The problem was detected using the following semantic match
> (http://www.emn.fr/x-info/coccinelle/)
>
> // <smpl>
> @@
> expression E, E1;
> identifier f;
> statement S1,S2,S3;
> @@
>
> * if (E = NULL)
> {
> ... when != if (E = NULL) S1 else S2
> when != E = E1
> * E->f
> ... when any
> return ...;
> }
> else S3
> // </smpl>
>
> Signed-off-by: Julia Lawall <julia@diku.dk>
>
> ---
>
> diff -u -p a/arch/ia64/kernel/palinfo.c b/arch/ia64/kernel/palinfo.c
> --- a/arch/ia64/kernel/palinfo.c 2008-05-09 16:46:57.000000000 +0200
> +++ b/arch/ia64/kernel/palinfo.c 2008-05-12 08:43:35.000000000 +0200
> @@ -902,7 +902,6 @@ palinfo_smp_call(void *info)
> palinfo_smp_data_t *data = (palinfo_smp_data_t *)info;
> if (data = NULL) {
> printk(KERN_ERR "palinfo: data pointer is NULL\n");
> - data->ret = 0; /* no output */
> return;
> }
> /* does this actual call */
> --
The whole if block should just be deleted, as info is never NULL. There
is only palinfo_handle_smp as (indirect) user of palinfo_smp_call (by
way of smp_call_function_single) and surely palinfo_smp_call never pass
NULL.
Simon Holm Th√∏gersen
--
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/6] arch/ia64/kernel: remove null pointer dereference
2008-05-12 14:37 ` Simon Holm Thøgersen
@ 2008-05-12 14:37 ` Julia Lawall
2008-05-12 15:40 ` [PATCH] Remove NULL pointer check for argument never passed as Simon Holm Thøgersen
0 siblings, 1 reply; 4+ messages in thread
From: Julia Lawall @ 2008-05-12 14:37 UTC (permalink / raw)
To: Simon Holm Thøgersen
Cc: tony.luck, linux-ia64, linux-kernel, kernel-janitors
[-- Attachment #1: Type: TEXT/PLAIN, Size: 1504 bytes --]
On Mon, 12 May 2008, Simon Holm Thøgersen wrote:
> man, 12 05 2008 kl. 15:37 +0200, skrev Julia Lawall:
> > From: Julia Lawall <julia@diku.dk>
> >
> > If data is NULL, it is not possible to access data->ret.
> >
> > The problem was detected using the following semantic match
> > (http://www.emn.fr/x-info/coccinelle/)
> >
> > // <smpl>
> > @@
> > expression E, E1;
> > identifier f;
> > statement S1,S2,S3;
> > @@
> >
> > * if (E == NULL)
> > {
> > ... when != if (E == NULL) S1 else S2
> > when != E = E1
> > * E->f
> > ... when any
> > return ...;
> > }
> > else S3
> > // </smpl>
> >
> > Signed-off-by: Julia Lawall <julia@diku.dk>
> >
> > ---
> >
> > diff -u -p a/arch/ia64/kernel/palinfo.c b/arch/ia64/kernel/palinfo.c
> > --- a/arch/ia64/kernel/palinfo.c 2008-05-09 16:46:57.000000000 +0200
> > +++ b/arch/ia64/kernel/palinfo.c 2008-05-12 08:43:35.000000000 +0200
> > @@ -902,7 +902,6 @@ palinfo_smp_call(void *info)
> > palinfo_smp_data_t *data = (palinfo_smp_data_t *)info;
> > if (data == NULL) {
> > printk(KERN_ERR "palinfo: data pointer is NULL\n");
> > - data->ret = 0; /* no output */
> > return;
> > }
> > /* does this actual call */
> > --
>
> The whole if block should just be deleted, as info is never NULL. There
> is only palinfo_handle_smp as (indirect) user of palinfo_smp_call (by
> way of smp_call_function_single) and surely palinfo_smp_call never pass
> NULL.
OK. Will you fix it?
julia
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] Remove NULL pointer check for argument never passed as
2008-05-12 14:37 ` Julia Lawall
@ 2008-05-12 15:40 ` Simon Holm Thøgersen
0 siblings, 0 replies; 4+ messages in thread
From: Simon Holm Thøgersen @ 2008-05-12 15:40 UTC (permalink / raw)
To: Julia Lawall; +Cc: tony.luck, linux-ia64, linux-kernel, kernel-janitors
There is only palinfo_handle_smp as (indirect) user of palinfo_smp_call (by
way of smp_call_function_single) and surely palinfo_handle_smp never pass
NULL as parameter for info.
Signed-off-by: Simon Holm Th√∏gersen <odie@cs.aau.dk>
---
arch/ia64/kernel/palinfo.c | 6 ------
1 files changed, 0 insertions(+), 6 deletions(-)
diff --git a/arch/ia64/kernel/palinfo.c b/arch/ia64/kernel/palinfo.c
index 4547a20..9dc00f7 100644
--- a/arch/ia64/kernel/palinfo.c
+++ b/arch/ia64/kernel/palinfo.c
@@ -900,12 +900,6 @@ static void
palinfo_smp_call(void *info)
{
palinfo_smp_data_t *data = (palinfo_smp_data_t *)info;
- if (data = NULL) {
- printk(KERN_ERR "palinfo: data pointer is NULL\n");
- data->ret = 0; /* no output */
- return;
- }
- /* does this actual call */
data->ret = (*data->func)(data->page);
}
--
1.5.5.1.125.gc697a
--
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-05-12 15:40 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-12 13:37 [PATCH 1/6] arch/ia64/kernel: remove null pointer dereference Julia Lawall
2008-05-12 14:37 ` Simon Holm Thøgersen
2008-05-12 14:37 ` Julia Lawall
2008-05-12 15:40 ` [PATCH] Remove NULL pointer check for argument never passed as Simon Holm Thøgersen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox