Thanks Neel for pointing out #1127.

This ticket #1096 is due to a coverity report.
Potential dereference of a NULL client node. 


/AndersBj
 

-----Original Message-----
From: Anders Björnerstedt [mailto:[email protected]] 
Sent: den 23 september 2014 09:48
To: Neelakanta Reddy
Cc: [email protected]
Subject: Re: [devel] [PATCH 1 of 1] imm: In immnd_evt_proc_ccb_compl_rsp skip 
to end if PBE-OI is detached [#1096]

That is a bug.
I will write a ticket on it.

/AndersBj 

-----Original Message-----
From: Neelakanta Reddy [mailto:[email protected]]
Sent: den 23 september 2014 09:30
To: Anders Björnerstedt
Cc: [email protected]
Subject: Re: [PATCH 1 of 1] imm: In immnd_evt_proc_ccb_compl_rsp skip to end if 
PBE-OI is detached [#1096]

Hi AndersBj,



for the same case in immnd_evt_proc_ccb_apply IMMND is aborted.

if (oi_cl_node == NULL || oi_cl_node->mIsStale) {
                                                 LOG_WA("PBE went down");
                                                 /* TODO need to ABORT ccb in 
CRITICAL. or set CRITICAL below*/
                                                 err = 
SA_AIS_ERR_FAILED_OPERATION;
                                                 abort();
                                         }


Regards,
Neel.

On Monday 22 September 2014 08:22 PM, Anders Bjornerstedt wrote:
>   osaf/services/saf/immsv/immnd/immnd_evt.c |  3 ++-
>   1 files changed, 2 insertions(+), 1 deletions(-)
>
>
> The case is where a CCB has passed validation by all involved OIs. 
> Normally the next step, if PBE is enabled, is to send the completed callbac 
> to the PBE-OI.
> The PBE actually commits the ccb/sqlite-transaction in the completed callback.
>
> But in this case, the PBE has detached after the ccb has been built 
> up, but before imm-ram can send the completed-callback to the PBE. In 
> this case it is in princple ok for imm-ram to abort the CCB, since the 
> PBE has not received any completed callback and can not have comitted this 
> ccb to disk.
>
> But instead of complicating the ccb-state machine in ImmModel, just to 
> optimize an error case, the solution has been to just drop the send of 
> completed to PBE and let this error case merge with the case when the 
> message was successfully sent to the PBE yet the PBE restarted before 
> replying.
>
> The problem was that continued execution in this branch implied use of 
> the client node, which was missing.
>
> The solution is to goto the end of the function.
>
> diff --git a/osaf/services/saf/immsv/immnd/immnd_evt.c
> b/osaf/services/saf/immsv/immnd/immnd_evt.c
> --- a/osaf/services/saf/immsv/immnd/immnd_evt.c
> +++ b/osaf/services/saf/immsv/immnd/immnd_evt.c
> @@ -3727,7 +3727,7 @@ static void immnd_evt_proc_ccb_compl_rsp
>                       if(pbeConn) {
>                               TRACE_5("PBE is LOCAL - send completed upcall 
> for %u", evt->info.ccbUpcallRsp.ccbId);
>                               /* The PBE is connected at THIS node. Make the 
> completed upcall.
> -                                If the PBE decides to commit it soes so 
> immediately.
> +                                If the PBE decides to commit it does so 
> immediately.
>                                  It does not wait for the apply upcall.
>                                */
>                               SaImmOiHandleT implHandle = 
> m_IMMSV_PACK_HANDLE(pbeConn, 
> pbeNodeId); @@ -3745,6 +3745,7 @@ static void immnd_evt_proc_ccb_compl_rsp
>                                          But actually we know here that we 
> have not sent the completed call to
>                                          the pbe. This means it should be 
> easy to abort!
>                                        */
> +                                     goto done;
>                               }
>   
>                               memset(&send_evt, '\0', sizeof(IMMSV_EVT));


------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer Achieve PCI DSS 
3.0 Compliant Status with Out-of-the-box PCI DSS Reports Are you Audit-Ready 
for PCI DSS 3.0 Compliance? Download White paper Comply to PCI DSS 3.0 
Requirement 10 and 11.5 with EventLog Analyzer 
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to