Mercurial > illumos > illumos-gate
changeset 12828:2ad74dc35297
6967941 BAD TRAP: type=8 (#df Double fault) during reboot on x86 32bit systems in snv_144
author | Sowmini Varadhan <Sowmini.Varadhan@oracle.COM> |
---|---|
date | Tue, 13 Jul 2010 15:48:42 -0400 |
parents | 3cc06341886c |
children | 0336e913b141 |
files | usr/src/uts/common/io/dld/dld_str.c usr/src/uts/common/io/mac/mac_protect.c usr/src/uts/common/sys/mac_provider.h |
diffstat | 3 files changed, 7 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/uts/common/io/dld/dld_str.c Tue Jul 13 12:06:07 2010 -0700 +++ b/usr/src/uts/common/io/dld/dld_str.c Tue Jul 13 15:48:42 2010 -0400 @@ -1725,7 +1725,7 @@ mblk_t *mp; dl_notify_ind_t *dlip; size_t mp_size; - mac_protect_t mrp; + mac_protect_t *mrp; if (!(dsp->ds_notifications & DL_NOTE_ALLOWED_IPS)) return; @@ -1734,7 +1734,7 @@ if ((mp = mexchange(dsp->ds_wq, NULL, mp_size, M_PROTO, 0)) == NULL) return; - mac_protect_get(dsp->ds_mh, &mrp); + mrp = mac_protect_get(dsp->ds_mh); bzero(mp->b_rptr, mp_size); dlip = (dl_notify_ind_t *)mp->b_rptr; dlip->dl_primitive = DL_NOTIFY_IND; @@ -1742,7 +1742,7 @@ dlip->dl_data = 0; dlip->dl_addr_offset = sizeof (dl_notify_ind_t); dlip->dl_addr_length = sizeof (mac_protect_t); - bcopy(&mrp, mp->b_rptr + sizeof (dl_notify_ind_t), + bcopy(mrp, mp->b_rptr + sizeof (dl_notify_ind_t), sizeof (mac_protect_t)); qreply(dsp->ds_wq, mp);
--- a/usr/src/uts/common/io/mac/mac_protect.c Tue Jul 13 12:06:07 2010 -0700 +++ b/usr/src/uts/common/io/mac/mac_protect.c Tue Jul 13 15:48:42 2010 -0400 @@ -2295,10 +2295,10 @@ return (B_FALSE); } -void -mac_protect_get(mac_handle_t mh, mac_protect_t *mrp) +mac_protect_t * +mac_protect_get(mac_handle_t mh) { mac_impl_t *mip = (mac_impl_t *)mh; - *mrp = mip->mi_resource_props.mrp_protect; + return (&mip->mi_resource_props.mrp_protect); }
--- a/usr/src/uts/common/sys/mac_provider.h Tue Jul 13 12:06:07 2010 -0700 +++ b/usr/src/uts/common/sys/mac_provider.h Tue Jul 13 15:48:42 2010 -0400 @@ -455,7 +455,7 @@ /* * Driver interface functions. */ -extern void mac_protect_get(mac_handle_t, mac_protect_t *); +extern mac_protect_t *mac_protect_get(mac_handle_t); extern void mac_sdu_get(mac_handle_t, uint_t *, uint_t *); extern int mac_maxsdu_update(mac_handle_t, uint_t);