On Fri, Jan 08, 2010 at 07:28:57AM +0800, Zhang, Xiantao wrote: > For the check "(p && p->exit_reason == EXIT_REASON_PAL_CALL", if p is NULL, the reference about "p->exit_reason == EXIT_REASON_PAL_CALL" won't be checked any more, so no issue here. > > diff --git a/arch/ia64/kvm/kvm_fw.c b/arch/ia64/kvm/kvm_fw.c > > index e4b8231..d28494f 100644 > > --- a/arch/ia64/kvm/kvm_fw.c > > +++ b/arch/ia64/kvm/kvm_fw.c > > @@ -75,9 +75,11 @@ static void set_pal_result(struct kvm_vcpu *vcpu, > > 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); IMHO it's not the test but the INIT_PAL_STATUS_UNIMPLEMENTED() that does the unwanted dereferencing, and that's fixed by the patch. Gabor -- --------------------------------------------------------- MTA SZTAKI Computer and Automation Research Institute Hungarian Academy of Sciences --------------------------------------------------------- -- To unsubscribe from this list: send the line "unsubscribe kvm-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html