-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

there's an SMP memory ordering issue with usb_get/set_intfdata.
If a CPU reorders writes, another CPU may use usb_get_intfdata
to get a pointer which is uninitialised because the initialising CPU
has not yet written the data.
This problem is not confined to USB, so I tackled it at the root.
Comments?

        Regards
                Oliver

Signed-off-By: Oliver Neukum <[EMAIL PROTECTED]>

You can import this changeset into BK by piping this whole message to:
'| bk receive [path to repository]' or apply the patch as usual.

===================================================================


[EMAIL PROTECTED], 2004-06-19 22:16:04+02:00, [EMAIL PROTECTED]
  - make sure data structures pointed to are ready


 device.h |    2 ++
 1 files changed, 2 insertions(+)


diff -Nru a/include/linux/device.h b/include/linux/device.h
- --- a/include/linux/device.h  Sat Jun 19 22:38:51 2004
+++ b/include/linux/device.h    Sat Jun 19 22:38:51 2004
@@ -202,6 +202,7 @@
 static inline void
 class_set_devdata (struct class_device *dev, void *data)
 {
+       smp_wmb();
        dev->class_data = data;
 }
 
@@ -310,6 +311,7 @@
 static inline void
 dev_set_drvdata (struct device *dev, void *data)
 {
+       smp_wmb();
        dev->driver_data = data;
 }
 

===================================================================


This BitKeeper patch contains the following changesets:
1.1758
## Wrapped with gzip_uu ##


begin 664 bkpatch26572
M'XL(`%NDU$```\V4;VO;,!#&7T>?XJ!O-DKLDVS)?T9&MFZL98.%;'TUQE`L
MM3&U+6/):0O^\),3FM*1A6UL,[EMAIL PROTECTED]'<[EMAIL PROTECTED],"YL<X?
M=6,:':Q-K:NRZ>\"TUW[Y-(8GPS'<&BJJF3AYTYK&[EMAIL PROTECTED];2%6OP6C:?
MT"#:1]Q]J_/)\NV[RP^OEH3,9G"VELVU_J0=S&;$F6XC*V7GTJTKTP2NDXVM
MM9-!8>IA7SHP1.9O3I,([EMAIL PROTECTED]"JHHE3'5"EF<BIAT2O5-)=NYL:H:>__R
MH/_UJ5:,@F9([EMAIL PROTECTED],@;H`%->`H8ARA"[EMAIL PROTECTED](<D38.34_Y!"<
[EMAIL PROTECTED]>0U_=YHS4L`4:GFCP?:=!B6=!.NZOG#^:*$U9>.T\E\%Z=.=ENJ>O(<(
M8QZ1Q://9/J;%R$HD;[EMAIL PROTECTED];<$W(5*;\K"F[(?C$4\I7ZP)$O9
MX)U>I5)JK5;\2G)YS,HCPMN=^;=`],*<9EN:#M>/:/VC[A^1;=LB2S!X8.UH
MZYQRWSAEOG4NTF2'&\,GM*&G#7^%-O8?T;;;Q$>8=K?;Q].S^,E2_H##"X8Q
K4#*Q=?OMMEX]>_Z"7$24_1#:_VR*M2YN;%_/LJLHXP4B^0[*]B%#Z`0`````
`
end
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFA1KaJbuJ1a+1Sn8oRAgc6AKDFo5sq5BSbiJ+O3I3zfLoAeQKpQwCg5ISr
wNsVyp6K8bBPq1NBtj+fUvg=
=HyNA
-----END PGP SIGNATURE-----


-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to