* Re: + kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch added to -mm tree [not found] <201001122211.o0CMBSxg030700@imap1.linux-foundation.org> @ 2010-01-13 9:22 ` Avi Kivity 2010-01-13 9:32 ` Andrew Morton 0 siblings, 1 reply; 4+ messages in thread From: Avi Kivity @ 2010-01-13 9:22 UTC (permalink / raw) To: akpm Cc: KVM list, roel.kluin, mtosatti, tony.luck, xiantao.zhang, kvm-ia64@vger.kernel.org On 01/13/2010 12:11 AM, akpm@linux-foundation.org wrote: > Subject: kvm/ia64: dereference of NULL pointer in set_pal_result() > From: Roel Kluin<roel.kluin@gmail.com> > > Do not dereference a NULL pointer > > diff -puN arch/ia64/kvm/kvm_fw.c~kvm-ia64-dereference-of-null-pointer-in-set_pal_result arch/ia64/kvm/kvm_fw.c > --- a/arch/ia64/kvm/kvm_fw.c~kvm-ia64-dereference-of-null-pointer-in-set_pal_result > +++ a/arch/ia64/kvm/kvm_fw.c > @@ -75,9 +75,11 @@ static void set_pal_result(struct kvm_vc > struct exit_ctl_data *p; > > p = kvm_get_exit_data(vcpu); > - if (p&& p->exit_reason == EXIT_REASON_PAL_CALL) { > + if (!p) > + return; > + if (p->exit_reason == EXIT_REASON_PAL_CALL) { > p->u.pal_data.ret = result; > - return ; > + return; > } > INIT_PAL_STATUS_UNIMPLEMENTED(p->u.pal_data.ret); > } > kvm_get_exit_data() cannot return a NULL pointer. Where did this come from? -- error compiling committee.c: too many arguments to function ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: + kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch added to -mm tree 2010-01-13 9:22 ` + kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch added to -mm tree Avi Kivity @ 2010-01-13 9:32 ` Andrew Morton 2010-01-13 9:37 ` Avi Kivity 0 siblings, 1 reply; 4+ messages in thread From: Andrew Morton @ 2010-01-13 9:32 UTC (permalink / raw) To: Avi Kivity Cc: KVM list, roel.kluin, mtosatti, tony.luck, xiantao.zhang, kvm-ia64@vger.kernel.org On Wed, 13 Jan 2010 11:22:39 +0200 Avi Kivity <avi@redhat.com> wrote: > On 01/13/2010 12:11 AM, akpm@linux-foundation.org wrote: > > Subject: kvm/ia64: dereference of NULL pointer in set_pal_result() > > From: Roel Kluin<roel.kluin@gmail.com> > > > > Do not dereference a NULL pointer > > > > diff -puN arch/ia64/kvm/kvm_fw.c~kvm-ia64-dereference-of-null-pointer-in-set_pal_result arch/ia64/kvm/kvm_fw.c > > --- a/arch/ia64/kvm/kvm_fw.c~kvm-ia64-dereference-of-null-pointer-in-set_pal_result > > +++ a/arch/ia64/kvm/kvm_fw.c > > @@ -75,9 +75,11 @@ static void set_pal_result(struct kvm_vc > > struct exit_ctl_data *p; > > > > p = kvm_get_exit_data(vcpu); > > - if (p&& p->exit_reason == EXIT_REASON_PAL_CALL) { > > + if (!p) > > + return; > > + if (p->exit_reason == EXIT_REASON_PAL_CALL) { > > p->u.pal_data.ret = result; > > - return ; > > + return; > > } > > INIT_PAL_STATUS_UNIMPLEMENTED(p->u.pal_data.ret); > > } > > > > > kvm_get_exit_data() cannot return a NULL pointer. In that case set_pal_result() doesn't need to test for that. Roel looks for code along the lines of if (p) ... *p; > Where did this come from? I got it off linux-kernel. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: + kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch added to -mm tree 2010-01-13 9:32 ` Andrew Morton @ 2010-01-13 9:37 ` Avi Kivity 2010-01-13 9:59 ` Zhang, Xiantao 0 siblings, 1 reply; 4+ messages in thread From: Avi Kivity @ 2010-01-13 9:37 UTC (permalink / raw) To: Andrew Morton Cc: KVM list, roel.kluin, mtosatti, tony.luck, xiantao.zhang, kvm-ia64@vger.kernel.org On 01/13/2010 11:32 AM, Andrew Morton wrote: > On Wed, 13 Jan 2010 11:22:39 +0200 Avi Kivity<avi@redhat.com> wrote: > > >> On 01/13/2010 12:11 AM, akpm@linux-foundation.org wrote: >> >>> Subject: kvm/ia64: dereference of NULL pointer in set_pal_result() >>> From: Roel Kluin<roel.kluin@gmail.com> >>> >>> Do not dereference a NULL pointer >>> >>> diff -puN arch/ia64/kvm/kvm_fw.c~kvm-ia64-dereference-of-null-pointer-in-set_pal_result arch/ia64/kvm/kvm_fw.c >>> --- a/arch/ia64/kvm/kvm_fw.c~kvm-ia64-dereference-of-null-pointer-in-set_pal_result >>> +++ a/arch/ia64/kvm/kvm_fw.c >>> @@ -75,9 +75,11 @@ static void set_pal_result(struct kvm_vc >>> struct exit_ctl_data *p; >>> >>> p = kvm_get_exit_data(vcpu); >>> - if (p&& p->exit_reason == EXIT_REASON_PAL_CALL) { >>> + if (!p) >>> + return; >>> + if (p->exit_reason == EXIT_REASON_PAL_CALL) { >>> p->u.pal_data.ret = result; >>> - return ; >>> + return; >>> } >>> INIT_PAL_STATUS_UNIMPLEMENTED(p->u.pal_data.ret); >>> } >>> >>> >> >> kvm_get_exit_data() cannot return a NULL pointer. >> > In that case set_pal_result() doesn't need to test for that. > > Roel looks for code along the lines of > > if (p) > ... > > *p; > I see. I think it's worthwhile to look deeper rather than converting things mechanically. After all, the code may have actually worked before the patch. -- error compiling committee.c: too many arguments to function ^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: + kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch added to -mm tree 2010-01-13 9:37 ` Avi Kivity @ 2010-01-13 9:59 ` Zhang, Xiantao 0 siblings, 0 replies; 4+ messages in thread From: Zhang, Xiantao @ 2010-01-13 9:59 UTC (permalink / raw) To: Avi Kivity, Andrew Morton Cc: KVM list, roel.kluin@gmail.com, mtosatti@redhat.com, Luck, Tony, kvm-ia64@vger.kernel.org Avi Kivity wrote: > On 01/13/2010 11:32 AM, Andrew Morton wrote: >> On Wed, 13 Jan 2010 11:22:39 +0200 Avi Kivity<avi@redhat.com> wrote: >> >> >>> On 01/13/2010 12:11 AM, akpm@linux-foundation.org wrote: >>> >>>> Subject: kvm/ia64: dereference of NULL pointer in set_pal_result() >>>> From: Roel Kluin<roel.kluin@gmail.com> >>>> >>>> Do not dereference a NULL pointer >>>> >>>> diff -puN >>>> arch/ia64/kvm/kvm_fw.c~kvm-ia64-dereference-of-null-pointer-in-set_pal_result >>>> arch/ia64/kvm/kvm_fw.c --- >>>> a/arch/ia64/kvm/kvm_fw.c~kvm-ia64-dereference-of-null-pointer-in-set_pal_result >>>> +++ a/arch/ia64/kvm/kvm_fw.c @@ -75,9 +75,11 @@ static void >>>> set_pal_result(struct kvm_vc struct exit_ctl_data *p; >>>> >>>> p = kvm_get_exit_data(vcpu); >>>> - if (p&& p->exit_reason == EXIT_REASON_PAL_CALL) { + if (!p) >>>> + return; >>>> + if (p->exit_reason == EXIT_REASON_PAL_CALL) { >>>> p->u.pal_data.ret = result; >>>> - return ; >>>> + return; >>>> } >>>> INIT_PAL_STATUS_UNIMPLEMENTED(p->u.pal_data.ret); } >>>> >>>> >>> >>> kvm_get_exit_data() cannot return a NULL pointer. >>> >> In that case set_pal_result() doesn't need to test for that. >> >> Roel looks for code along the lines of >> >> if (p) >> ... >> >> *p; >> > > I see. I think it's worthwhile to look deeper rather than converting > things mechanically. After all, the code may have actually worked > before the patch. Originally, we want to dynamically allocate the exit_data, so needs the check. But now, it is allocated statically, so the check is unnecessary. Xiantao ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-01-13 9:59 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <201001122211.o0CMBSxg030700@imap1.linux-foundation.org>
2010-01-13 9:22 ` + kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch added to -mm tree Avi Kivity
2010-01-13 9:32 ` Andrew Morton
2010-01-13 9:37 ` Avi Kivity
2010-01-13 9:59 ` Zhang, Xiantao
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox