On 18/07/13 17:26, John Foley wrote: > We've seen BUS errors on some platforms. I'm not confident the > following patch was ever pushed back to libsrtp. There's a chance this > may resolve the problem on sparc. Unfortunately I don't have a sparc > system to try this myself.
Thanks for this feedback The patch doesn't apply - all but one hunk fails I tried it against the Debian source package and I also tried applying it against the repository https://github.com/cisco/libsrtp Can you tell me the SVN URL where you got this and I can try checking it out and building it? > > Modified: branches/proto/libsrtp_30/srtp/include/srtp.h > =================================================================== > --- branches/proto/libsrtp_30/srtp/include/srtp.h 2013-04-24 19:44:23 UTC > (rev 1292) > +++ branches/proto/libsrtp_30/srtp/include/srtp.h 2013-04-29 14:17:03 UTC > (rev 1293) > @@ -52,6 +52,11 @@ > > #ifdef _MSC_VER > #pragma pack(4) > +#define PACK > +#elif defined(__GNUC__) > +#define PACK __attribute__ ((packed)) > +#else > +#define PACK > #endif > > #include "crypto_kernel.h" > > Modified: branches/proto/libsrtp_30/srtp/include/srtp_priv.h > =================================================================== > --- branches/proto/libsrtp_30/srtp/include/srtp_priv.h 2013-04-24 > 19:44:23 UTC (rev 1292) > +++ branches/proto/libsrtp_30/srtp/include/srtp_priv.h 2013-04-29 > 14:17:03 UTC (rev 1293) > @@ -68,7 +68,7 @@ > * fully pack the bit fields. > */ > > -typedef struct { > +typedef struct PACK { > unsigned char cc : 4; /* CSRC count */ > unsigned char x : 1; /* header extension flag */ > unsigned char p : 1; /* padding flag */ > @@ -82,7 +82,7 @@ > > #else /* BIG_ENDIAN */ > > -typedef struct { > +typedef struct PACK { > unsigned char version : 2; /* protocol version */ > unsigned char p : 1; /* padding flag */ > unsigned char x : 1; /* header extension flag */ > @@ -96,7 +96,7 @@ > > #endif > > -typedef struct { > +typedef struct PACK { > uint16_t profile_specific; /* profile-specific info */ > uint16_t length; /* number of 32-bit words in extension */ > } srtp_hdr_xtnd_t; > @@ -111,7 +111,7 @@ > > #ifndef WORDS_BIGENDIAN > > -typedef struct { > +typedef struct PACK { > unsigned char rc : 5; /* reception report count */ > unsigned char p : 1; /* padding flag */ > unsigned char version : 2; /* protocol version */ > @@ -120,7 +120,7 @@ > uint32_t ssrc; /* synchronization source */ > } srtcp_hdr_t; > > -typedef struct { > +typedef struct PACK { > unsigned int index : 31; /* srtcp packet index in network order! */ > unsigned int e : 1; /* encrypted? 1=yes */ > /* optional mikey/etc go here */ > @@ -130,7 +130,7 @@ > > #else /* BIG_ENDIAN */ > > -typedef struct { > +typedef struct PACK { > unsigned char version : 2; /* protocol version */ > unsigned char p : 1; /* padding flag */ > unsigned char rc : 5; /* reception report count */ > @@ -139,7 +139,7 @@ > uint32_t ssrc; /* synchronization source */ > } srtcp_hdr_t; > > -typedef struct { > +typedef struct PACK { > unsigned int version : 2; /* protocol version */ > unsigned int p : 1; /* padding flag */ > unsigned int count : 5; /* varies by packet type */ > @@ -147,7 +147,7 @@ > uint16_t length; /* len of uint32s of packet less header */ > } rtcp_common_t; > > -typedef struct { > +typedef struct PACK { > unsigned int e : 1; /* encrypted? 1=yes */ > unsigned int index : 31; /* srtcp packet index */ > /* optional mikey/etc go here */ > > > > On 07/18/2013 10:51 AM, Jonathan Lennox wrote: >> Sparc failing with "Bus Error" usually indicates an unaligned access. Other >> platforms tolerate this, but at some performance cost, so it's good to get >> rid of it across the board. I wouldn't expect it to be a security >> vulnerability. >> >> Can you pull the current GIT repo to see if it fails the same way? >> >> On Jul 18, 2013, at 7:47 AM, Daniel Pocock <dan...@pocock.com.au> wrote: >> >>> There is a long outstanding bug in Debian for sparc, specifically, bus >>> error in the test cases: >>> >>> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=628583 >>> >>> While the error only appears on sparc it may be indicative of other problems >>> >>> Given concern about the recent CVE-2013-2139 (buffer overflow) it might >>> also be helpful to try and correct things like this that suggest some >>> coding issues still exist >>> >>> Has anybody already looked at the issue in the past? Does the stack >>> trace suggest any particular problem? >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> See everything from the browser to the database with AppDynamics >>> Get end-to-end visibility with application monitoring from AppDynamics >>> Isolate bottlenecks and diagnose root cause in seconds. >>> Start your free trial of AppDynamics Pro today! >>> http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk >>> _______________________________________________ >>> Srtp-development mailing list >>> srtp-developm...@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/srtp-development >> -- >> Jonathan Lennox >> jonat...@vidyo.com >> >> >> >> ------------------------------------------------------------------------------ >> See everything from the browser to the database with AppDynamics >> Get end-to-end visibility with application monitoring from AppDynamics >> Isolate bottlenecks and diagnose root cause in seconds. >> Start your free trial of AppDynamics Pro today! >> http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk >> _______________________________________________ >> Srtp-development mailing list >> srtp-developm...@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/srtp-development >> > > > ------------------------------------------------------------------------------ > See everything from the browser to the database with AppDynamics > Get end-to-end visibility with application monitoring from AppDynamics > Isolate bottlenecks and diagnose root cause in seconds. > Start your free trial of AppDynamics Pro today! > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk > > > _______________________________________________ > Srtp-development mailing list > srtp-developm...@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/srtp-development