All of lore.kernel.org
 help / color / mirror / Atom feed
* + kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch added to -mm tree
@ 2010-01-12 22:11 akpm
  0 siblings, 0 replies; 9+ messages in thread
From: akpm @ 2010-01-12 22:11 UTC (permalink / raw)
  To: mm-commits; +Cc: roel.kluin, avi, mtosatti, tony.luck, xiantao.zhang


The patch titled
     kvm/ia64: dereference of NULL pointer in set_pal_result()
has been added to the -mm tree.  Its filename is
     kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch

Before you just go and hit "reply", please:
   a) Consider who else should be cc'ed
   b) Prefer to cc a suitable mailing list as well
   c) Ideally: find the original patch on the mailing list and do a
      reply-to-all to that, adding suitable additional cc's

*** Remember to use Documentation/SubmitChecklist when testing your code ***

See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find
out what to do about this

The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/

------------------------------------------------------
Subject: kvm/ia64: dereference of NULL pointer in set_pal_result()
From: Roel Kluin <roel.kluin@gmail.com>

Do not dereference a NULL pointer

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Cc: Xiantao Zhang <xiantao.zhang@intel.com>
Cc: Avi Kivity <avi@redhat.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>
Cc: Tony Luck <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 arch/ia64/kvm/kvm_fw.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

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);
 }
_

Patches currently in -mm which might be from roel.kluin@gmail.com are

origin.patch
linux-next.patch
acpi-fix-confusion-in-acpi_evaluate_string-in-comment.patch
powerpc-sky-cpu-redundant-or-incorrect-tests-on-unsigned.patch
v4l-dvb-wrong-variable-tested.patch
kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch
hisax-timeout-off-by-one-in-waitrecmsg.patch
drivers-scsi-fnic-fnic_scsic-clean-up.patch
ibmmca-buffer-overflow.patch
scsi-eata-fix-buffer-overflow.patch
drivers-scsi-gdthc-fix-buffer-overflow.patch
drivers-scsi-u14-34fc-fix-uffer-overflow.patch
drivers-scsi-lpfc-lpfc_vportc-fix-read-buffer-overflow.patch
osst-fix-read-buffer-overflow.patch
gdth-unmap-ccb_phys-when-scsi_add_host-fails-in-gdth_eisa_probe_one.patch
zfcp-test-kmalloc-failure-in-scsi_get_vpd_page.patch
ncr5380-bit-mr_dma_mode-set-twice-in-ncr5380_transfer_dma.patch
scsi-pmcraid-redundant-check-in-pmcraid_check_ioctl_buffer.patch
dc395x-decrease-iteration-for-tag_number-of-max_command-in-start_scsi.patch
mpt2sas-fix-confusion-in-_scsih_sas_device_status_change_event.patch
paride-fix-off-by-one-test.patch
80211core-fix-confusion.patch
frv-duplicate-output_buffer-of-e03.patch
frv-duplicate-output_buffer-of-e03-checkpatch-fixes.patch
cryptocop-fix-assertion-in-create_output_descriptors.patch
asiliantfb-fix-test-of-unsigned-in-asiliant_calc_dclk2.patch
w1-fix-test-in-ds2482_wait_1wire_idle.patch


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: + kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch
  2010-01-12 22:11 akpm
@ 2010-01-13  9:22 ` Avi Kivity
  -1 siblings, 0 replies; 9+ messages in thread
From: Avi Kivity @ 2010-01-13  9:22 UTC (permalink / raw)
  To: kvm-ia64

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] 9+ messages in thread

* Re: + kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch added to -mm tree
@ 2010-01-13  9:22 ` Avi Kivity
  0 siblings, 0 replies; 9+ 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] 9+ messages in thread

* Re: + kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch
  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
  -1 siblings, 0 replies; 9+ messages in thread
From: Andrew Morton @ 2010-01-13  9:32 UTC (permalink / raw)
  To: kvm-ia64

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] 9+ 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
  0 siblings, 0 replies; 9+ 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] 9+ messages in thread

* Re: + kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch
  2010-01-13  9:32   ` + kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch added to -mm tree Andrew Morton
@ 2010-01-13  9:37   ` Avi Kivity
  -1 siblings, 0 replies; 9+ messages in thread
From: Avi Kivity @ 2010-01-13  9:37 UTC (permalink / raw)
  To: kvm-ia64

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] 9+ 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
  0 siblings, 0 replies; 9+ 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] 9+ messages in thread

* RE: + kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch
  2010-01-13  9:37   ` + kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch added to -mm tree Avi Kivity
@ 2010-01-13  9:59   ` Zhang, Xiantao
  -1 siblings, 0 replies; 9+ messages in thread
From: Zhang, Xiantao @ 2010-01-13  9:59 UTC (permalink / raw)
  To: kvm-ia64

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] 9+ messages in thread

* RE: + kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch added to -mm tree
@ 2010-01-13  9:59   ` Zhang, Xiantao
  0 siblings, 0 replies; 9+ 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] 9+ messages in thread

end of thread, other threads:[~2010-01-13  9:59 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-13  9:22 + kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch Avi Kivity
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 ` + kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch Andrew Morton
2010-01-13  9:32   ` + kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch added to -mm tree Andrew Morton
2010-01-13  9:37 ` + kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch Avi Kivity
2010-01-13  9:37   ` + kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch added to -mm tree Avi Kivity
2010-01-13  9:59 ` + kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch Zhang, Xiantao
2010-01-13  9:59   ` + kvm-ia64-dereference-of-null-pointer-in-set_pal_result.patch added to -mm tree Zhang, Xiantao
  -- strict thread matches above, loose matches on Subject: below --
2010-01-12 22:11 akpm

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.