<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>48742</bug_id>
          
          <creation_ts>2010-10-31 23:34:59 -0700</creation_ts>
          <short_desc>Misaligned memory access in CloneDeserializer on all ARM arch.</short_desc>
          <delta_ts>2011-03-01 17:24:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kimmo.t.kinnunen</reporter>
          <assigned_to name="Gabor Loki">loki</assigned_to>
          <cc>barraclough</cc>
    
    <cc>christian.webkit</cc>
    
    <cc>dave+webkit</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>loki</cc>
    
    <cc>oliver</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yong.li.webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>302571</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kimmo.t.kinnunen</who>
    <bug_when>2010-10-31 23:34:59 -0700</bug_when>
    <thetext>http://bugs.webkit.org/show_bug.cgi?id=47594

There&apos;s a problem on our toolchain:
sbox-arm-none-linux-gnueabi-g++ (4.4.1)
WTF_ARM_ARCH_VERSION = 7

events/message-channel-gc-4.html --&gt; pass

Window/window-postmessage-clone.html --&gt; bus error crash

--

(gdb) bt
#0  0x3bd2fef8 in bool WebCore::CloneDeserializer::readLittleEndian&lt;unsigned long long&gt;(unsigned char const*&amp;, unsigned char const*, unsigned long long&amp;) ()
   from ./libQtWebKit.so.4.9.0
#1  0x3bd2cc40 in bool WebCore::CloneDeserializer::readLittleEndian&lt;unsigned long long&gt;(unsigned long long&amp;) () from ./libQtWebKit.so.4.9.0
#2  0x3bd28280 in WebCore::CloneDeserializer::read(double&amp;) ()
   from ./libQtWebKit.so.4.9.0
#3  0x3bd28cf0 in WebCore::CloneDeserializer::readTerminal() ()
   from ./libQtWebKit.so.4.9.0
#4  0x3bd29ff0 in WebCore::CloneDeserializer::deserialize() ()
   from ./libQtWebKit.so.4.9.0
#5  0x3bd27e1c in WebCore::CloneDeserializer::deserialize(JSC::ExecState*, JSC::JSGlobalObject*, WTF::Vector&lt;unsigned char, 0u&gt; const&amp;) ()
   from ./libQtWebKit.so.4.9.0
#6  0x3bd2aad0 in WebCore::SerializedScriptValue::deserialize(JSC::ExecState*, JSC::JSGlobalObject*) () from ./libQtWebKit.so.4.9.0
#7  0x3ba4fd34 in WebCore::jsMessageEventData(JSC::ExecState*, JSC::JSValue, JSC::Identifier const&amp;) () from ./libQtWebKit.so.4.9.0
#8  0x3c95aee8 in cti_op_get_by_id_custom_stub () from ./libQtWebKit.so.4.9.0
#9  0x3c95aee8 in cti_op_get_by_id_custom_stub () from ./libQtWebKit.so.4.9.0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303307</commentid>
    <comment_count>1</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-11-02 04:43:06 -0700</bug_when>
    <thetext>&gt; There&apos;s a problem on our toolchain:
&gt; sbox-arm-none-linux-gnueabi-g++ (4.4.1)
&gt; WTF_ARM_ARCH_VERSION = 7

Alignment problem on ARMv7? It is strange.

&gt; Window/window-postmessage-clone.html --&gt; bus error crash

This test should be on the skipped list for Qt (missing eventSender.beginDragWithFiles).

See the output of this test on ARMv7:
@@ -1,3 +1,5 @@
+CONSOLE MESSAGE: line 163: TypeError: Result of expression &apos;eventSender.beginDragWithFiles&apos; [undefined] is not a function.
+FAIL: Timed out waiting for notifyDone to be called
 Tests that we clone object hierarchies
 PASS: &apos;postMessage(cyclicObject)&apos; threw TypeError: Cannot post cyclic structures.
 PASS: &apos;postMessage(cyclicArray)&apos; threw TypeError: Cannot post cyclic structures.
@@ -26,9 +28,4 @@
 PASS: eventData is 2009-02-13T23:31:30.000Z of type object
 PASS: eventData is [object Object] of type object
 PASS: eventData is [object Array](default toString threw RangeError: Maximum call stack size exceeded.) of type object
-PASS: eventData is [object File] of type object
-PASS: eventData is [object FileList] of type object
-PASS: eventData is [object ImageData] of type object
-PASS: eventData is [object ImageData] of type object
-PASS: eventData is done of type string</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303316</commentid>
    <comment_count>2</comment_count>
    <who name="Kimmo Kinnunen">kimmo.t.kinnunen</who>
    <bug_when>2010-11-02 04:56:10 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; &gt; There&apos;s a problem on our toolchain:
&gt; &gt; sbox-arm-none-linux-gnueabi-g++ (4.4.1)
&gt; &gt; WTF_ARM_ARCH_VERSION = 7
&gt; 
&gt; Alignment problem on ARMv7? It is strange.
&gt; 
&gt; &gt; Window/window-postmessage-clone.html --&gt; bus error crash
&gt; 
&gt; This test should be on the skipped list for Qt (missing eventSender.beginDragWithFiles).

The crash occurs with the actual when opening the file with a browser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303492</commentid>
    <comment_count>3</comment_count>
    <who name="Kimmo Kinnunen">kimmo.t.kinnunen</who>
    <bug_when>2010-11-02 11:08:51 -0700</bug_when>
    <thetext>
&gt; &gt; &gt; Window/window-postmessage-clone.html --&gt; bus error crash
&gt; &gt; 
&gt; &gt; This test should be on the skipped list for Qt (missing eventSender.beginDragWithFiles).
&gt; 
&gt; The crash occurs with the actual when opening the file with a browser.

Apparently ARMv7 shouldn&apos;t be able to do multi-word unaligned reads. If it does, your kernel probably does the fixups and restores the control. This is probably as slow as it sounds (kernel trap) and should be fixed in userland code. 

You can cat /proc/cpu/alignment to see the fixups.

http://wiki.debian.org/ArmEabiFixes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303591</commentid>
    <comment_count>4</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-11-02 12:59:40 -0700</bug_when>
    <thetext>&gt; Apparently ARMv7 shouldn&apos;t be able to do multi-word unaligned reads. If it does, your kernel probably does the fixups and restores the control. This is probably as slow as it sounds (kernel trap) and should be fixed in userland code. 

