![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
There was an interesting and instructive cockup in the BIND 9.10.4 release. The tl;dr is that they tried to improve performance by changing the layout of a data structure to use less memory. As a side effect, two separate sets of flags ended up packed into the same word. Unfortunately, these different sets of flags were protected by different locks. This overlap meant that concurrent access to one set of flags could interfere with access to the other set of flags. This led to a violation of BIND's self-consistency checks, causing a crash.
The fix uses an obscure feature of C structure bitfield
syntax.
If you declare a bitfield without a name and with a zero width (in
this case, unsigned int :0
) any following bitfields must be placed
in the next "storage unit". This is described in
the C standard
section 6.7.2.1p12.
You can see this in action in the BIND DNS red-black tree declaration.
A :0 solves the problem, right?
So a clever idea might be to use this :0
bitfield separator so that
the different sets of bitfields will be allocated in different words,
and the different words will be protected by different locks.
What are the assumptions behind this fix?
If you only use a :0
separator, you are assuming that a "word" (in a
vague hand-wavey sense) corresponds to both a "storage unit", which
the compiler uses for struct layouts, and also to the size of memory
access the CPU uses for bitfields, which matters when we are using
locks to keep some accesses separate from each other.
What is a storage unit?
The C standard specifies the representation of bitfields in section 6.2.6.1p4:
Values stored in bit-fields consist of m bits, where m is the size specified for the bit-field. The object representation is the set of m bits the bit-field comprises in the addressable storage unit holding it.
Annex J, which covers portability issues, says:
The following are unspecified: [... yada yada ...]
The alignment of the addressable storage unit allocated to hold a bit-field
What is a storage unit really?
A "storage unit" is defined by the platform's ABI, which for BIND usually means the System V Application Binary Interface. The amd64 version covers bit fields in section 3.1.2. It says,
bit-fields must be contained in a storage unit appropriate for its declared type
bit-fields may share a storage unit with other struct / union members
In this particular case, the storage unit is 4 bytes for a 32 bit
unsigned int
. Note that this is less than the architecture's nominal
64 bit width.
How does a storage unit correspond to memory access widths?
Who knows?
What?
It is unspecified.
So...
The broken code declared a bunch of adjacent bit fields and forgot that they were accessed under different locks.
Now, you might hope that you could just add a :0
to split these
bitfields into separate storage units, and the split would be enough
to also separate the CPU's memory accesses to the different storage
units.
But you would be assuming that the code that accesses the bitfields
will be compiled to use unsigned int
sized memory accesses to read
and write the unsigned int
sized storage units.
Um, do we have any guarantees about access size?
Yes! There is sig_atomic_t
which has been around since C89, and a
load of very recent atomic stuff. But none of it is used by this part
of BIND's code.
(Also, worryingly, the AMD64 SVABI does not mention "atomic".)
So what is this "Deathstation 9000" thing then?
The DS9K is the canonical epithet for the most awkward possible implementation of C, which follows the standard to the letter, but also violates common assumptions about how C works in practice. It is invoked as a horrible nightmare, but in recent years it has become a disastrous reality as compilers have started exploiting undefined behaviour to support advanced optimizations.
(Sadly the Armed Response Technologies website has died, and
Wikipedia's DS9K page has been deleted. About the only place you can
find information about it is in old comp.lang.c
posts...)
And why is the DS9K relevant?
Well, in this case we don't need to go deep into DS9K territory. There are vaguely reasonable ABIs for which a small :0 fix would not actually work.
For instance, there might be a CPU which can only do 64 bit memory
accesses, but which has a 32 bit int
storage unit. This type
representation would probably mean the C compiler has really bad
performance, so it is fairly unlikely. But it is allowed, and there
are (or were) CPUs which can't do sub-word memory accesses, and which
have very little RAM so they want to pack data tightly.
On a CPU like this, the storage unit doesn't match the memory access,
so C's :0
syntax for skipping to the next storage unit will fail to
achieve the desired effect of isolating memory accesses that have to
be performed under different concurrent access locks.
DS9K defence technology
So the BIND 9.10.4 fix does two things:
The most important change is to move one of the sets of bitfields from the start of the struct to the end of it. This means there are several pointers in between the fields protected by one lock and the fields protected by the other lock, so even a DS9K can't reasonably muddle them up.
Secondly, they used magical :0 syntax and extensive comments to (hopefully) prevent the erroneous compaction from happening again. Even if the bitfields get moved back to the start of the struct (so the pointers no longer provide insulation) the :0 might help to prevent the bug from causing crashes.
(edited to add)
When I wrapped this article up originally, I forgot to return to
sig_atomic_t
. If, as a third fix, these bitfields were
also changed from unsigned int
to sig_atomic_t
,
it would further help to avoid problems on systems where the natural atomic
access width is wider than an int
, like the lesser cousin
of the DS9K I outlined above. However, sig_atomic_t
can be
signed or unsigned so it adds a new portability wrinkle.
Conclusion
The clever :0 is not enough, and the BIND developers were right not to rely on it.
no subject
Date: 2016-05-20 05:02 (UTC)As such I think an implementation could state that the storage units of a given struct are bounded only by its endpoints and any :0 bit-fields. Yuck.
no subject
Date: 2016-05-20 08:46 (UTC)But I'll bet Bind expects to compile and run on older compilers, too!
Multi-threading is an intensely subtle and perilous field. Getting it right keeps me in good money.
no subject
Date: 2016-05-20 08:50 (UTC)I'm not sure what BIND's portability target is; for instance, it includes its own atomics implementation, and I don't know what happens if you are on a platform they haven't ported to...
no subject
Date: 2016-05-21 17:38 (UTC)I'm not sure if ISC has a formally defined portability target for BIND (at least, I don't think they did when I was there). But you'll occasionally see commits targeting systems that have long since been abandoned by their vendors, e.g.:
https://source.isc.org/cgi-bin/gitweb.cgi/?p=bind9.git;a=commitdiff;h=6f6b1abb106d970f1b0c5e959cddfabc9cc3b4ae
no subject
Date: 2016-05-21 18:32 (UTC)I am a bit surprised that the common platform libraries don't include good adaptive spinlock implementations, at least a lot better than 17 years ago...
no subject
Date: 2016-05-22 03:15 (UTC)The practical answer is, if there's a portability problem on any current Linux, any current BSD, MacOSX, Solaris, or Windows 2008 and higher, we'll be in a position to notice and fix it.
no subject
Date: 2016-05-20 09:37 (UTC)Is there a requirement that DS9K endianness is consistent...?
no subject
Date: 2016-05-20 09:55 (UTC)AFAICT, C requires endianness to be specified or implementation-defined, but it doesn't require different types to have consistent representations. In practice, middle-endian floating point exists in several real-world architectures; a DS9K could have an almost arbitrarily crazy mapping from bits to values.
The ART DS9K randomly changes the value of CHAR_BIT for each compilation of your program.
kpkddrx
Date: 2017-01-11 09:55 (UTC)http://www.hosting-prestashop.es
http://www.autoescuelaalcon.es/
http://www.13congresoppandaluz.es/
http://www.mantenimientodejardines.com.es/
http://www.chinavibratoryhammer.es/
[url=http://www.gimnasticadetorrelavega.es/]comprar viagra[/url]
[url=http://www.mantenimientodejardines.com.es/]levitra original[/url]
[url=http://www.responsabilidadmedica.es/]viagra sin receta[/url]
[url=http://www.terrazasdemadera.es/]levitra sin receta[/url]
[url=http://www.casafuentesdeinvierno.es/]levitra sin receta[/url]
axhrbjj
Date: 2017-01-26 19:14 (UTC)http://www.hotelcentrevalleebleue.fr/243-new-balance-argent-et-or.html
http://www.lowcostjet.fr/522-nmd-blanche-homme.html
http://www.wildvisions.it/air-jordan-wallpaper-hd
http://www.hotelcentrevalleebleue.fr/341-new-balance-femme-grise-dor茅.html
http://www.semioticamente.it/nike-sb-grey
[url=http://www.ddtomaselli.it/negozio-reebok-brescia-984.php]Negozio Reebok Brescia[/url]
[url=http://www.tissages-de-gravigny.fr/air-max-thea-beige-clair.html]Air Max Thea Beige Clair[/url]
[url=http://www.biotoxen.it/595-cappello-jordan-invernale.php]Cappello Jordan Invernale[/url]
[url=http://www.chaussurespropres.fr/adidas-superstar-noir-et-blanc-femme-270.html]Adidas Superstar Noir Et Blanc Femme[/url]
[url=http://www.prefassecourisme.fr/984-air-jordan-grise-foot-locker.htm]Air Jordan Grise Foot Locker[/url]
enujobe
Date: 2017-02-11 05:37 (UTC)http://www.batalladefloreslaredo.es/lentes-oakley-mujer-029
http://www.rcaraumo.es/nike-blazer-ice-cream-798.html
http://www.dekodery.eu/nike-sb-zoom-stefan-janoski-gris.html
http://www.rcaraumo.es/venta-de-zapatillas-nike-sb-argentina-208.html
http://www.felipealonso.es/335-vans-tenis-blancos.html
[url=http://www.el-codigo-promocional.es/181-reebok-azul-rey.aspx]Reebok Azul Rey[/url]
[url=http://www.younes.es/584-nike-thea-womens-puestas]Nike Thea Womens Puestas[/url]
[url=http://www.luismesacastilla.es/456-nike-roshe-run-swag.php]Nike Roshe Run Swag[/url]
[url=http://www.younes.es/669-air-max-one-rojas]Air Max One Rojas[/url]
[url=http://www.sedar2013.es/new-york-gorras-424.php]New York Gorras[/url]
ojabryv
Date: 2017-02-22 09:03 (UTC)http://www.zorgboerderijdaglicht.nl/682-nike-free-run-2-grijs.htm
http://www.kik-kiel.de/asics-gel-lyte-3-okayama-denim-610.html
http://www.leserlichundhoerich.de/nike-air-max-one-damen-türkis-196.php
http://www.nikeflyknitkaufen.de/nike-flyknit-blau-orange-350
http://www.hipcatclub.de/vans-old-skool-hellblau-393.htm
[url=http://www.lagh-bremen.de/puma-suede-bordeaux-136.php]Puma Suede Bordeaux[/url]
[url=http://www.komenko.nl/ray-ban-polarized-584.html]Ray Ban Polarized[/url]
[url=http://www.fsv-friends.nl/838-nike-air-max-thea-wit-grijs.html]Nike Air Max Thea Wit Grijs[/url]
[url=http://www.lagh-bremen.de/puma-suede-platform-tumblr-353.php]Puma Suede Platform Tumblr[/url]
[url=http://www.vintagecadillacs.nl/619-huarache-wit.htm]Huarache Wit[/url]
spobwgf
Date: 2017-02-23 05:02 (UTC)http://www.elregalofriki.es/gafas-de-sol-ray-ban-2x1-972.php
http://www.cdoviaplata.es/comprar-zapatillas-mbt-en-argentina-767.html
http://www.luismesacastilla.es/742-comprar-nike-roshe-run-flyknit-baratas.php
http://www.younes.es/727-nike-air-max-90-hyperfuse-white
http://www.el-codigo-promocional.es/861-reebok-hombre-2017.aspx
[url=http://www.batalladefloreslaredo.es/oakley-radarlock-2016-151]Oakley Radarlock 2016[/url]
[url=http://www.younes.es/937-air-max-1-essential]Air Max 1 Essential[/url]
[url=http://www.cdoviaplata.es/donde-comprar-calzado-mbt-barato-819.html]Donde Comprar Calzado Mbt Barato[/url]
[url=http://www.ibericarsalfer.es/nike-azul-turquesa-468.html]Nike Azul Turquesa[/url]
[url=http://www.felipealonso.es/387-vans-chukka-low.html]Vans Chukka Low[/url]
zrluetl
Date: 2017-02-23 12:34 (UTC)http://www.c-p-c.fr/863-adidas-stan-smith-femme-rose.htm
http://www.skruvprojektet.se/547-adidas-energy-boost-sverige.aspx
http://www.kristiinakoskentola.nl/479-nike-huarache-kids.html
http://www.jonsvensdesign.se/114-nike-basketball-shoes-price.php
http://www.bliv-ergoterapeut.nu/timberland-masculino-netshoes-344.php
[url=http://www.fiashosting.se/reebok-crossfit-lifter-sverige-501.php]Reebok Crossfit Lifter Sverige[/url]
[url=http://www.pferdebedarf-fuge.de/637-adidas-primeknit-schuhe.html]Adidas Primeknit Schuhe[/url]
[url=http://www.programfurora.pl/456-asics-dynaflyte-cena.php]Asics Dynaflyte Cena[/url]
[url=http://www.jonsvensdesign.se/278-nike-hyperdunk-low.php]Nike Hyperdunk Low[/url]
[url=http://www.slojdakademin.se/175-vita-puma-skor.php]Vita Puma Skor[/url]
durgpym
Date: 2017-03-14 14:16 (UTC)http://www.reisen-netz.de/puma-schuhe-verkaufen-885.htm
http://www.websitesrespectingcopyright.org/980-puma-x-ueg-ebay.php
http://www.websitesrespectingcopyright.org/644-puma-x-diamond-black.php
http://www.ukrainesolidarity.co.uk/712-puma-basket-jewel.php
http://www.ukrainesolidarity.co.uk/942-puma-basket-metallic.php
[url=http://www.tunbecklongstraw.co.uk/945-puma-velvet-creepers-burgundy-velvet-fenty.htm]Puma Velvet Creepers Burgundy Velvet Fenty[/url]
[url=http://www.rmitbuddhistsociety.org/551-puma-shoes-price-list-with-picture.php]Puma Shoes Price List With Picture[/url]
[url=http://www.ricercasiti.it/scarpe-puma-nuove-femminili-392.html]Scarpe Puma Nuove Femminili[/url]
[url=http://www.tunbecklongstraw.co.uk/971-puma-creepers-rihanna-burgundy.htm]Puma Creepers Rihanna Burgundy[/url]
[url=http://www.reisen-netz.de/puma-schuhe-152.htm]Puma Schuhe[/url]
Having Trouble With Acid Reflux? Give These Tips A Shot
Date: 2017-03-16 03:55 (UTC)You may need to balance out hydrochloric acid amounts in your body if you want to reduce acid reflux and its symptoms. You can do this, for instance, by using sea salt rather than table salt. Sea salt has chloride and minerals that are good for the stomach and prevent acid.
[url=https://www.viagrasansordonnancefr.com/sildenafil-generique-pas-cher-vente/]https://www.viagrasansordonnancefr.com/sildenafil-generique-pas-cher-vente/[/url]
nrwqepi
Date: 2017-03-16 16:01 (UTC)http://www.afclothingstore.co.uk/472-abercrombie-and-fitch-womens-tank-tops
http://www.tropism-interactive.fr/nike-air-max-1-atmos.html
http://www.yeezyboostcomprar.es/050-adidas-yeezy-aaa
http://www.saveursdelapelterie.fr/baskets-nike-orange-fluo-555.htm
http://www.airmaxwomenshop.co.uk/nike-air-max-2016-white-mens
[url=http://www.airmaxwomenshop.co.uk/nike-air-max-1-essential-navy]Nike Air Max 1 Essential Navy[/url]
[url=http://www.tropism-interactive.fr/air-max-1-kumquat.html]Air Max 1 Kumquat[/url]
[url=http://www.airmaxwomenshop.co.uk/nike-air-max-zero-qs-on-feet]Nike Air Max Zero Qs On Feet[/url]
[url=http://www.rosi-art.fr/adidas-nmd-grise-031.html]Adidas Nmd Grise[/url]
[url=http://www.airmaxwomenshop.co.uk/air-max-black-gum-sole]Air Max Black Gum Sole[/url]
yqwcklm
Date: 2017-03-17 03:37 (UTC)http://www.miolands-mode-video.fr/229-supra-skytop-noir-et-blanche.php
http://www.messengercity.fr/733-mizuno-sayonara-4.php
http://www.barreau-de-saint-pierre.fr/598-chaussures-salomon-gore-tex-soldes.php
http://www.miolands-mode-video.fr/790-mbt-homme.php
http://www.messengercity.fr/144-mizuno-volley.php
[url=http://www.lesagapes-nantes.fr/chaussures-hogan-homme-occasion-077.php]Chaussures Hogan Homme Occasion[/url]
[url=http://www.lesdroles.fr/958-chaussures-lacoste-light-2.0.php]Chaussures Lacoste Light 2.0[/url]
[url=http://www.forge-delours.fr/173-le-coq-sportif-titanium.html]Le Coq Sportif Titanium[/url]
[url=http://www.forge-delours.fr/693-le-coq-sportif-noir-femme.html]Le Coq Sportif Noir Femme[/url]
[url=http://www.forge-delours.fr/610-le-coq-sportif-dynacomf-glitter.html]Le Coq Sportif Dynacomf Glitter[/url]
yefvwvv
Date: 2017-03-17 03:53 (UTC)http://www.afclothingstore.co.uk/803-abercrombie-green-jacket
http://www.tropism-interactive.fr/nike-air-max-1-premium-white.html
http://www.airmaxwomenshop.co.uk/air-max-zero-qs-yellow
http://www.topgames365.fr/air-max-thea-beige-femme-117
http://www.tropism-interactive.fr/air-max-1-beige-suede.html
[url=http://www.airmaxwomenshop.co.uk/air-max-95-black-and-blue-jd]Air Max 95 Black And Blue Jd[/url]
[url=http://www.toys4us.fr/air-max-thea-joli-783.html]Air Max Thea Joli[/url]
[url=http://www.toys4us.fr/air-max-thea-grise-et-rose-pas-cher-735.html]Air Max Thea Grise Et Rose Pas Cher[/url]
[url=http://www.saveursdelapelterie.fr/basket-nike-bleu-turquoise-482.htm]Basket Nike Bleu Turquoise[/url]
[url=http://www.topgames365.fr/air-max-thea-noire-femme-463]Air Max Thea Noire Femme[/url]
sjedrtw
Date: 2017-03-17 23:16 (UTC)http://www.code-xboxlive-gratuit.fr/ultra-boost-hk-725.html
http://www.festa-del-traouc.fr/converse-femme-grise-haute-696.html
http://www.festivalphotogv.fr/619-nike-huarache-rouge-femme
http://www.circuitvietnamauthentique.fr/oakley-jupiter-squared-lunette-de-soleil-homme-605
http://www.festa-del-traouc.fr/converse-basse-pas-cher-490.html
[url=http://www.ex-animo.fr/air-force-one-rouge-basse]Air Force One Rouge Basse[/url]
[url=http://www.comment-faire-sa-vidange.fr/lunettes-soleil-ray-ban-femme]Lunettes Soleil Ray Ban Femme[/url]
[url=http://www.comment-faire-sa-vidange.fr/lunettes-de-vue-ray-ban]Lunettes De Vue Ray Ban[/url]
[url=http://www.festivalphotogv.fr/372-huarache-run-ultra-femme]Huarache Run Ultra Femme[/url]
[url=http://www.circuitvietnamauthentique.fr/lunette-de-soleil-oakley-homme-2016-796]Lunette De Soleil Oakley Homme 2016[/url]
ugzjmbv
Date: 2017-03-20 16:04 (UTC)http://www.magicbulletpro.nl/nike-air-max-90-rood-heren-499
http://www.fitkid-inform.de/new-york-yankees-cap-outfit.php
http://www.portfoliobureau.nl/reebok-furylite-slip-on-340.html
http://www.ghwrsbadrappenau.de/adidas-stan-smith-damen-36-072
http://www.zorgboerderijdaglicht.nl/470-nike-free-run-2-heren.htm
[url=http://www.surfsapiens.nl/asics-crossover-5-dames.htm]Asics Crossover 5 Dames[/url]
[url=http://www.kidneeds.nl/526-dames-puma-sneakers.html]Dames Puma Sneakers[/url]
[url=http://www.janlefers.nl/nike-air-max-1-dames-zomer.php]Nike Air Max 1 Dames Zomer[/url]
[url=http://www.jcmetro.nl/adidas-originals-dragon-heren-175.asp]Adidas Originals Dragon Heren[/url]
[url=http://www.damesmodebarendrecht.nl/louis-vuitton-tas-975.html]Louis Vuitton Tas[/url]
ifhmqsn
Date: 2017-03-21 12:04 (UTC)http://www.hollybushwitney.co.uk/291-sl-loop-red.html
http://www.sposobynazdrowie.pl/940-puma-buty-damskie-białe.php
http://www.kristiinakoskentola.nl/621-nike-flyknit-grijs.html
http://www.bliv-ergoterapeut.nu/calçado-timberland-portugal-922.php
http://www.itcigarrilloelectronico.es/102-zapatillas-adidas-rose.html
[url=http://www.jonsvensdesign.se/304-nike-hyperadapt-pris.php]Nike Hyperadapt Pris[/url]
[url=http://www.super8-ilfilm.it/582-adidas-primeknit-fs-uscita]Adidas Primeknit Fs Uscita[/url]
[url=http://www.frbk.se/new-york-keps-snapback.html]New York Keps Snapback[/url]
[url=http://www.c-p-c.fr/504-adidas-tubular-shadow-noir.htm]Adidas Tubular Shadow Noir[/url]
[url=http://www.alcius.es/adidas-superstar-2-nuevas-019.html]Adidas Superstar 2 Nuevas[/url]
jvjizsf
Date: 2017-03-21 21:56 (UTC)http://www.creativesweat.de/246-laufschuhe-saucony-kaufen.html
http://www.may-room.de/nike-free-rn-flyknit-on-feet-765.html
http://www.magicbulletpro.nl/nike-air-max-90-heren-groen-875
http://www.nikeflyknitkaufen.de/nike-flyknit-nm-213
http://www.geschenkemachen.de/214-adidas-schuhe-damen.html
[url=http://www.nikeflyknitkaufen.de/nike-flyknit-trainer-white-black-490]Nike Flyknit Trainer White Black[/url]
[url=http://www.hipcatclub.de/vans-sk8-hi-rosa-847.htm]Vans Sk8 Hi Rosa[/url]
[url=http://www.ausbildung-in-pflegeberufen.de/nike-air-max-weiß-silber-türkis-630.html]Nike Air Max Weiß Silber Türkis[/url]
[url=http://www.wvaegir.nl/adidas-superstar-metallics---dames-schoenen-307.php]Adidas Superstar Metallics - Dames Schoenen[/url]
[url=http://www.erokerswebshop.nl/801-hollister-dames-jassen.php]Hollister Dames Jassen[/url]
gdwcaut
Date: 2017-03-22 00:33 (UTC)http://www.zonnigemuziek.nl/366-nike-kobe-9-elite.htm
http://www.sjoraddningsbatar.se/594-vans-classic-slip-on-navy.php
http://www.frbk.se/new-york-yankees-keps-grĂĄ.html
http://www.bliv-ergoterapeut.nu/oferta-timberland-600.php
http://www.ljungkyrkan.nu/472-predam-vans-tenisky.htm
[url=http://www.pferdebedarf-fuge.de/483-adidas-duramo-6-herren-schwarz.html]Adidas Duramo 6 Herren Schwarz[/url]
[url=http://www.skruvprojektet.se/811-adidas-eqt-boost-ebay.aspx]Adidas Eqt Boost Ebay[/url]
[url=http://www.slojdakademin.se/068-puma-creeper-rihanna.php]Puma Creeper Rihanna[/url]
[url=http://www.jonsvensdesign.se/842-nike-hyperadapt-demo.php]Nike Hyperadapt Demo[/url]
[url=http://www.sanysad.es/nike-cortez-mujer-azul-440.html]Nike Cortez Mujer Azul[/url]
mozpxxa
Date: 2017-03-22 10:12 (UTC)http://www.sylvie-l.fr/893-chaussure-a-talon-avec-bride.php
http://www.sakacoco.fr/309-acheter-chaussure-louis-vuitton-homme-pas-cher.html
http://www.sun-energie.fr/clarks-orange-165.html
http://www.lessensiel.fr/987-christian-louboutin-chaussure.htm
http://www.prosperaim.fr/sneakers-giuseppe-zanotti-352.html
[url=http://www.semeca-environnement.fr/308-sneakers-dsquared2.htm]Sneakers Dsquared2[/url]
[url=http://www.sakacoco.fr/806-chaussure-louis-vuitton-pour-homme-prix.html]Chaussure Louis Vuitton Pour Homme Prix[/url]
[url=http://www.sun-energie.fr/clarks-desert-mali-043.html]Clarks Desert Mali[/url]
[url=http://www.widoox.fr/951-armani-jeans-baskets.php]Armani Jeans Baskets[/url]
[url=http://www.soins-du-corps-maladies-de-peau.fr/635-armani-basket-ea7.html]Armani Basket Ea7[/url]
gqtvfnf
Date: 2017-03-26 03:38 (UTC)http://www.brocanteur-nievre-58.fr/neo-adidas-v-racer-127.php
http://www.adevesoiree.fr/569-superstar-adidas-femme-snake-noire.html
http://www.mayet-conseil.fr/677-new-balance-574-femme-bleu-rose.php
http://www.addam-31.fr/873-js-adidas-bear.php
http://www.avec63.fr/025-gazelle-adidas-femme-soldes
[url=http://www.mayet-conseil.fr/868-basket-new-balance-running-femme-pas-cher.php]Basket New Balance Running Femme Pas Cher[/url]
[url=http://www.chambre-hote-baiedesomme.fr/basket-louboutin-homme-rouge.html]Basket Louboutin Homme Rouge[/url]
[url=http://www.agences-prestashop.fr/portefeuille-louis-vuitton-femme-noir]Portefeuille Louis Vuitton Femme Noir[/url]
[url=http://www.agences-prestashop.fr/louis-vuitton-alma]Louis Vuitton Alma[/url]
[url=http://www.agences-prestashop.fr/lunette-lv-millionaire]Lunette Lv Millionaire[/url]
gokdveo
Date: 2017-03-26 21:09 (UTC)http://www.circuitvietnamauthentique.fr/oakley-carbon-shift-719
http://www.circuitvietnamauthentique.fr/oakley-flight-deck-prizm-654
http://www.ex-animo.fr/air-force-one-femme-basse
http://www.oxyjeune.fr/nike-kyrie-rouge-468.html
http://www.comment-faire-sa-vidange.fr/ray-ban-3211
[url=http://www.circuitvietnamauthentique.fr/oakley-jawbreaker-blanche-746]Oakley Jawbreaker Blanche[/url]
[url=http://www.festa-del-traouc.fr/converse-basse-blanche-36-pas-cher-028.html]Converse Basse Blanche 36 Pas Cher[/url]
[url=http://www.festivalphotogv.fr/352-nike-huarache-bronze-doré]Nike Huarache Bronze Doré[/url]
[url=http://www.nikeairpascheroutlet.fr/993-nike-air-force-one-suede-bleu.php]Nike Air Force One Suede Bleu[/url]
[url=http://www.ex-animo.fr/nike-air-force-rose-fluo]Nike Air Force Rose Fluo[/url]
ngnlakc
Date: 2017-03-29 15:46 (UTC)http://www.barreau-de-saint-pierre.fr/455-salomon-baskets.php
http://www.thierryobadia.fr/196-palladium-femme-baggy-cuir.html
http://www.barreau-de-saint-pierre.fr/638-salomon-x-alp.php
http://www.dany-multi-services.fr/976-test-chaussure-running-under-armour.php
http://www.forge-delours.fr/967-chaussure-coq-sportif-femme.html
[url=http://www.miolands-mode-video.fr/569-sneakers-supra.php]Sneakers Supra[/url]
[url=http://www.dany-multi-services.fr/347-skechers-noir-et-rose.php]Skechers Noir Et Rose[/url]
[url=http://www.miolands-mode-video.fr/797-mbt-pata.php]Mbt Pata[/url]
[url=http://www.forge-delours.fr/012-coq-sportif-rose-pale-femme.html]Coq Sportif Rose Pale Femme[/url]
[url=http://www.thierryobadia.fr/689-palladium-intersport.html]Palladium Intersport[/url]
lpkcvfx
Date: 2017-03-31 05:09 (UTC)http://www.motherlandofkaren.org/251-puma-platform-sneakers-suede.html
http://www.infomedalmeria.es/653-puma-x-house-of-hackney-trinomic-r698-evo.php
http://www.itcgdonlazzeri.it/puma-x-mcq-faas-tr-864.htm
http://www.job83.de/266-puma-ignite-dual-proknit.html
http://www.isaac2006.de/523-puma-fast-cat-suede-herren.php
[url=http://www.motherlandofkaren.org/418-puma-suede-creepers-velvet.html]Puma Suede Creepers Velvet[/url]
[url=http://www.itcgdonlazzeri.it/puma-x-fenty-amazon-824.htm]Puma X Fenty Amazon[/url]
[url=http://www.limon24.es/837-creepers-puma-rojas.html]Creepers Puma Rojas[/url]
[url=http://www.motherlandofkaren.org/271-puma-suede-classic-black-and-gold.html]Puma Suede Classic Black And Gold[/url]
[url=http://www.nantaisauxjeux.fr/701-puma-fenty-bordeaux-velour.html]Puma Fenty Bordeaux Velour[/url]