Ca rajoute une valeur magique dans la stack à chaque appel de fonction qui manipule un buffer de plus de 8 octets, et ça compare cette valeur à la sortie de la fonction pour vérifier qu'il n'y a pas eu de débordement.
Ca rajoute une valeur magique dans la stack à chaque appel de fonction qui manipule un buffer de plus de 8 octets, et ça compare cette valeur à la sortie de la fonction pour vérifier qu'il n'y a pas eu de débordement.
"Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."
L'impact sur les performances est non-negligeable, en gros certains appels de fonction vont executer un peu plus d'instructions et utiliser une stack plus grosse (pollution de cache). J'avais mesure l'impact sur un logiciel sur lequel je bosse, et c'etait quelques pourcents quand meme ; bien sur c'est specifique, mais ca prouve que mettre ce flag sans se poser de questions n'est pas une bonne idee.
Dernière modification par newbie06 ; 24/02/2012 à 14h41.
Ca ne s'applique que sur les fonctions qui utilisent des buffers dans la stack, ce n'est pas forcément le cas général (je dirais même que c'est laid mais bon..., on va me dire que c'est pour la perf). Et quelques pourcents de perf en moins vs diminuer sérieusement le risque d'attaque par écrasement de stack, c'est pas négligeable.
Dernière modification par rOut ; 24/02/2012 à 14h54.
"Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."
Diminuer sérieusement ouais, mais ça n'empêche pas une attaque d'overflow bien motivée, donc moi je prends la perf
Sleeping all day, sitting up all night
Poncing fags that's all right
We're on the dole and we're proud of it
We're ready for 5 More Years
Enough said
Ouai bon ok c'est -fstack-protector-all, mais quand meme
Dernière modification par newbie06 ; 24/02/2012 à 15h37.
Bah c'est pas du tout pareil et 10% en protégeant TOUTES les fonctions, c'est quand même pas énorme. Comme je l'ai dit, fstack-protector protège seulement les fonctions qui utilisent un buffer de plus de 8 octets dans la stack, c'est loin d'être le cas général. (et en plus c'est très moche)
Dernière modification par rOut ; 24/02/2012 à 15h50.
"Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."
10% c'est juste enorme pour mes besoins, ca veut dire 10% d'utilisation en moins sur un cluster surcharge. 10% c'est aussi souvent le gain entre 2 generations de CPU et certains s'extasient devant ce genre de gains
Faudra que je reteste sur QEMU pour voir. Mais bon, la securite a tout prix non merci.Comme je l'ai dit, fstack-protector protège seulement les fonctions qui utilisent un buffer de plus de 8 octets dans la stack, c'est loin d'être le cas général. (et en plus c'est très moche)
Mettre des buffers dans la stack.
"Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."
Ah.
C'est surtout infiniment plus rapide qu'un malloc.
Sleeping all day, sitting up all night
Poncing fags that's all right
We're on the dole and we're proud of it
We're ready for 5 More Years
Dernière modification par rOut ; 24/02/2012 à 16h20.
"Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."
Dans ce cas c'est que tu as une taille max a priori, non?
En plus tu as la quasi-garantie que ton petit buffer sur la stack soit dans le L1.
Moche ça veut rien dire
Dernière modification par Tramb ; 24/02/2012 à 16h20.
Sleeping all day, sitting up all night
Poncing fags that's all right
We're on the dole and we're proud of it
We're ready for 5 More Years
Ouais mais c'est métamoche!
Sleeping all day, sitting up all night
Poncing fags that's all right
We're on the dole and we're proud of it
We're ready for 5 More Years
"Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."
Je vais répondre plus globalement avec des exemples par ce que j'utilise plus BSD/Solaris que Linux.
J'utilise les systèmes *nix parce que c'est rigolo mais surtout parce que chacun de ses systèmes possèdes des "killer app" qui explosent Windows a elles seules. Je vais m'expliquer:
- J'utilise un Debian allégé sur un VPS avec a peine 128 ( ou 256 ca dépend ) de RAM avec NGINX pour faire tourner Wordpress. La ou Windows ne boot même pas avec 128 Mo de RAM Linux lui fait tourner des application surpuissantes et me permet d'avoir un serveur web peu cher ( gratuit même sur EC2 )
- J'utilise FreeBSD pour PF le firewall qui peut même botter les fesses de Skynet et CARP pour la redondance. Le tout sur un vieux PC virtuel tout pourris qui, encore, ne peut même pas booter windows
- J'utilise Opensolaris car avec une UNIQUE commande "zfs" je posséde plus de puissance que des cartes Raid Pro a 1000 euros, plus de flexibilité que LVM + MDADM , plus de simplicité que Windows Home Server. Parceque avec COMSTAR j'ai accés a un initiateur SCSI de niveau professionnel, avec CROSSBOW je peux virtualiser des Switch....
Pour moi en soi Linux, BSD et Solaris ne servent a rien. Ce qui les rends si puissants ce sont les applications, gratuites, qu'ils apportent.
Et enfin *nix me permet de me sentir supérieur a la plèbe, et ça, ça n'a pas de prix.
Héhé bah moi le zfs c'est sous FreeBSD. Il manquait juste la dédup jusqu'à récemment mais là y'a vraiment tout ce qu'il me faut.
Sleeping all day, sitting up all night
Poncing fags that's all right
We're on the dole and we're proud of it
We're ready for 5 More Years
zfs c'est so 2009.
Ah mais attends, BTRFS c'est le futur : la preuve ils ont plein de "planned features".
Par contre ils ont pas mis "data integrity" dans les "planned features", ils ont dû oublier.
"zpool scrub"!
Sleeping all day, sitting up all night
Poncing fags that's all right
We're on the dole and we're proud of it
We're ready for 5 More Years
En parlant de ça le prix des Disques Durs commence t'il a baisser car je n'ai plus de place du tout sur mon NAS et j'ai pas envie de depenser 1000 euros en disques durs pour mettre a jours tous mes disques ou refaire un deuxième NAS...
EDIT : Etendu du probléme:
Code:OpenIndiana (powered by illumos) SunOS 5.11 oi_151a2 January 2012 ausset@asaheim:~$ zpool status pool: rpool state: ONLINE scan: scrub repaired 0 in 1h23m with 0 errors on Mon Feb 20 17:40:50 2012 config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c2t0d0s0 ONLINE 0 0 0 c2t1d0s0 ONLINE 0 0 0 errors: No known data errors pool: tank state: ONLINE scan: scrub repaired 0 in 9h20m with 0 errors on Tue Jan 31 09:35:57 2012 config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 raidz2-0 ONLINE 0 0 0 c1t0d0p0 ONLINE 0 0 0 c1t1d0p0 ONLINE 0 0 0 c1t2d0s2 ONLINE 0 0 0 c1t3d0p0 ONLINE 0 0 0 c1t4d0p0 ONLINE 0 0 0 c1t5d0p0 ONLINE 0 0 0 errors: No known data errors ausset@asaheim:~$ zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 273G 640G 50.5K /rpool rpool/ROOT 8.70G 640G 31K legacy rpool/dump 7.75G 640G 7.75G - rpool/export 248G 640G 32K /export rpool/export/home 248G 640G 32K /export/home rpool/export/home/ausset 248G 640G 248G /export/home/ausset rpool/swap 8.24G 649G 132M - tank 6.28T 875G 304K /tank tank/videos 6.28T 875G 352K /tank/videos tank/videos/films 3.09T 875G 3.03T /tank/videos/films tank/videos/series 3.19T 875G 3.15T /tank/videos/series
Pour ceux qui croient vraiment que btrfs est production-ready voici ce qui se dit sur la mailing list en ce moment même:
http://www.mail-archive.com/linux-bt.../msg15099.html
Sleeping all day, sitting up all night
Poncing fags that's all right
We're on the dole and we're proud of it
We're ready for 5 More Years
N'empêche que le btrfschk il est dispo pour ceux qui veulent perdre leurs données.
(Et on me ferra pas croire qu'Oracle a décidé de le passer en production ready sans avoir quelques atouts dans sa manche. C'est des putes, donc bon.)
Dernière modification par xheyther ; 26/02/2012 à 18h54.
Dites, je bidouille avec des cartes WiFi en ce moment sur Ubuntu et là, tout fonctionne, avec une seule carte WiFi, sauf que... Elle s'appelle wlan2. C'est possible de lui redonner le nom de wlan0 ? Je suis très maniaque.
Autre chose, j'ai un disque dur dont la santé est un peu basse et apparemment ça m'empêche d'installer des autres distributions dessus (je me tape des erreurs d'entrée/sortie à la fin de l'install), est-ce qu'il y a moyen de lancer un genre de chkdsk qui bloquerait les secteurs endommagés...?
Le nommage des cartes wifi (et des autres trucs d'une manière générale) c'est udev qui s'en charge. Du coup, si tu as "jouer" avec tes cartes wifi, que tu les a enlevés, remises etc... une fois qu'un nom a été utilisé il n'est plus réemployé.
Donc soit tu ajoute une règle udev pour que cette carte wifi soit toujours wlan0, soit tu la branches en premier après le démarrage et tu n'y touches plus.
edit: http://www.novell.com/coolsolutions/tip/19154.html
Dernière modification par xheyther ; 27/02/2012 à 11h07.
Ah les joies d'udev...
En fait il faut que tu vires les entrées correspondantes dans /etc/udev/rulesblabla/xx-persistant-rules-net-blabla car il a du reserver wlan0 pour un autre périphérique.
the universal language, this is music