That is true. I have just checked the disassembled code, and see a LDRD instruction which tries to access an odd address. This is definitely an alignment fault on every ARM arch.
Well, I will design a better construct (probably a template) to handle this situation also.

Btw, I think that using kernel trap to fix unaligned data access is better than a crash. ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304605</commentid>
    <comment_count>5</comment_count>
      <attachid>72929</attachid>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-11-04 05:40:27 -0700</bug_when>
    <thetext>Created attachment 72929
Misaligned memory access in CloneDeserializer on all ARM arch.

This will fix the missaligned memory access with GCC and RVCT on ARM. The MSCV fix is speculative.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304608</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-04 05:46:26 -0700</bug_when>
    <thetext>Attachment 72929 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;JavaScriptCore/ChangeLog&apos;, u&apos;JavaScriptCore/wtf/StdLibExtras.h&apos;, u&apos;WebCore/ChangeLog&apos;, u&apos;WebCore/bindings/js/SerializedScriptValue.cpp&apos;]&quot; exit_code: 1
JavaScriptCore/wtf/StdLibExtras.h:94:  unaligned_cast_by_type is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/wtf/StdLibExtras.h:103:  unaligned_cast_by_type is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/wtf/StdLibExtras.h:129:  unaligned_cast_by_type is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/wtf/StdLibExtras.h:138:  unaligned_cast_by_type is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/wtf/StdLibExtras.h:156:  unaligned_cast_by_type is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/wtf/StdLibExtras.h:162:  unaligned_cast_by_type is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 6 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306651</commentid>
    <comment_count>7</comment_count>
      <attachid>73345</attachid>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-11-09 00:51:03 -0800</bug_when>
    <thetext>Created attachment 73345
Misaligned memory access in CloneDeserializer on all ARM arch.

Fix readTime at WebCore/plugins/PluginDatabase.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306653</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-09 00:52:54 -0800</bug_when>
    <thetext>Attachment 73345 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;JavaScriptCore/ChangeLog&apos;, u&apos;JavaScriptCore/wtf/StdLibExtras.h&apos;, u&apos;WebCore/ChangeLog&apos;, u&apos;WebCore/bindings/js/SerializedScriptValue.cpp&apos;, u&apos;WebCore/plugins/PluginDatabase.cpp&apos;]&quot; exit_code: 1
JavaScriptCore/wtf/StdLibExtras.h:94:  unaligned_cast_by_type is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/wtf/StdLibExtras.h:103:  unaligned_cast_by_type is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/wtf/StdLibExtras.h:129:  unaligned_cast_by_type is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/wtf/StdLibExtras.h:138:  unaligned_cast_by_type is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/wtf/StdLibExtras.h:156:  unaligned_cast_by_type is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
JavaScriptCore/wtf/StdLibExtras.h:162:  unaligned_cast_by_type is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 6 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307092</commentid>
    <comment_count>9</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2010-11-09 17:46:48 -0800</bug_when>
    <thetext>Just a thought, but it would probably be more optimal on all platforms to ensure that 16-bit data is naturally aligned.

A one byte pad on unaligned strings is not likely to significantly increase the size of our serialized format.  I don&apos;t really know this code, but looking through it looks like we could probably add a NOP pad in write(const Idendentifier&amp;) adding this to force alignment conditionally as needed.

Then, in readString, when we cast the pointer to a UChar* we could also assert that it is UChar aligned.   Cleaning up the serialization in this fashion would seem like a better solution for ARM – better to actually make the data naturally aligned than work around it not being so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307099</commentid>
    <comment_count>10</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-11-09 18:07:39 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; Just a thought, but it would probably be more optimal on all platforms to ensure that 16-bit data is naturally aligned.
&gt; 
&gt; A one byte pad on unaligned strings is not likely to significantly increase the size of our serialized format.  I don&apos;t really know this code, but looking through it looks like we could probably add a NOP pad in write(const Idendentifier&amp;) adding this to force alignment conditionally as needed.
&gt; 
&gt; Then, in readString, when we cast the pointer to a UChar* we could also assert that it is UChar aligned.   Cleaning up the serialization in this fashion would seem like a better solution for ARM – better to actually make the data naturally aligned than work around it not being so.

Strings don&apos;t need padding as they&apos;re using 16bit characters, it is various tokens that are only one byte in size, if we think it&apos;s worth bumping all symbols that aren&apos;t multiple of 2 bytes up to two byte boundaries we should do that as soon as possible (eg. before localstorage, etc start using this)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307240</commentid>
    <comment_count>11</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-11-10 01:19:16 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; if we think it&apos;s worth bumping all symbols that aren&apos;t multiple of 2 bytes up to two byte boundaries we should do that as soon as possible (eg. before localstorage, etc start using this)

