Re: mssclamp in 4.1

This is a discussion on Re: mssclamp in 4.1 within the IPFilter forums, part of the System Security and Security Related category; This patch is for pfil and should resolve the panics. Darren Index: pfilstream.c ================================================== ================= RCS file: /devel/CVS/pfil/pfilstream....


Go Back   Usenet Forums > System Security and Security Related > IPFilter

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 02-16-2004
Darren Reed
 
Posts: n/a
Default Re: mssclamp in 4.1

This patch is for pfil and should resolve the panics.

Darren

Index: pfilstream.c
================================================== =================
RCS file: /devel/CVS/pfil/pfilstream.c,v
retrieving revision 1.56
diff -c -r1.56 pfilstream.c
*** pfilstream.c 2004/01/17 12:05:48 1.56
--- pfilstream.c 2004/02/16 10:55:44
***************
*** 202,208 ****
/* Function: pfilbind */
/* Returns: int - 0 == success, else error */
/* Parameters: q(I) - pointer to queue */
- /* Write Lock: pfil_rw */
/* */
/* Check to see if a queue (or the otherside of it) is missing a qif_t */
/* structure. If neither have one then allocate a new one, else copy the */
--- 202,207 ----
***************
*** 315,323 ****

#ifdef SIOCGTUNPARAM
case SIOCGTUNPARAM :
- WRITE_ENTER(&pfil_rw);
qif_attach(q);
- RW_EXIT(&pfil_rw);
break;
#endif

--- 314,320 ----
Index: SunOS/qif.c
================================================== =================
RCS file: /devel/CVS/pfil/SunOS/qif.c,v
retrieving revision 1.43
diff -c -r1.43 qif.c
*** qif.c 2004/01/15 11:24:01 1.43
--- qif.c 2004/02/16 10:57:40
***************
*** 263,269 ****
/* Function: qif_attach */
/* Returns: int - 0 == success, -1 == error in attaching qif_t to q */
/* Parameters: rq(I) - pointer to STREAMS read queue */
- /* Write Lock: pfil_rw */
/* */
/* Attempt to bind a qif_t structure to a specific interface given the */
/* queue pointer. Assumes the queue already has a qif_t structure tagged */
--- 263,268 ----
***************
*** 277,282 ****
--- 276,282 ----
qif_t *qif;
ill_t *ill;

+ WRITE_ENTER(&pfil_rw);
/*
* Can we map the queue to a specific ill? If not, go no futher, we
* are only interested in being associated with queues that we can
***************
*** 288,293 ****
--- 288,294 ----
cmn_err(CE_NOTE,
"PFIL: cannot find interface for rq %p",
(void *)rq);
+ RW_EXIT(&pfil_rw);
return -1;
}

***************
*** 312,319 ****
* all the information has been set with qf_bound finally set to 1
* after that.
*/
! if (qif->qf_bound == 1)
return 0;

qif->qf_sap = ill->ill_sap;
qif->qf_ppa = ill->ill_ppa;
--- 313,322 ----
* all the information has been set with qf_bound finally set to 1
* after that.
*/
! if (qif->qf_bound == 1) {
! RW_EXIT(&pfil_rw);
return 0;
+ }

qif->qf_sap = ill->ill_sap;
qif->qf_ppa = ill->ill_ppa;
***************
*** 325,330 ****
--- 328,334 ----
qif->qf_ill = ill;
qif->qf_bound = 1;
qif_ipmp_syncslave(qif);
+ RW_EXIT(&pfil_rw);

READ_ENTER(&pfh_sync.ph_lock);

Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT +1. The time now is 02:05 PM.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.0.0