vhost cross connect - system crash on module removal

Bug #1394473 reported by Anand H. Krishnan
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Fix Committed
Undecided
Anand H. Krishnan
R1.1
Fix Committed
Undecided
Anand H. Krishnan

Bug Description

If before a vrouter soft reset the physical interface was different and post reset agent adds a different physical interface (corresponding to a particular vhost), then a system crash is possible subsequently when somebody tries to remove the module. (This situation is possible because interfaces mentioned in agent_param and contrail-vrouter-agent.conf are different. Unlikely, but possible). This is because, during reset we install a handler on the physical interface that directly shunts the packet to vhost interface in the kernel. Post reset, if the interface changes, we don't remove this tap. If we then remove the vrouter module, the tap points to the module function and hence an invalid memory.

Tags: vrouter
information type: Proprietary → Public
tags: added: vrouter
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/4800
Committed: http://github.org/Juniper/contrail-vrouter/commit/c0256d85ae125cc8253abc1697e98b305e83d0cf
Submitter: Zuul
Branch: master

commit c0256d85ae125cc8253abc1697e98b305e83d0cf
Author: Anand H Krishnan <email address hidden>
Date: Wed Nov 19 22:57:43 2014 -0800

Remove the vhost tap if the physical interface corresponsing to a vhost
interface changes

If before a vrouter soft reset the physical interface was different and
post reset agent adds a different physical interface (corresponding to a
particular vhost), then a system crash is possible subsequently when
somebody tries to remove the module. (This situation can happen because
interfaces mentioned in agent_param and contrail-vrouter-agent.conf are
different. Unlikely, but possible).

The system crash is because during reset we install a handler on the
physical interface that directly shunts the packet to vhost interface in
the kernel. Post reset, if the interface changes, we don't remove this tap.
If we then remove the vrouter module, the tap points to the module function
and hence an invalid memory.

Change-Id: I28d4a7691d7caea81f849110edf7c7f7170b0bc5
Closes-BUG: #1394473

Changed in juniperopenstack:
status: New → Fix Committed
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : R1.10

Review in progress for https://review.opencontrail.org/8530
Submitter: Anand H. Krishnan (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/8530
Committed: http://github.org/Juniper/contrail-vrouter/commit/a701b0d9ee0eacf60f385e3f96cdca711da3552e
Submitter: Zuul
Branch: R1.10

commit a701b0d9ee0eacf60f385e3f96cdca711da3552e
Author: Anand H Krishnan <email address hidden>
Date: Wed Nov 19 22:57:43 2014 -0800

Remove the vhost tap if the physical interface corresponsing to a vhost
interface changes

If before a vrouter soft reset the physical interface was different and
post reset agent adds a different physical interface (corresponding to a
particular vhost), then a system crash is possible subsequently when
somebody tries to remove the module. (This situation can happen because
interfaces mentioned in agent_param and contrail-vrouter-agent.conf are
different. Unlikely, but possible).

The system crash is because during reset we install a handler on the
physical interface that directly shunts the packet to vhost interface in
the kernel. Post reset, if the interface changes, we don't remove this tap.
If we then remove the vrouter module, the tap points to the module function
and hence an invalid memory.

Change-Id: I28d4a7691d7caea81f849110edf7c7f7170b0bc5
Closes-BUG: #1394473

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.