Well, it looks better, but &apos;long long&apos; data should be aligned to word boundary (see LDRD instruction on ARM).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308895</commentid>
    <comment_count>12</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-11-12 18:17:59 -0800</bug_when>
    <thetext>I think the safest solution to this problem is simply to make the clone serializer and deserialiser use the byte at a time copy methods for all archs that require alignment, in addition to being the incorrect endianess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309200</commentid>
    <comment_count>13</comment_count>
    <who name="Gabor Loki">loki</who>
    <bug_when>2010-11-15 00:55:49 -0800</bug_when>
    <thetext>(In reply to comment #12)
Oliver, if I understand your last comment correctly, you won&apos;t change the structure of the container. You would like those arch. which needs aligned addressing to read/write the unaligned data as a byte array. If this is what you want, please review the patch. My patch reads/writes unaligned data as a byte array.

Btw, addressing with a packed-structure is much faster than with memcpy if the length of the data is small (for example: an unaligned long long data). If the addressed data is long (like a string), the memcpy is much faster than the packed-structure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312432</commentid>
    <comment_count>14</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2010-11-22 11:28:53 -0800</bug_when>
    <thetext>936  Vector&lt;UChar&gt; alignedBuffer(length);
937  memcpy(alignedBuffer.data(), ptr, length * sizeof(UChar));
938  str = UString::adopt(alignedBuffer);
 931 if (isPointerTypeAlignmentOkay(reinterpret_cast&lt;const UChar*&gt;(ptr)))
 932 str = UString(reinterpret_cast&lt;const UChar*&gt;(ptr), length);
 933 else {
 934 Vector&lt;UChar&gt; alignedBuffer(length);
 935 memcpy(alignedBuffer.data(), ptr, length * sizeof(UChar));
 936 str = UString::adopt(alignedBuffer);
 937 }
939938 #else 

 why is this change necessary? Anyway, we need to allocate memory for the string. will the new code path be faster?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312465</commentid>
    <comment_count>15</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-11-22 12:30:19 -0800</bug_when>
    <thetext>I think the ARM guards here are a bad choice, as there are non-ARM platforms that expect aligned reads (MIPS i think).  Honestly I think the various ARM guards make the code unpleasant to read and think a better approach is simply to make all platforms with alignment constraints use the generic byte at a time model used for non-little endian platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324552</commentid>
    <comment_count>16</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-12-20 13:46:07 -0800</bug_when>
    <thetext>I believe the simplest solution to this problem is to make all architectures that have alignment requirements just take the bigendian path.  That will result in a single localised change and won&apos;t result in ifdef&apos;s being strewn around everywhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338672</commentid>
    <comment_count>17</comment_count>
      <attachid>73345</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2011-01-22 22:32:14 -0800</bug_when>
    <thetext>Comment on attachment 73345
Misaligned memory access in CloneDeserializer on all ARM arch.

r- based on Comment #15 and Comment #16.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360410</commentid>
    <comment_count>18</comment_count>
      <attachid>84330</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-03-01 17:08:49 -0800</bug_when>
    <thetext>Created attachment 84330
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360414</commentid>
    <comment_count>19</comment_count>
      <attachid>84330</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-03-01 17:13:23 -0800</bug_when>
    <thetext>Comment on attachment 84330
Patch

r+, thanks for fixing this for ARM (having tested it).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360427</commentid>
    <comment_count>20</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-03-01 17:24:25 -0800</bug_when>
    <thetext>Committed r80070: &lt;http://trac.webkit.org/changeset/80070&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72929</attachid>
            <date>2010-11-04 05:40:27 -0700</date>
            <delta_ts>2010-11-09 00:51:03 -0800</delta_ts>
            <desc>Misaligned memory access in CloneDeserializer on all ARM arch.</desc>
            <filename>0001-Misaligned-memory-access-in-CloneDeserializer-on-all.patch</filename>
            <type>text/plain</type>
            <size>6291</size>
            <attacher name="Gabor Loki">loki</attacher>
            
              <data encoding="base64">RnJvbSBhYWMzMjk2YzNiYzc3YTg5OTM3ZmVhZjVhOGE0ODIwYTkwZTM0YWRlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHYWJvciBMb2tpIDxsb2tpQGluZi51LXN6ZWdlZC5odT4KRGF0
ZTogVGh1LCA0IE5vdiAyMDEwIDEzOjM5OjEyICswMTAwClN1YmplY3Q6IFtQQVRDSF0gTWlzYWxp
Z25lZCBtZW1vcnkgYWNjZXNzIGluIENsb25lRGVzZXJpYWxpemVyIG9uIGFsbCBBUk0gYXJjaC4K
ClNpZ25lZC1vZmYtYnk6IEdhYm9yIExva2kgPGxva2lAaW5mLnUtc3plZ2VkLmh1PgotLS0KIEph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICB8ICAgMTUgKysrKysK
IEphdmFTY3JpcHRDb3JlL3d0Zi9TdGRMaWJFeHRyYXMuaCAgICAgICAgICAgICB8ICAgODMgKysr
KysrKysrKysrKysrKysrKysrKysrLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAxNiArKysrKwogV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVk
U2NyaXB0VmFsdWUuY3BwIHwgICAxOSArKystLS0KIDQgZmlsZXMgY2hhbmdlZCwgMTIyIGluc2Vy
dGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBhYWU4MjhiLi4wN2I0NmUy
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMTEtMDQgIEdhYm9yIExva2kgIDxs
b2tpQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTWlzYWxpZ25lZCBtZW1vcnkgYWNjZXNzIGluIENsb25lRGVzZXJpYWxpemVyIG9u
IGFsbCBBUk0gYXJjaC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQ4NzQyCisKKyAgICAgICAgSWYgYW4gdW5hbGlnbmVkIGRhdGEgaGFzIHRvIGJlIHJl
YWQgb3Igd3JpdHRlbiwgdGhlIHVuYWxpZ25lZF9jYXN0X2J5X3R5cGUKKyAgICAgICAgdGVtcGxh
dGUgZnVuY3Rpb24gc2hvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiByZWludGVycHJldF9jYXN0LiBU
aGlzCisgICAgICAgIGZ1bmN0aW9uIGJpbmRzIGEgcGFja2VkIHRlbXBsYXRlIHR5cGUgdG8gdGhl
IHJlcXVlc3RlZCBhZGRyZXNzCisgICAgICAgIGluIG9yZGVyIHRvIGFjY2VzcyB0aGUgYWRkcmVz
cyB3aXRob3V0IGFsaWdubWVudCBwcm9ibGVtLgorCisgICAgICAgICogd3RmL1N0ZExpYkV4dHJh
cy5oOgorICAgICAgICAodW5hbGlnbmVkX2Nhc3RfYnlfdHlwZSk6CisKIDIwMTAtMTEtMDQgIEFk
YW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBFbmFibGVkIElDQ0pQRUcg
b24gQ2hyb21pdW0gTWFjCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvU3RkTGliRXh0
cmFzLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvU3RkTGliRXh0cmFzLmgKaW5kZXggZmQ3YWRhMi4u
YThlZGFlNiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1N0ZExpYkV4dHJhcy5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9TdGRMaWJFeHRyYXMuaApAQCAtNjAsOCArNjAsMTQgQEAK
ICAqIEZvciBtb3JlIGluZm8gc2VlIHRoZSBmb2xsb3dpbmcgYnVnemlsbGEgZW50cmllczoKICAq
IC0gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4MDQ1CiAgKiAtIGh0
dHA6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NDM5NzYKKyAqCisgKiBJ
ZiBhbiB1bmFsaWduZWQgZGF0YSBoYXMgdG8gYmUgcmVhZCBvciB3cml0dGVuLCB0aGUgdW5hbGln
bmVkX2Nhc3RfYnlfdHlwZQorICogdGVtcGxhdGUgZnVuY3Rpb24gc2hvdWxkIGJlIHVzZWQuIFRo
aXMgZnVuY3Rpb24gYmluZHMgYSBwYWNrZWQgdGVtcGxhdGUgdHlwZQorICogdG8gdGhlIHJlcXVl
c3RlZCBhZGRyZXNzIGluIG9yZGVyIHRvIGFjY2VzcyB0aGUgYWRkcmVzcyB3aXRob3V0IGFsaWdu
bWVudAorICogcHJvYmxlbS4KICAqLwotI2lmIENQVShBUk0pICYmIENPTVBJTEVSKEdDQykKKyNp
ZiBDUFUoQVJNKQorCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUeXBlPgogYm9vbCBpc1BvaW50ZXJUeXBl
QWxpZ25tZW50T2theShUeXBlKiBwdHIpCiB7CkBAIC04MSw4ICs4Nyw4MyBAQCBUeXBlUHRyIHJl
aW50ZXJwcmV0X2Nhc3RfcHRyKGNvbnN0IHZvaWQqIHB0cikKICAgICBBU1NFUlQoaXNQb2ludGVy
VHlwZUFsaWdubWVudE9rYXkocmVpbnRlcnByZXRfY2FzdDxUeXBlUHRyPihwdHIpKSk7CiAgICAg
cmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8VHlwZVB0cj4ocHRyKTsKIH0KKworI2lmIENPTVBJTEVS
KEdDQykKKwordGVtcGxhdGU8dHlwZW5hbWUgVHlwZT4KK2lubGluZSBUeXBlKiB1bmFsaWduZWRf
Y2FzdF9ieV90eXBlKHZvaWQqIHB0cikKK3sKKyAgICB0eXBlZGVmIHN0cnVjdCB7CisgICAgICAg
IFR5cGUgZGF0YTsKKyAgICB9IF9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKSBQYWNrZWRTdHJ1
Y3RUeXBlOworICAgIHJldHVybiAmcmVpbnRlcnByZXRfY2FzdDxQYWNrZWRTdHJ1Y3RUeXBlKj4o
cHRyKS0+ZGF0YTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgVHlwZT4KK2lubGluZSBUeXBlKiB1
bmFsaWduZWRfY2FzdF9ieV90eXBlKGNvbnN0IHZvaWQqIHB0cikKK3sKKyAgICB0eXBlZGVmIHN0
cnVjdCB7CisgICAgICAgIFR5cGUgZGF0YTsKKyAgICB9IF9fYXR0cmlidXRlX18oKF9fcGFja2Vk
X18pKSBQYWNrZWRTdHJ1Y3RUeXBlOworICAgIHJldHVybiAmcmVpbnRlcnByZXRfY2FzdDxjb25z
dCBQYWNrZWRTdHJ1Y3RUeXBlKj4ocHRyKS0+ZGF0YTsKK30KKworI2VsaWYgQ09NUElMRVIoUlZD
VCkKKwordGVtcGxhdGU8dHlwZW5hbWUgVHlwZT4KK2lubGluZSBfX3BhY2tlZCBUeXBlKiB1bmFs
aWduZWRfY2FzdF9ieV90eXBlKHZvaWQqIHB0cikKK3sKKyAgICByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxfX3BhY2tlZCBUeXBlKj4ocHRyKTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgVHlwZT4K
K2lubGluZSBfX3BhY2tlZCBUeXBlKiB1bmFsaWduZWRfY2FzdF9ieV90eXBlKGNvbnN0IHZvaWQq
IHB0cikKK3sKKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxfX3BhY2tlZCBUeXBlKj4ocHRy
KTsKK30KKworI2VsaWYgQ09NUElMRVIoTVNWQykKKworI3ByYWdtYSBwYWNrKHB1c2gsIDEpCit0
ZW1wbGF0ZTx0eXBlbmFtZSBUeXBlPgoraW5saW5lIFR5cGUqIHVuYWxpZ25lZF9jYXN0X2J5X3R5
cGUodm9pZCogcHRyKQoreworICAgIHR5cGVkZWYgc3RydWN0IHsKKyAgICAgICAgVHlwZSBkYXRh
OworICAgIH0gUGFja2VkU3RydWN0VHlwZTsKKyAgICByZXR1cm4gJnJlaW50ZXJwcmV0X2Nhc3Q8
UGFja2VkU3RydWN0VHlwZSo+KHB0ciktPmRhdGE7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFR5
cGU+CitpbmxpbmUgVHlwZSogdW5hbGlnbmVkX2Nhc3RfYnlfdHlwZShjb25zdCB2b2lkKiBwdHIp
Cit7CisgICAgdHlwZWRlZiBzdHJ1Y3QgeworICAgICAgICBUeXBlIGRhdGE7CisgICAgfSBQYWNr
ZWRTdHJ1Y3RUeXBlOworICAgIHJldHVybiAmcmVpbnRlcnByZXRfY2FzdDxjb25zdCBQYWNrZWRT
dHJ1Y3RUeXBlKj4ocHRyKS0+ZGF0YTsKK30KKyNwcmFnbWEgcGFjayhwb3ApCisKKyNlbHNlCisj
ZXJyb3IgIk5vIHBhY2tlZCBhdHRyaWJ1dGUiCisjZW5kaWYKKwogI2Vsc2UKKwogI2RlZmluZSBy
ZWludGVycHJldF9jYXN0X3B0ciByZWludGVycHJldF9jYXN0CisKK3RlbXBsYXRlPHR5cGVuYW1l
IFR5cGU+CitpbmxpbmUgVHlwZSogdW5hbGlnbmVkX2Nhc3RfYnlfdHlwZSh2b2lkKiBwdHIpCit7
CisgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8VHlwZSo+KHB0cik7Cit9CisKK3RlbXBsYXRl
PHR5cGVuYW1lIFR5cGU+CitpbmxpbmUgVHlwZSogdW5hbGlnbmVkX2Nhc3RfYnlfdHlwZShjb25z
dCB2b2lkKiBwdHIpCit7CisgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8VHlwZSo+KHB0cik7
Cit9CisKICNlbmRpZgogCiBuYW1lc3BhY2UgV1RGIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2E5MjViOS4uNGFkMzVjOSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxOSBAQAorMjAxMC0xMS0wNCAgR2Fib3IgTG9raSAgPGxva2lAd2Via2l0Lm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNaXNhbGlnbmVkIG1l
bW9yeSBhY2Nlc3MgaW4gQ2xvbmVEZXNlcmlhbGl6ZXIgb24gYWxsIEFSTSBhcmNoLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDg3NDIKKworICAgICAg
ICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICBUaGUgdW5hbGlnbmVkX2Nhc3RfYnlf
dHlwZSB0ZW1wbGF0ZSBmdW5jdGlvbiBpcyB1c2VkCisgICAgICAgIGluIG9yZGVyIHRvIGFjY2Vz
cyB0aGUgZGF0YSB3aXRob3V0IGFsaWdubWVudCBwcm9ibGVtLgorCisgICAgICAgICogYmluZGlu
Z3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNsb25l
RGVzZXJpYWxpemVyOjpyZWFkTGl0dGxlRW5kaWFuKToKKyAgICAgICAgKFdlYkNvcmU6OkNsb25l
RGVzZXJpYWxpemVyOjpyZWFkU3RyaW5nKToKKwogMjAxMC0xMS0wNCAgQWRhbSBCYXJ0aCAgPGFi
YXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIEVuYWJsZWQgSUNDSlBFRyBvbiBDaHJvbWl1bSBN
YWMKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAppbmRl
eCA2NWFiZDc1Li41N2QzNjIyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVk
U2NyaXB0VmFsdWUuY3BwCkBAIC04MzgsMTIgKzgzOCw3IEBAIHByaXZhdGU6CiAgICAgICAgIGlm
IChzaXplb2YoVCkgPT0gMSkKICAgICAgICAgICAgIHZhbHVlID0gKnB0cisrOwogICAgICAgICBl
bHNlIHsKLSNpZiBDUFUoQVJNVjVfT1JfTE9XRVIpCi0gICAgICAgICAgICAvLyBUbyBwcm90ZWN0
IG1pc2FsaWduZWQgbWVtb3J5IGFjY2Vzcy4KLSAgICAgICAgICAgIG1lbWNweSgmdmFsdWUsIHB0
ciwgc2l6ZW9mKFQpKTsKLSNlbHNlCi0gICAgICAgICAgICB2YWx1ZSA9ICpyZWludGVycHJldF9j
YXN0PGNvbnN0IFQqPihwdHIpOwotI2VuZGlmCisgICAgICAgICAgICB2YWx1ZSA9ICp1bmFsaWdu
ZWRfY2FzdF9ieV90eXBlPGNvbnN0IFQ+KHB0cik7CiAgICAgICAgICAgICBwdHIgKz0gc2l6ZW9m
KFQpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtOTMxLDExICs5MjYsMTUg
QEAgcHJpdmF0ZToKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogI2lmIEFTU1VNRV9MSVRU
TEVfRU5ESUFOCi0jaWYgQ1BVKEFSTVY1X09SX0xPV0VSKQorI2lmIENQVShBUk0pCiAgICAgICAg
IC8vIFRvIHByb3RlY3QgbWlzYWxpZ25lZCBtZW1vcnkgYWNjZXNzLgotICAgICAgICBWZWN0b3I8
VUNoYXI+IGFsaWduZWRCdWZmZXIobGVuZ3RoKTsKLSAgICAgICAgbWVtY3B5KGFsaWduZWRCdWZm
ZXIuZGF0YSgpLCBwdHIsIGxlbmd0aCAqIHNpemVvZihVQ2hhcikpOwotICAgICAgICBzdHIgPSBV
U3RyaW5nOjphZG9wdChhbGlnbmVkQnVmZmVyKTsKKyAgICAgICAgaWYgKGlzUG9pbnRlclR5cGVB
bGlnbm1lbnRPa2F5KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVUNoYXIqPihwdHIpKSkKKyAgICAg
ICAgICAgIHN0ciA9IFVTdHJpbmcocmVpbnRlcnByZXRfY2FzdDxjb25zdCBVQ2hhcio+KHB0ciks
IGxlbmd0aCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgVmVjdG9yPFVDaGFyPiBhbGln
bmVkQnVmZmVyKGxlbmd0aCk7CisgICAgICAgICAgICBtZW1jcHkoYWxpZ25lZEJ1ZmZlci5kYXRh
KCksIHB0ciwgbGVuZ3RoICogc2l6ZW9mKFVDaGFyKSk7CisgICAgICAgICAgICBzdHIgPSBVU3Ry
aW5nOjphZG9wdChhbGlnbmVkQnVmZmVyKTsKKyAgICAgICAgfQogI2Vsc2UKICAgICAgICAgc3Ry
ID0gVVN0cmluZyhyZWludGVycHJldF9jYXN0PGNvbnN0IFVDaGFyKj4ocHRyKSwgbGVuZ3RoKTsK
ICNlbmRpZgotLSAKMS43LjAuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73345</attachid>
            <date>2010-11-09 00:51:03 -0800</date>
            <delta_ts>2011-03-01 17:08:46 -0800</delta_ts>
            <desc>Misaligned memory access in CloneDeserializer on all ARM arch.</desc>
            <filename>0001-Misaligned-memory-access-in-CloneDeserializer-on-all.patch</filename>
            <type>text/plain</type>
            <size>6881</size>
            <attacher name="Gabor Loki">loki</attacher>
            
              <data encoding="base64">RnJvbSA3ZjEzYWNlYzgyMzM2ZGUyYjk1YjhiMmViZmEwOWJhODU3NjQ5NzE4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHYWJvciBMb2tpIDxsb2tpQGluZi51LXN6ZWdlZC5odT4KRGF0
ZTogVHVlLCA5IE5vdiAyMDEwIDA5OjQ4OjQxICswMTAwClN1YmplY3Q6IFtQQVRDSF0gTWlzYWxp
Z25lZCBtZW1vcnkgYWNjZXNzIGluIENsb25lRGVzZXJpYWxpemVyIG9uIGFsbCBBUk0gYXJjaC4K
ClNpZ25lZC1vZmYtYnk6IEdhYm9yIExva2kgPGxva2lAaW5mLnUtc3plZ2VkLmh1PgotLS0KIEph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICB8ICAgMTUgKysrKysK
IEphdmFTY3JpcHRDb3JlL3d0Zi9TdGRMaWJFeHRyYXMuaCAgICAgICAgICAgICB8ICAgODMgKysr
KysrKysrKysrKysrKysrKysrKysrLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAxNiArKysrKwogV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVk
U2NyaXB0VmFsdWUuY3BwIHwgICAxOSArKystLS0KIFdlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRh
YmFzZS5jcHAgICAgICAgICAgICB8ICAgIDIgKy0KIDUgZmlsZXMgY2hhbmdlZCwgMTIzIGluc2Vy
dGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4ZjY2M2ZmLi4zMjRjZWM4
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMTEtMDkgIEdhYm9yIExva2kgIDxs
b2tpQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTWlzYWxpZ25lZCBtZW1vcnkgYWNjZXNzIGluIENsb25lRGVzZXJpYWxpemVyIG9u
IGFsbCBBUk0gYXJjaC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQ4NzQyCisKKyAgICAgICAgSWYgYW4gdW5hbGlnbmVkIGRhdGEgaGFzIHRvIGJlIHJl
YWQgb3Igd3JpdHRlbiwgdGhlIHVuYWxpZ25lZF9jYXN0X2J5X3R5cGUKKyAgICAgICAgdGVtcGxh
dGUgZnVuY3Rpb24gc2hvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiByZWludGVycHJldF9jYXN0LiBU
aGlzCisgICAgICAgIGZ1bmN0aW9uIGJpbmRzIGEgcGFja2VkIHRlbXBsYXRlIHR5cGUgdG8gdGhl
IHJlcXVlc3RlZCBhZGRyZXNzCisgICAgICAgIGluIG9yZGVyIHRvIGFjY2VzcyB0aGUgYWRkcmVz
cyB3aXRob3V0IGFsaWdubWVudCBwcm9ibGVtLgorCisgICAgICAgICogd3RmL1N0ZExpYkV4dHJh
cy5oOgorICAgICAgICAodW5hbGlnbmVkX2Nhc3RfYnlfdHlwZSk6CisKIDIwMTAtMTEtMDggIEFk
YW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJvbGwgb3V0IHI3MTUzMgpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1N0ZExpYkV4dHJhcy5oIGIvSmF2YVNjcmlw
dENvcmUvd3RmL1N0ZExpYkV4dHJhcy5oCmluZGV4IGZkN2FkYTIuLmE4ZWRhZTYgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9TdGRMaWJFeHRyYXMuaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS93dGYvU3RkTGliRXh0cmFzLmgKQEAgLTYwLDggKzYwLDE0IEBACiAgKiBGb3IgbW9yZSBpbmZv
IHNlZSB0aGUgZm9sbG93aW5nIGJ1Z3ppbGxhIGVudHJpZXM6CiAgKiAtIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zODA0NQogICogLSBodHRwOi8vZ2NjLmdudS5vcmcv
YnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTQzOTc2CisgKgorICogSWYgYW4gdW5hbGlnbmVkIGRh
dGEgaGFzIHRvIGJlIHJlYWQgb3Igd3JpdHRlbiwgdGhlIHVuYWxpZ25lZF9jYXN0X2J5X3R5cGUK
KyAqIHRlbXBsYXRlIGZ1bmN0aW9uIHNob3VsZCBiZSB1c2VkLiBUaGlzIGZ1bmN0aW9uIGJpbmRz
IGEgcGFja2VkIHRlbXBsYXRlIHR5cGUKKyAqIHRvIHRoZSByZXF1ZXN0ZWQgYWRkcmVzcyBpbiBv
cmRlciB0byBhY2Nlc3MgdGhlIGFkZHJlc3Mgd2l0aG91dCBhbGlnbm1lbnQKKyAqIHByb2JsZW0u
CiAgKi8KLSNpZiBDUFUoQVJNKSAmJiBDT01QSUxFUihHQ0MpCisjaWYgQ1BVKEFSTSkKKwogdGVt
cGxhdGU8dHlwZW5hbWUgVHlwZT4KIGJvb2wgaXNQb2ludGVyVHlwZUFsaWdubWVudE9rYXkoVHlw
ZSogcHRyKQogewpAQCAtODEsOCArODcsODMgQEAgVHlwZVB0ciByZWludGVycHJldF9jYXN0X3B0
cihjb25zdCB2b2lkKiBwdHIpCiAgICAgQVNTRVJUKGlzUG9pbnRlclR5cGVBbGlnbm1lbnRPa2F5
KHJlaW50ZXJwcmV0X2Nhc3Q8VHlwZVB0cj4ocHRyKSkpOwogICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PFR5cGVQdHI+KHB0cik7CiB9CisKKyNpZiBDT01QSUxFUihHQ0MpCisKK3RlbXBsYXRl
PHR5cGVuYW1lIFR5cGU+CitpbmxpbmUgVHlwZSogdW5hbGlnbmVkX2Nhc3RfYnlfdHlwZSh2b2lk
KiBwdHIpCit7CisgICAgdHlwZWRlZiBzdHJ1Y3QgeworICAgICAgICBUeXBlIGRhdGE7CisgICAg
fSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkgUGFja2VkU3RydWN0VHlwZTsKKyAgICByZXR1
cm4gJnJlaW50ZXJwcmV0X2Nhc3Q8UGFja2VkU3RydWN0VHlwZSo+KHB0ciktPmRhdGE7Cit9CisK
K3RlbXBsYXRlPHR5cGVuYW1lIFR5cGU+CitpbmxpbmUgVHlwZSogdW5hbGlnbmVkX2Nhc3RfYnlf
dHlwZShjb25zdCB2b2lkKiBwdHIpCit7CisgICAgdHlwZWRlZiBzdHJ1Y3QgeworICAgICAgICBU
eXBlIGRhdGE7CisgICAgfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkgUGFja2VkU3RydWN0
VHlwZTsKKyAgICByZXR1cm4gJnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgUGFja2VkU3RydWN0VHlw
ZSo+KHB0ciktPmRhdGE7Cit9CisKKyNlbGlmIENPTVBJTEVSKFJWQ1QpCisKK3RlbXBsYXRlPHR5
cGVuYW1lIFR5cGU+CitpbmxpbmUgX19wYWNrZWQgVHlwZSogdW5hbGlnbmVkX2Nhc3RfYnlfdHlw
ZSh2b2lkKiBwdHIpCit7CisgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8X19wYWNrZWQgVHlw
ZSo+KHB0cik7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFR5cGU+CitpbmxpbmUgX19wYWNrZWQg
VHlwZSogdW5hbGlnbmVkX2Nhc3RfYnlfdHlwZShjb25zdCB2b2lkKiBwdHIpCit7CisgICAgcmV0
dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8X19wYWNrZWQgVHlwZSo+KHB0cik7Cit9CisKKyNlbGlmIENP
TVBJTEVSKE1TVkMpCisKKyNwcmFnbWEgcGFjayhwdXNoLCAxKQordGVtcGxhdGU8dHlwZW5hbWUg
VHlwZT4KK2lubGluZSBUeXBlKiB1bmFsaWduZWRfY2FzdF9ieV90eXBlKHZvaWQqIHB0cikKK3sK
KyAgICB0eXBlZGVmIHN0cnVjdCB7CisgICAgICAgIFR5cGUgZGF0YTsKKyAgICB9IFBhY2tlZFN0
cnVjdFR5cGU7CisgICAgcmV0dXJuICZyZWludGVycHJldF9jYXN0PFBhY2tlZFN0cnVjdFR5cGUq
PihwdHIpLT5kYXRhOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBUeXBlPgoraW5saW5lIFR5cGUq
IHVuYWxpZ25lZF9jYXN0X2J5X3R5cGUoY29uc3Qgdm9pZCogcHRyKQoreworICAgIHR5cGVkZWYg
c3RydWN0IHsKKyAgICAgICAgVHlwZSBkYXRhOworICAgIH0gUGFja2VkU3RydWN0VHlwZTsKKyAg
ICByZXR1cm4gJnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgUGFja2VkU3RydWN0VHlwZSo+KHB0cikt
PmRhdGE7Cit9CisjcHJhZ21hIHBhY2socG9wKQorCisjZWxzZQorI2Vycm9yICJObyBwYWNrZWQg
YXR0cmlidXRlIgorI2VuZGlmCisKICNlbHNlCisKICNkZWZpbmUgcmVpbnRlcnByZXRfY2FzdF9w
dHIgcmVpbnRlcnByZXRfY2FzdAorCit0ZW1wbGF0ZTx0eXBlbmFtZSBUeXBlPgoraW5saW5lIFR5
cGUqIHVuYWxpZ25lZF9jYXN0X2J5X3R5cGUodm9pZCogcHRyKQoreworICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PFR5cGUqPihwdHIpOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBUeXBlPgor
aW5saW5lIFR5cGUqIHVuYWxpZ25lZF9jYXN0X2J5X3R5cGUoY29uc3Qgdm9pZCogcHRyKQorewor
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFR5cGUqPihwdHIpOworfQorCiAjZW5kaWYKIAog
bmFtZXNwYWNlIFdURiB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDg1ZWI3Y2UuLjA3MWQ1MWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMTEt
MDkgIEdhYm9yIExva2kgIDxsb2tpQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWlzYWxpZ25lZCBtZW1vcnkgYWNjZXNzIGluIENs
b25lRGVzZXJpYWxpemVyIG9uIGFsbCBBUk0gYXJjaC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4NzQyCisKKyAgICAgICAgVGhlIHVuYWxpZ25lZF9j
YXN0X2J5X3R5cGUgdGVtcGxhdGUgZnVuY3Rpb24gaXMgdXNlZAorICAgICAgICBpbiBvcmRlciB0
byBhY2Nlc3MgdGhlIGRhdGEgd2l0aG91dCBhbGlnbm1lbnQgcHJvYmxlbS4KKworICAgICAgICAq
IGJpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDbG9uZURlc2VyaWFsaXplcjo6cmVhZExpdHRsZUVuZGlhbik6CisgICAgICAgIChXZWJDb3Jl
OjpDbG9uZURlc2VyaWFsaXplcjo6cmVhZFN0cmluZyk6CisgICAgICAgICogcGx1Z2lucy9QbHVn
aW5EYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZWFkVGltZSk6CisKIDIwMTAtMTEt
MDggIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBBZGFtIEJhcnRoLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxp
emVkU2NyaXB0VmFsdWUuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0
VmFsdWUuY3BwCmluZGV4IDY1YWJkNzUuLjU3ZDM2MjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKQEAgLTgzOCwxMiArODM4LDcgQEAgcHJpdmF0
ZToKICAgICAgICAgaWYgKHNpemVvZihUKSA9PSAxKQogICAgICAgICAgICAgdmFsdWUgPSAqcHRy
Kys7CiAgICAgICAgIGVsc2UgewotI2lmIENQVShBUk1WNV9PUl9MT1dFUikKLSAgICAgICAgICAg
IC8vIFRvIHByb3RlY3QgbWlzYWxpZ25lZCBtZW1vcnkgYWNjZXNzLgotICAgICAgICAgICAgbWVt
Y3B5KCZ2YWx1ZSwgcHRyLCBzaXplb2YoVCkpOwotI2Vsc2UKLSAgICAgICAgICAgIHZhbHVlID0g
KnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVCo+KHB0cik7Ci0jZW5kaWYKKyAgICAgICAgICAgIHZh
bHVlID0gKnVuYWxpZ25lZF9jYXN0X2J5X3R5cGU8Y29uc3QgVD4ocHRyKTsKICAgICAgICAgICAg
IHB0ciArPSBzaXplb2YoVCk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC05
MzEsMTEgKzkyNiwxNSBAQCBwcml2YXRlOgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAj
aWYgQVNTVU1FX0xJVFRMRV9FTkRJQU4KLSNpZiBDUFUoQVJNVjVfT1JfTE9XRVIpCisjaWYgQ1BV
KEFSTSkKICAgICAgICAgLy8gVG8gcHJvdGVjdCBtaXNhbGlnbmVkIG1lbW9yeSBhY2Nlc3MuCi0g
ICAgICAgIFZlY3RvcjxVQ2hhcj4gYWxpZ25lZEJ1ZmZlcihsZW5ndGgpOwotICAgICAgICBtZW1j
cHkoYWxpZ25lZEJ1ZmZlci5kYXRhKCksIHB0ciwgbGVuZ3RoICogc2l6ZW9mKFVDaGFyKSk7Ci0g
ICAgICAgIHN0ciA9IFVTdHJpbmc6OmFkb3B0KGFsaWduZWRCdWZmZXIpOworICAgICAgICBpZiAo
aXNQb2ludGVyVHlwZUFsaWdubWVudE9rYXkocmVpbnRlcnByZXRfY2FzdDxjb25zdCBVQ2hhcio+
KHB0cikpKQorICAgICAgICAgICAgc3RyID0gVVN0cmluZyhyZWludGVycHJldF9jYXN0PGNvbnN0
IFVDaGFyKj4ocHRyKSwgbGVuZ3RoKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBWZWN0
b3I8VUNoYXI+IGFsaWduZWRCdWZmZXIobGVuZ3RoKTsKKyAgICAgICAgICAgIG1lbWNweShhbGln
bmVkQnVmZmVyLmRhdGEoKSwgcHRyLCBsZW5ndGggKiBzaXplb2YoVUNoYXIpKTsKKyAgICAgICAg
ICAgIHN0ciA9IFVTdHJpbmc6OmFkb3B0KGFsaWduZWRCdWZmZXIpOworICAgICAgICB9CiAjZWxz
ZQogICAgICAgICBzdHIgPSBVU3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVUNoYXIqPihw
dHIpLCBsZW5ndGgpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2lu
RGF0YWJhc2UuY3BwIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmNwcAppbmRleCBj
Zjk2YjAwLi45YTFjYmFjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGF0YWJh
c2UuY3BwCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5jcHAKQEAgLTUwOCw3
ICs1MDgsNyBAQCBzdGF0aWMgYm9vbCByZWFkVGltZSh0aW1lX3QmIHJlc3VsdFRpbWUsIGNoYXIq
JiBzdGFydCwgY29uc3QgY2hhciogZW5kKQogICAgIGlmIChzdGFydCArIHNpemVvZih0aW1lX3Qp
ID49IGVuZCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgcmVzdWx0VGltZSA9ICpyZWlu
dGVycHJldF9jYXN0X3B0cjx0aW1lX3QqPihzdGFydCk7CisgICAgcmVzdWx0VGltZSA9ICp1bmFs
aWduZWRfY2FzdF9ieV90eXBlPHRpbWVfdD4oc3RhcnQpOwogICAgIHN0YXJ0ICs9IHNpemVvZih0
aW1lX3QpOwogCiAgICAgcmV0dXJuIHRydWU7Ci0tIAoxLjcuMC40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84330</attachid>
            <date>2011-03-01 17:08:49 -0800</date>
            <delta_ts>2011-03-01 17:13:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-48742-20110301170848.patch</filename>
            <type>text/plain</type>
            <size>2628</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODAwMTMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDM3
MmZhNGJmNGFkZjRiMTc1OWJlMDY4MDczMjg3NjFmOWIwNDVhMDUuLmU2NmVlMjM0NzRkN2M0YTA2
MmVjYWQwYWYwN2YwYmE4YTdlODg1Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDExLTAzLTAxICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWlzYWxpZ25l
ZCBtZW1vcnkgYWNjZXNzIGluIENsb25lRGVzZXJpYWxpemVyIG9uIGFsbCBBUk0gYXJjaC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4NzQyCisKKyAg
ICAgICAgQWRkIGEgQ1BVIGNsYXNzIGZvciBhcmNoaXRlY3R1cmVzIHRoYXQgbmVlZCBhbGlnbmVk
IGFkZHJlc3NlcworICAgICAgICBmb3IgbWVtb3J5IGFjY2Vzcy4KKworICAgICAgICAqIHd0Zi9Q
bGF0Zm9ybS5oOgorCiAyMDExLTAyLTIzICBKb3NlcGggUGVjb3Jhcm8gIDxqb2VwZWNrQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKaW5kZXggZjAwYzFjM2M5MTI3MzhlMzk2
MTExY2E5YmFhNmM0MzViZTA3Mzc5MS4uMjI1YjM1NDFkYTQ0OTY3MDVkODIzYWVhMDY4NGU4Nzkw
ZDM0MGU5YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaApAQCAtMzQ5LDcgKzM0
OSw5IEBACiAKICNlbmRpZiAvKiBBUk0gKi8KIAotCisjaWYgQ1BVKEFSTSkgfHwgQ1BVKE1JUFMp
CisjZGVmaW5lIFdURl9DUFVfTkVFRFNfQUxJR05FRF9BQ0NFU1MgMQorI2VuZGlmCiAKIC8qID09
PT0gT1MoKSAtIHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5c3RlbTsgb25seSB0byBiZSB1c2VkIGZv
ciBtYW5kYXRlZCBsb3ctbGV2ZWwgc2VydmljZXMgbGlrZSAKICAgIHZpcnR1YWwgbWVtb3J5LCBu
b3QgdG8gY2hvb3NlIGEgR1VJIHRvb2xraXQgPT09PSAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDBkODM1YjQ1
NTVlYWZmZTZiYTQyNGVlOWZjNjgwYTY4ODVmMTRkNDAuLmU3NWRkNjU0NGM3NzkyMjQwMGJiMzJi
ODU1NTEzZThjYmRiYWU1MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0wMy0w
MSAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1pc2FsaWduZWQgbWVtb3J5IGFjY2VzcyBpbiBD
bG9uZURlc2VyaWFsaXplciBvbiBhbGwgQVJNIGFyY2guCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODc0MgorCisgICAgICAgIFB1c2ggcGxhdGZvcm1z
IHRoYXQgbmVlZCBhbGlnbmVkIG1lbW9yeSBhY2Nlc3MgZG93biB0aGUKKyAgICAgICAgZW5kaWFu
IGluZGVwZW5kZW50IHNlcmlhbGl6YXRpb24gYW5kIGRlc2VyaWFsaXphdGlvbgorICAgICAgICBw
YXRocy4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHA6
CisKIDIwMTEtMDItMjMgIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCmlu
ZGV4IDMwMGQ1YjA3OGE0MzRlMWUyZjU1NGU4ZTQyMmMxZWM3ODExN2ZiNjcuLjQxYWQxOThlMTAw
NDQ1YzczY2ZjMTBmNmEzNTk4NjdhY2MyZDc2ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcApAQCAtNTMsNyArNTMsNyBA
QAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKLSNpZiBDUFUo
QklHX0VORElBTikgfHwgQ1BVKE1JRERMRV9FTkRJQU4pCisjaWYgQ1BVKEJJR19FTkRJQU4pIHx8
IENQVShNSURETEVfRU5ESUFOKSB8fCBDUFUoTkVFRFNfQUxJR05FRF9BQ0NFU1MpCiAjZGVmaW5l
IEFTU1VNRV9MSVRUTEVfRU5ESUFOIDAKICNlbHNlCiAjZGVmaW5lIEFTU1VNRV9MSVRUTEVfRU5E
SUFOIDEK
</data>
<flag name="review"
          id="76300"
          type_id="1"
          status="+"
          setter="joepeck"
    />
          </attachment>
      

    </bug>

</bugzilla>