Sortie de Linux 3.17

110
13
oct.
2014
Linux

La sortie de la version stable 3.17 du noyau Linux a été annoncée le 5 octobre 2014 par Linus Torvalds. Le nouveau noyau est, comme d’habitude, téléchargeable sur les serveurs du site kernel.org. Le détail des évolutions, nouveautés et prévisions est dans la seconde partie de la dépêche.

Sommaire

En bref

Pas moins de quatre (!) nouveaux appels système ont été ajoutés dans cette version :

  • memfd_create() (détails dans la section Architecture) ;
  • seccomp() (détails dans la section Sécurité) ;
  • getrandom() (détails dans la section Sécurité) ;
  • kexec_file_load() (détails dans la section Sécurité).

Concernant le DRM (Direct Rendering Manager), les render nodes ont été activés par défaut.

Annonces des RC par Linus Torvalds

RC-1

La version RC-1 est sortie le 16 août 2014 :

Je vais passer la journée de demain dans un avion et je ne suis pas vraiment fan des demandes d’intégration de dernière minute pendant la période d’intégration, donc je ferme la période d’intégration une journée en avance et la 3.17-rc1 est donc de sortie. En fait, elle est sortie depuis un bon moment, mais le réseau était tellement mauvais là où je voyageais que cela m’a empêché de faire cette annonce.

Quoi qu’il en soit, cette période d’intégration était un peu plus courte que les dernières, probablement à cause des ralentissements estivaux dans l’hémisphère nord. Ce qui ne veut pas dire que c’était petit — les dernières publications étaient plus grosses que d’habitude —, celle‐ci est dans la moyenne. C’est déjà trop gros pour que je ne puisse pas attacher le résumé succinct de ces changements. Donc, comme d’habitude dans le rapport d’intégration qui est attaché, ce ne sont pas les noms des développeurs qui ont écrit le code mais ceux des intégrateurs.

Les changements sont répartis partout, mais il n’y a pas d’ajout de nouvelles architectures ou de nouveaux systèmes de fichiers. Environ trois quarts des changements concernent les pilotes et, pour le reste, la moitié consiste en des mises à jour d’architecture. Le reliquat étant les changements divers du noyau (réseau, systèmes de fichiers, etc.).

La prochaine semaine est occupée par le Kernel Summit, donc je suppose que la RC2 sera assez petite, mais nous verrons bien.

Linus

RC-2

La version RC-2 est sortie le 25 août 2014 :

J’ai donc dérogé à mon habitude de publier le dimanche, en partie parce qu’il n’y avait pas grand chose ce jour‐là (à cause du Kernel Summit et de la LinuxCon), mais aussi pour des raisons sentimentales : le 25 août est l’anniversaire de l’annonce originelle de Linux (« Hello everybody out there using Minix »), donc c’est une bonne journée pour les annonces de publication.

Quoi qu’il en soit, pour une RC2 c’est plutôt petit et j’espère que cela continuera ainsi. C’est environ 60 % de pilotes (DRM, réseau, HID, son, PCI), 15 % de mises à jour de systèmes de fichiers (CIFS, ISOFS, NFS), 10 % d’architectures (MIPS, ARM, quelques trucs mineurs dans x86) et le reste est « divers » (noyau, réseau et documentation).

En d’autres termes, il y en a un peu partout et rien de particulier ne ressort.

Merci de bien la tester,

Linus

RC-3

La version RC-3 est sortie le 31 août 2014 :

Je suis revenu à la livraison dominicale et la RC3 est sortie. Comme prévu, il y a plus de changements que dans la RC2, puisque les gens sont clairement de retour du voyage du Kernel Summit, etc. Mais, heureusement, ce n’est pas beaucoup plus gros que la RC2 et il ne se passe rien de particulièrement bizarre, donc je vais simplement ignorer l’explication que « c’est l’été » et j’espère que tout va vraiment bien.

Ne me prouvez pas que j’ai tort,

Linus

RC-4

La version RC-4 est sortie le 7 septembre 2014 :

Pendant un court moment, cette semaine fut vraiment agréable et calme, mais c’était surtout parce que l’entrée linux-foundation.org est tombée de l’univers DNS et ma boîte à lettres est devenue très calme pendant quelques heures. Le reste de la semaine a paru assez normal.

« Assez normal » n’est pas si mal cependant, et je ne m’en plains pas. Il n’y a rien eu de particulièrement gros ou effrayant — nous avons eu une frayeur passagère à cause d’une stupide anomalie dans les couches de compatibilité, mais il s’est avéré que c’était juste un faux positif et, au final, quelques commentaires ont été ajoutés au lieu de modifications de code.

Les statistiques des modifications sont raisonnables et elles sont sainement réparties. Nous avons les mises à jour habituelles d’architectures et de pilotes mais il y a en vérité plus de changements dans fs/ que dans le reste. C’est principalement dû à une mise à jour tardive de F2FS, pour laquelle j’ai décidé que je n’allais pas m’embêter à me mettre en colère, composée en grande partie de corrections propres, avec quelques nettoyages de code.

Et, vraiment, si les modifications de F2FS semblent importantes, c’est parce que le reste est vraiment petit.

Espérons que ça reste calme. Je note que ni Greg ni Davem ne m’ont finalement envoyé quelque chose pour la RC4, ce qui explique probablement pourquoi c’est calme et peu volumineux.

Linus

RC-5

La version RC-5 est sortie le 14 septembre 2014 :

Alors, j’aurais probablement dû décaler cette sortie à mercredi pour des raisons sentimentales : ça fera 23 ans que j’ai mis en ligne les sources de la 0.01. Mais je ne suis pas une personne très sentimentale, donc, tant pis. Je reste sur ma sortie normale du dimanche.

Et, comme je l’ai mentionné dans les commentaires de la RC4, la précédente version était assez petite, probablement parce que ni Greg ni Davem ne m’avaient envoyé de mises à jour cette semaine. Devinez quoi ? Les mises à jour de David sur la partie réseau sont arrivées une heure après la publication de la RC4 et, comme Greg est revenu cette semaine aussi, donc — surprise, surprise — la RC5 est plus grosse que la RC4 ne l’était.

Eh bien, c’était trop beau pour durer.

J’ai aussi eu un rapport d’une ancienne régression dans le dentry cache (depuis 3.10 — assez ancien) et cela a eu pour effet de me faire jeter un coup d’œil un peu plus poussé, et il y avait quelques autres cas spéciaux qui pouvaient nous faire fonctionner d’une manière non optimale. J’en ai corrigé une partie et Al a corrigé le reste. Donc, je l’espère, nous n’avons pas seulement corrigé la régression connue, mais nous faisons mieux qu’avant.

De toute façon, la taille de la RC5 impose que je ne fasse pas la publication trop tôt, ce qui veut dire que je vais devoir réfléchir à ce que je vais faire pour la prochaine période de fusion. Parce qu’il semble que cela va entrer en conflit avec mon voyage à la LinuxCon EU. Je n’ai pas encore décidé ce que je vais faire — je pourrais publier la 3.17 normalement, mais ne pas ouvrir la période de fusion à cause du voyage. Ou bien, s’il y a plus d’anomalies que ce que je pense, peut‐être que je décalerai la publication de la 3.17.

Nous verrons bien.

Peu importe, les changements de la RC5 sont pour la moitié des pilotes (réseau, processeurs graphiques, USB, entrées, ATA…) et pour le reste, c’est un mélange de mises à jour des systèmes de fichiers (le truc mentionné précédemment dans le cœur de la couche VFS, mais aussi des anomalies sur des exportations NFS trouvées par Al et divers autres trucs), d’achitectures (ARM, PA-RISC, s390) et du cœur réseau. Ainsi qu’une poignée d’autres. Le rapport résumé est ci‐joint.

En d’autres termes, tout semble normal, même si j’aurais préféré que la RC5 soit plus petite. Mais, au sujet de l’arrivée des modifications du réseau et des pilotes, je ne vais pas prétendre que c’était inattendu ou particulièrement effrayant. J’espère que c’est fini maintenant et que la RC6 et la RC7 seront plus calmes.

Touchons du bois.

Linus

RC-6

La version RC-6 est sortie le 21 septembre 2014 :

Ça a été calme — suffisamment pour qu’avec mon prochain voyage ce soit la dernière RC et que la version finale 3.17 sorte la semaine prochaine.

Bien sûr, cela dépend toujours des évènements — si nous avons quelque chose d’important qui arrive la semaine prochaine, j’aurai peut‐être à reporter la sortie. Mais, pour le moment, nous sommes dans les rails.

Le résumé des modifications est ci‐joint ; vu depuis trois mille mètres d’altitude cela semble normal : un peu plus de la moitié concerne les pilotes (pilotes graphiques, son, IIO, média, USB), un peu moins du tiers concerne les mises à jour d’architectures (ARM, MIPS, x86), et le reste concerne principalement les mises à jour de systèmes de fichiers (GFS2, CIFS, Btrfs, NFS).

Rien de particulier ne ressort et je ne suis au courant d’aucune grosse anomalie en attente. Donc, s’il vous plaît, allez le tester, parce que ça devrait être proche de la publication.

Linus

RC-7

La version RC-7 est sortie le 28 septembre 2014 :

J’avais vraiment espéré pouvoir garder la RC6 comme dernière RC et sortir la version 3.17 aujourd’hui, mais cela ne s’est pas produit. Rien de bien méchant, mais, franchement, les choses ne se sont pas calmées comme je l’avais espéré.

Et, même si mon plan de voyage aurait été bien plus agréable si j’avais pu faire une version plus-rapidement-que-d’habitude, le confort ne fait pas partie des critères pour sortir une version. Tant pis.

Cela signifie donc probablement (sauf circonstances exceptionnelles) que la semaine prochaine sera celle de la sortie de la version 3.17, et, qu’à cause des déplacements, je retarderai probablement l’ouverture de la fenêtre de fusion d’une semaine.

Je vais être très grognon si quelqu’un m’envoie des demandes d’intégration que je jugerais inappropriées en ce moment. Je ne pense pas que ce qu’il y a dans la RC7 soit dangereux, mais j’ai l’impression que certaines personnes ont attendu la dernière minute pour m’envoyer ce qui fait partie des correctifs « pas tout à fait tranquilles ». Si j’ai le même sentiment la semaine prochaine, je ferai mon malpoli habituel et déciderai probablement que vous avez manqué votre tour.

Bref, retour à la RC7. Il y a des choses de tous les côtés. La partie I²C des correctifs sort un peu du lot à cause de déplacement de code, mais, à part ça, les différences sont plutôt minimes. Environ 60 % pour les pilotes, le reste étant un mélange de documentation, architectures, systèmes de fichiers et réseau. Rien de particulier n’émerge, mais c’était trop gros pour sortir une version sans nouvelle RC.

Linus

La version finale

La version finale est sortie le 5 octobre 2014 :

Donc, la semaine dernière a été calme et je n’ai donc pas d’états d’âme à livrer la 3.17 selon le programme normal (à l’inverse du programme optimiste « je peux peut‐être livrer une semaine en avance » qui n’aurait pas dû exister).

Cependant, j’ai des voyages en vue — ce que j’espérais éviter lorsque je comptais encore livrer en avance. Ce qui veut dire que, même si la 3.17 est sortie, je ne vais pas commencer à intégrer activement la semaine prochaine, ni celle qui suit, pendant laquelle aura lieu LinuxCon EU

Ce qui veut dire que selon comment vous voyez les choses, la période d’intégration de la 3.18 sera soit de trois semaines ou bien démarrera tout doucement. Ça ne m’embête pas de recevoir des demandes d’intégration maintenant (en vérité j’en ai déjà quelques unes en attente dans ma boîte de réception), mais je ne commencerai probablement pas à les traiter avant une semaine.

Peu importe, retour à la 3.17. Rien d’important n’est arrivé durant la semaine dernière, comme vous pouvez le voir dans le résumé en pièce jointe. Principalement des pilotes (i915, Nouveau, Ethernet, SCSI, son) et quelques corrections sur le réseau ; avec quelques modifications diverses et variées.

Allez le tester,

Linus

Les nouveautés

Architecture

x86 : la génération Broadwell prend en charge le mode inactif

La future génération de processeurs de chez Intel, baptisée Broadwell est maintenant prise en charge dans le pilote idle de chez Intel. Après l’ajout de cette génération au pilote P-State dans la version précédente du noyau, c’est maintenant au tour du pilote idle d’en recevoir la prise en charge.

Pour rappel, le mode idle (inactif) d’un processeur correspond à l’état dans lequel il se retrouve lorsqu’il n’y a rien à faire. Un processeur peut passer la majorité de son temps à être inactif. Lorsque cela se produit, le noyau le passe en mode idle qui, pour la majorité des architectures, se traduit par une consommation énergétique réduite.

Nouvelles puces ARM

Rockchip

Le dernier système mono‐puce de Rockchip, le RK3288, est maintenant pris en charge. Il s’agit de la première réalisation matérielle d’ARM Cortex-A17 effectuée par Rockchip. Gravé en 28 nanomètres, il dispose de quatre unités de calcul cadencées à 1,8 GHz, prend en charge la virtualisation ARM et la technologie LPAE. La puce contient un processeur graphique Mali-T764, un DSP permettant de gérer le décodage matériel du H.264 et H.265 jusqu’à 4K, ainsi qu’un crypto‐processeur qui prend en charge un bon nombre de crypto‐systèmes contemporains (AES 128 bits, SHA-1, SHA-256…). En bref, il fait tout, sauf repasser le linge !

La gestion des appareils ainsi que des diverses cartes de développements qui disposent d’un RK3288 sera prévue à partir de la prochaine version. Pour l’instant, les développeurs se concentrent essentiellement sur la prise en charge des cartes d’évaluation mises à disposition par Rockchip.

NVIDIA Tegra

Des travaux de partage d’infrastructure de code pour les puces NVIDIA Tegra ont été menés, afin de factoriser le plus de code possible entre les plates‐formes. Ceci est notamment réalisable grâce à l’utilisation du device tree.

La carte d’évaluation Tegra T30 Apalis est également prise en charge et dispose d’une arborescence matériel (device tree) au sein du noyau.

Texas Instruments

La carte d’évaluation pour les puces de la famille des AM437x fait son apparition. Le TI AM437x est une puce disposant de processeurs à haute performance basés sur des Cortex A9. Ce système mono‐puce peut s’interfacer avec des contrôleurs Ethernet Gigabit, un bus CAN, un écran tactile et dispose de 2 Gio de mémoire vive DDR3.

Ceci permet de prendre en charge les futures tablettes, cartes de développement et téléphones mobiles qui arriveraient avec les modèles de puces AM4379, AM4376 ou encore AM4378.

Allwinner

Destiné au marché des téléphones mobiles et annoncé en septembre 2013 par Allwinner, le A23 est désormais pris en charge. Double cœur, ARM Cortex A7 cadencé à 1,5 GHz et équipé d’un processeur graphique Mali-400 MP2, il s’agit d’une version basse consommation du A20. Notez toutefois qu’il est ici question d’un début de prise en charge, la communauté sunxi étant comme celle de Rockchip, essentiellement maintenue par des passionnés et des bénévoles.

La carte de développement Hummingbird, équipée d’un Allwinner A31 est également de la partie.
Destinée aux développeurs, elle dispose d’un Cortex A7 quadri‐cœur, d’un processeur graphique PowerVR SGX544 MP2, de 1 Gio de mémoire vive en DDR3, 8 Gio de mémoire Flash interne, d’une connexion Ethernet Gigabit et d’une connexion Wi‐Fi 802.11n.

Fin de la prise en charge de certaines architectures

Les vieilles architectures POWER3 et RS64 ne sont plus prises en charge par le noyau. Ces architectures ne fonctionnaient manifestement plus depuis plusieurs versions et personne ne l’a remarqué. La prise en charge des processeurs Samsung S5P6440, S5P6450, et S5PC100 (des processeurs ARMv6 et ARMv7 sortis en 2009) a également été supprimée.

memfd : descripteur de fichier pointant vers une zone de mémoire scellée

L’un des quatre appels système ajoutés dans cette version est memfd_create(). Il introduit le concept de sceau (seal) pour rendre plus simple l’utilisation de zones de mémoire partagées.

Lorsque deux processus veulent partager une zone de mémoire, ils s’assurent généralement que certaines propriétés sont respectées pour que les accès soient valides :

  • il ne faut pas qu’un processus écrive par dessus les données en train d’être lues par un autre ;
  • il ne faut pas qu’un processus réduise la taille de la zone de mémoire partagée pendant qu’un autre y accède ;
  • il ne faut pas qu’un processus étende la zone partagée au‐delà de la limite initiale.

Ces propriétés sont généralement vraies si les deux processus qui échangent des données sont de confiance. Mais ce n’est plus nécessairement le cas si l’on souhaite utiliser le partage de mémoire comme méthode générique de communication inter‐processus. Voici deux exemples :

  • Une application graphique veut partager avec le serveur graphique la zone de mémoire dans laquelle elle effectue le rendu du contenu d’une fenêtre. L’application cliente se charge d’allouer l’espace mémoire et transmet un descripteur de fichier au serveur. Lorsque celui‐ci voudra lire le contenu à afficher sur l’écran, il ne pourra jamais être sûr que le client ne sera pas en train de manipuler le contenu ou la taille de la zone de mémoire partagée. S’il réduit la taille du tampon, le serveur devra gérer le signal SIGBUS, ce qui ajoute une complexité non négligeable.

  • Un processus veut faire appel à une fonction d’un autre processus. Pour éviter d’avoir à recopier une quantité potentiellement importante d’information en mémoire, le principe de « zéro copie » (partage mémoire) est préférable. Sauf qu’une fois que la zone de mémoire est partagée entre deux processus, le processus appelant n’a plus de garantie quant à son usage par l’autre processus. Cette situation oblige chaque processus à garder une copie des données qu’il partage et empêche donc tout fonctionnement en mode zéro copie.

Il existe trois méthodes pour contourner ces problèmes (le signal SIGBUS, les verrous POSIX et le drapeau obsolète MAP_DENYWRITE de l’appel mmap()), mais chacune a des inconvénients majeurs (gestion des signaux dans le cas des bibliothèques, accès concurrents, déni de service).

C’est ici qu’intervient le concept de sceau. Ils permettent d’indiquer qu’une fois posés sur un descripteur de fichier, certaines opérations ne peuvent plus être effectuées. Il n’est pas possible de les supprimer, ce qui permet à un programme de s’assurer sans ambigüité de l’impossibilité de certaines opérations.

Les sceaux introduits sont les suivants :

  • SHRINK : la taille d’un partage mémoire ne peut plus être réduite par un appel à ftruncate() ou open(O_TRUNC) ;
  • GROW : la taille ne peut plus être augmentée par un appel à ftruncate(), fallocate() ou write() ;
  • WRITE : aucune opération d’écriture n’est désormais possible (fallocate(PUNCH_HOLE), mmap() et write()) ;
  • SEAL : plus aucun nouveau sceau ne peut être ajouté.

Cette fonctionnalité permet de simplifier significativement l’utilisation des partages mémoire dans les cas sus‐cités. Pour s’en servir, il faut donc utiliser l’appel système memfd_create() pour créer des fichiers prenant en compte cette opération.

Les zones de mémoire scellées sont une composante essentielle du projet kdbus, qui vise à remplacer le démon D-Bus en espace utilisateur par une implémentation beaucoup plus efficace dans le noyau. D’autres détails et des exemples sont disponibles via les liens suivants : memfd_create(2), correctifs [1] et [2], documentation provisoire de kdbus.

Pilotes graphique libres

DRM (Direct Rendering Manager)

Après des mois de discussion, Maarten Lankhorst a enfin réussi à faire accepter ses modifications afin de permettre à un pilote graphique d’attendre qu’un autre pilote ait fini de faire un rendu avant de continuer son exécution. Cette interface de programmation (API) de fencing sera probablement utilisée en conjonction de DMA-buf dans Linux 3.19 afin de permettre de synchroniser le rendu dans le cas d’utilisation de la technologie Optimus ou dans les systèmes mono‐puces. Certaines personnes ont essayé de limiter cette interface de programmation aux modules GPL, mais sans succès.

La gestion des nœuds de rendu (render nodes) qui avait été ajoutée dans Linux 3.12 vient d’être activée par défaut. Pour mémoire, cela permet à des applications d’utiliser le processeur graphique sans avoir besoin de communiquer avec un serveur d’affichage.

Pour finir, la gestion de la rotation des plans graphiques fait également son entrée dans Linux 3.17.

Pour plus d’informations, vous pouvez consulter la demande d’intégration.

AMD/ATI (pilote radeon)

Peu de nouveautés du côté de Radeon pour cette nouvelle version, puisque la seule nouvelle fonctionnalité est la prise en charge de la mise à l’échelle intégrée à certains écrans permettant de dispenser le processeur graphique de cette tâche.

Une nouvelle version des en‐têtes des micro‐codes a été ajoutée pour simplifier leurs mises à jour.

Il y a cependant beaucoup de corrections de bogues. Par exemple, la gestion énergétique DPM est maintenant activée par défaut sur les familles Cayman et BTC.

Pour plus d’informations, vous pouvez consulter la demande d’intégration radeon.

Intel (i915)

La nouveauté principale de cette version est l’activation par défaut du Panel Self‐Refresh (PSR) pour les liens eDP des processeurs graphiques Haswell et Broadwell. Cette activation a nécessité un travail de fond sur le suivi précis du tampon avant (front buffer) qui a eu pour effet de pouvoir également activer la compression du tampon de trame (frame buffer) sur toutes les plates‐formes, le PSR sur Baytrail et le changement dynamique de taux de rafraîchissement (DRRS). Cela devrait permettre de diminuer la consommation énergétique.

Toujours du côté de l’économie d’énergie, l’alimentation des processeurs graphiques sera maintenant désactivée lorsque l’écran est en veille (DPMS OFF). Les modifications pour obtenir cette fonctionnalité ont été très invasives, mais elles préparent également l’arrivée de la gestion du mode d’affichage atomique.

La plate‐forme Baytrail a également reçu beaucoup d’attention pour la gestion du lien graphique DSI, la gestion du rétro‐éclairage, le séquenceur matériel et la gestion de la commutation de page (page flipping).

Pour finir, la gestion des modes d’affichage en espace utilisateur (UMS) est maintenant désactivée par défaut. Le code sera supprimé du noyau dans une prochaine version si personne ne se plaint. La gestion des modes d’affichage par le noyau (KMS) devient donc la seule façon de gérer l’écran sur tous les pilotes libres majeurs (Intel, Nouveau et Radeon).

Pour plus d’informations, vous pouvez consulter l’article de Daniel Vetter sur Linux 3.17.

NVIDIA (pilote nouveau)

Une fois n’est pas coutume, la demande d’intégration pour le pilote Nouveau n’a pas été envoyée par Dave Airlie (mainteneur DRM), mais par Ben Skeggs directement. Ce retard a été causé par un bogue qui est devenu beaucoup plus présent avec le nouveau code et qui a pris énormément de temps à être identifié, ce qui a empêché Ben de donner son code à temps à Dave. Du coup, Ben a envoyé le code directement à Linus qui l’a accepté sans problème.

La nouveauté la plus visible de cette nouvelle version est l’amélioration de la gestion du GK20A, le processeur graphique intégré au Tegra K1. Celui‐ci sera maintenant détecté directement par Nouveau grâce à un nouveau module appelé nouveau_platform qui s’occupe d’amener du courant au processeur graphique et d’activer l’horloge [commit]. Le GK20A a également reçu la gestion du recadencement (reclocking) manuel [commit].

Certains processeurs graphiques démarrent avec le processeur graphique principal désactivé. Après avoir demandé de l’aide, NVIDIA a donné un peu de documentation sur comment réactiver ce processeur [commit].

La gestion d’une fonctionnalité d’effacement de texture n’utilisant pas de bande passante mémoire, appelée Zero‐Bandwidth Clear, a été ajoutée au noyau. Pour vraiment en tirer parti, il est nécessaire d’ajouter sa prise en charge dans l’espace utilisateur, même si certaines rares applications peuvent déjà en tirer parti sans modifications.

Pour finir, il est maintenant possible d’accéder à une partie de l’interface interne de nouveau-drm depuis l’espace utilisateur, ce qui permet d’éviter de devoir écrire des ioctl() pour chaque nouvelle fonctionnalité. Cela permet maintenant d’utiliser les compteurs de performance ou encore la nouvelle fonctionnalité de Zero-Bandwidth Clear. Son petit nom est nvif.

Les processeurs graphiques des systèmes mono‐puces ARM

Voici les demandes d’intégration des principaux processeurs graphiques embarqués :

Réseau

IPv6

Étiquettes de flux automatiques

Si vous n’avez jamais entendu parler des étiquettes de flux (flow label) en IPv6, c’est probablement normal. Ce champ a été ajouté dès le début des spécifications du protocole, mais il a fallu du temps pour qu’un consensus émerge sur son utilisation. Les règles les plus récentes sont dans la RFC 6437 et il y a déjà des demandes pour obtenir des exceptions à ces règles. Pour résumer, l’idée de ce champ est de simplifier l’identification d’un flux réseau, qui est habituellement défini avec les ports source et destination en compléments des adresses IP. Avec l’étiquette, on peut avoir un flux en lisant uniquement les en‐têtes IP, ce qui facilite énormément le traitement.

Au‐delà des standardisations de ce qu’un nœud du réseau IPv6 a le droit de faire ou de ne pas faire, l’IETF a « oublié » de spécifier comment un système d’exploitation devait gérer la communication pour les étiquettes de flux entre la partie utilisateur et l’espace noyau, y compris dans l’API avancée. Chaque système d’exploitation a donc fait son truc dans son petit coin. Le noyau Linux, qui nous intéresse, a probablement le système le plus ancien (depuis le noyau 2.2.7) et le plus complet, qui permet une gestion fine entre l’espace utilisateur et le noyau.

Concrètement, chaque utilisateur peut demander une étiquette sur un flux, gérer les permissions de cette étiquette (la partager avec tous, avec l’application, avec personne…), gérer son temps de vie, etc. Ce serait très bien si c’était utilisé, mais ce n’est pas du tout le cas (notamment car cette API ne se retrouve que sur le noyau Linux).

Un développeur de Google a donc proposé de se rapprocher du fonctionnement des noyaux BSD, en ajoutant l’option auto_flowlabels au noyau via sysctl. Cette option permet de générer une étiquette de flux aléatoire pour chaque connexion (un socket TCP, un socket UDP…) du système, ainsi que l’option de socket IPV6_AUTOFLOWLABEL permettant d’activer ou désactiver ce comportement sur chaque socket. À noter que ce fonctionnement n’est toujours pas standard, mais il est bien plus simple et est compatible avec les noyaux BSD.

Comme ce mode n’est pas compatible avec l’existant (il ne tient pas compte des permissions du gestionnaire historique), il est désactivé par défaut.

Le même développeur a également ajouté de quoi profiter immédiatement de cette option, en utilisant l’étiquette de flux pour reconnaître un flux, plutôt que de lire les en‐têtes de la couche transport.

Plus de contrôles sur les générations d’adresses

En IPv6, le noyau se charge lui‐même de générer les adresses sur une interface réseau. L’espace utilisateur n’a pas beaucoup de contrôle : le noyau génère automatiquement des adresses locales et, s’il reçoit des annonces de routeurs, il se configure en conséquence (sauf configuration contraire pour ce dernier point).

Ce comportement est très gênant pour des outils comme NetworkManager ou pour des équipements particuliers avec un micro‐logiciel contrôlant la partie réseau. Une option a donc été ajoutée pour que l’espace utilisateur puisse choisir entre différents modes pour générer les adresses. Actuellement, le choix est restreint à « ne fait rien » et « fait l’auto-configuration comme avant ». On pourrait cependant en imaginer d’autres.

Accepter les RA avec adresses locales

Les développeurs ne manquent pas d’imagination pour ajouter des options sysctl dans le dossier /proc/sys/net/ipv6/, et c’est cette fois pour un cas d’usage assez particulier. Ce correctif permet d’accepter une annonce de routeur qui provient d’une adresse configurée en local sur votre équipement. Le cas d’usage est cependant assez limité.

Netfilter

Disparition de ulog

Pour rappel, la cible Netfilter ulog permettait de surveiller des évènements réseau dans le journal du noyau. Un cas extrême serait :

iptables -A INPUT -j ULOG

Cette cible est marquée comme obsolète depuis longtemps, un message est envoyé dans le journal du noyau à chaque utilisation. Sa remplaçante, NFLOG, est disponible depuis 2006. Il a donc été décidé de la supprimer, ce qui permet de diminuer la quantité de code à maintenir.

Log de paquets Ethernet

La suppression de ULOG n’est pas que la partie émergée de l’iceberg concernant les modifications du journal système de Netfilter. On peut notamment citer l’ajout de la surveillance des paquets ARP.

La traduction d’adresses indépendante de iptables

Depuis l’introduction de nftables, on peut dire que le noyau Linux a deux pare‐feux. Certaines fonctionnalités utilisent cependant les mêmes outils, notamment pour la traduction d’adresses (NAT). La dépendance de la traduction d’adresses aux outils iptables a donc été supprimée, permettant de compiler un noyau avec nftables prenant en charge la traduction d’adresses, sans iptables.

Bluetooth

La partie Bluetooth a énormément évolué, avec plus de 250 correctifs entre juin et août. Beaucoup de travail a été fait sur le Bluetooth low energy, notamment la scrutation en arrière plan, l’auto‐connexion en arrière plan et la capacité à lire les horloges Bluetooth.

Dans le même temps, le protocole 6LoWPAN a désormais son propre module et son propre dossier.

Pilotes

Intel a ajouté les pilotes pour le FCoE sur ses cartes XL710 à 10 et 40 Gbit/s.

Quelques cartes Broadcom ont désormais un pilote.

Autres petites nouvelles

Le protocole SCTP avait reçu une extension de son API dans la RFC 6458. Voilà des modifications qui couvrent les sections 5.3.2, 5.3.4, 5.3.5, 5.3.6 et 8.1.31.

Pour les fans de performances, la partie pktgen a reçu quelques optimisations : [correctif 1] et [correctif 2].

Sécurité

Capacités

Dans certains cas, des capacités non définies pouvaient empêcher certains processus d’utiliser l’appel ptrace() sur leurs fils, par exemple. Ce problème était difficile à déboguer parce que les capacités n’étaient pas visibles dans /proc/$PID/status. Celles‐ci sont dorénavant visibles et tous les processus ne peuvent maintenant plus avoir de capacités non définies [correctif].

Liste non exhaustive des vulnérabilités corrigées

Gestion du sous‐système d’audit pour l’architecture ARM64

L’architecture ARM64 peut utiliser le sous‐système d’audit [correctifs : 1, 2].

Appel système getrandom()

L’appel système getrandom(2) a été introduit suite aux demandes formulées par les développeurs de la version portable de LibreSSL, le fork d’OpenSSL par les développeurs d’OpenBSD. Son comportement est similaire à l’appel système getentropy() sous OpenBSD : il permet de récupérer une quantité définie de données aléatoires.

Il était déjà possible d’obtenir des données aléatoires sous Linux en effectuant un appel système read() sur /dev/urandom, mais un nouvel appel système était nécessaire dans les cas où la limite de descripteurs de fichiers ouverts était atteinte par un processus. En effet, une fois cette limite atteinte, il n’est plus possible d’ouvrir /dev/urandom pour récupérer de l’entropie, ce qui forçait l’utilisation d’algorithmes peu sûrs dans la bibliothèque LibreSSL. Ce cas de figure va donc pouvoir être complètement éliminé.

Avec cet appel système, il est aussi possible d’attendre que la quantité d’entropie accumulée par le système soit suffisante pour que la réserve d’entropie soit correctement initialisée avant de recevoir des données aléatoires. Cette solution a été privilégiée car elle introduit cette sémantique sans changer le comportement de /dev/urandom.

Une page de manuel partielle est disponible dans le message de commit, en attendant qu’elle soit ajoutée aux pages officielles [correctif, article LWN : A system call for random numbers: getrandom()].

Filtres seccomp pour les programmes multi‐threads

Un second appel système a été ajouté pour gérer les filtres seccomp. Il s’ajoute à l’interface utilisant l’appel prctl(), qui ne devrait plus évoluer à présent. Toutes les fonctionnalités seront donc disponibles avec l’appel système qui est plus extensible.

Celui‐ci permet de synchroniser les filtres seccomp définis pour tous les threads d’un processus. Dans certains cas, des threads pouvaient être créés par des bibliothèques avant qu’un processus n’ait commencé son exécution. Il n’était alors pas possible d’appliquer de filtre seccomp à ces threads. Cette fonctionnalité résout donc cette situation en forçant les autres threads à utiliser le filtre seccomp du thread effectuant l’appel.

Une page de manuel est aussi prévue pour ajout dans le projet officiel : seccomp(2) [correctifs : 1, 2, article LWN : Seccomp filters for multi‐threaded programs].

Amélioration de kexec pour le mode UEFI secure boot

Un troisième appel système kexec_file_load() a été ajouté. Il permet au noyau en cours d’exécution de vérifier la signature d’un noyau à exécuter avant de faire appel à kexec() pour démarrer avec. Cela va permettre d’autoriser l’utilisation de l’appel kexec() pour les systèmes fonctionnant avec l’UEFI secure boot activé. L’article Subverting security with kexec sur le blog de Matthew Garrett explique pourquoi cette modification est nécessaire [correctifs : 1, 2, 3, 4 ; article LWN : Reworking kexec for signatures].

Cryptographie

La gestion du générateur déterministe de nombres aléatoires SP800-90A, spécifié par le NIST a été ajoutée : [voir correctif].

Il est aussi possible d’analyser des données signées avec PKCS#7 et de vérifier leurs signatures [correctifs : 1, 2, 3, 4, 5, 6, 7, 8, 9].

LSM

Un nouveau point d’ancrage LSM a été ajouté dans la fonction permettant le chargement d’un micrologiciel binaire dans le noyau. Il permet, par exemple, aux modules de vérifier l’intégrité de ces micrologiciels avant qu’ils soient acceptés et utilisés par le noyau [correctif]. Il peut être utilisé par tous les modules de sécurité, mais c’est pour l’instant le module IMA qui en fait usage.

IMA & EVM

Le module de sécurité IMA utilise donc le nouveau point d’ancrage LSM pour vérifier l’intégrité des micrologiciels chargés dans le noyau [correctif].

Les clés utilisées par IMA sont stockées dans un trousseau de clés du noyau spécifique .ima. Une option de configuration permet d’imposer que ces clés soient signées par une clé de confiance déjà présente dans le trousseau de clés du système [correctif].

Les sommes de contrôle des fichiers surveillés par IMA peuvent désormais être calculées de façon asynchrone par un accélérateur cryptographique matériel dédié, ce qui permet de gagner en performance et consommation d’énergie pour les fichiers de taille notable [correctifs : 1, 2].

SELinux

Le code gérant les étiquettes SELinux liées aux interactions réseau a été nettoyé [correctifs : 1, 2, 3].

Nettoyages et optimisations diverses [correctif], correction d’une potentielle prise de verrou récursive [correctif].

TOMOYO

Un problème pouvant empêcher les systèmes utilisant le système de fichiers ext4 de démarrer a été corrigé [correctif].

Optimisation mineure lorsque le sous‐système d’audit est activé [correctif].

Trousseaux de clés

Il est à nouveau possible d’invalider manuellement les clés « temporaires » utilisées notamment par AFS, CIFS et NFS [correctif].

La taille par défaut du trousseau a été significativement augmentée, suite à son utilisation par les clients NFS pour stocker les association UID et GID [correctif].

Systèmes de fichiers

F2FS

Samsung travaille toujours sur son petit dernier et en a nettoyé le code pour limiter un peu la contention au niveau des verrous logiques.

L’option nobarrier permet maintenant de désactiver le write barrier, si nécessaire. En temps normal, cette fonctionnalité permet de laisser le système de fichiers décider quand et comment écrire les données du cache sur le disque au meilleur moment, pour être plus sûr. Néanmoins, nobarrier peut améliorer les performances, au prix d’une sécurité moindre.

Enfin, la fonctionnalité tmpfile est maintenant implémentée : elle permet de créer un fichier temporaire unique qui se détruit à la fin de l’exécution du programme qui l’a créé.

NFS

Le client NFS gère désormais la recherche utilisant un algorithme RCU, améliorant ainsi les performances de recherche dans le cas où les données à chercher sont dans le cache.

XFS

À côté des corrections habituelles, XFS se dote enfin d’une interface pour sysfs. Pour rappel, sysfs est la solution de système de fichiers virtuel du noyau pour unifier la manière dont sont remontées les informations des pilotes dans l’espace utilisateur — XFS ne fait que rattraper un manque dans ce domaine. Pour le moment, seul un petit nombre de paramètres sont disponibles, principalement à des fins de test.

Btrfs

Présent dans les version 3.15 et 3.16, alors que Btrfs commençait à utiliser les workqueues, un interblocage pouvait apparaître dans un cas spécifique, mais qui est malgré tout apparu. Eh bien, cette version toute fraîche voit sa résolution livrée !

À côté d’une amélioration des opérations rename et truncate, également susceptibles de créer un interblocage (passé inaperçu jusqu’ici), s’inspirant de la meilleure solution connue venant d’ext4, Btrfs améliore les résultats renvoyés par la commande df pour le cas du RAID 1 !

En effet, de par sa structure particulière, l’estimation de l’espace libre restant d’une partition a toujours été moins bonne que pour ext4, par exemple.

L’amélioration des valeurs pour les cas du RAID 5 et 6 sera traitée ultérieurement.

Enfin, quelques corrections de bogues habituelles parsèment le code çà et là.

Autres

UDF, ReiserFS et ext2 ont eu droit à des correctifs mineurs et récurrents.

Virtualisation

KVM

Les fonctionnalités ont été ajoutées via deux demandes d’intégration, une pour le x86, le MIPS et le s390, et une autre pour ARM, et PowerPC. On y retrouve les changements suivants :

  • la virtualisation avec KVM fonctionne maintenant sur les systèmes ARM « gros‐boutistes », aussi bien en 32 bits qu’en 64 bits ; il est possible d’émuler le contrôleur d’interruptions dans une autre version que celle du matériel ;
  • beaucoup de corrections de bogues sur les hôtes « petits‐boutistes » pour le PowerPC et l’activation de la virtualisation matérielle sur ceux‐ci ; la prise en charge des PowerPC 440 (sortis en 1999) est abandonnée ;
  • pour le MIPS et le s390, il n’y a que quelques corrections de bogues mineures ;
  • pour l’architecture x86, la virtualisation imbriquée est améliorée, des optimisations ont été apportées sur les « vieux processeurs » jusqu’au Nehalem (architecture Intel sortie en 2008).

Xen

On ne retrouve que quelques corrections de bogues et pas de nouvelles fonctionnalités.

Pages de manuel

On en profite pour noter la sortie d’une nouvelle version des pages de manuel, la 3.73. Les principales nouvelles pages sont :

  • namespaces(7) : vue d’ensemble des espaces de noms (namespaces) disponibles sous Linux ;
  • pid_namespaces(7) : description de celui lié aux identifiants de processus ;
  • user_namespaces(7) : description de celui lié aux utilisateurs.

Tous les détails sont sur le blog du mainteneur Michael Kerrisk. Pour rappel, les pages de manuel de Linux sont aussi disponibles sur le site du projet.

On notera l’absence des pages de manuel des appels système introduits par cette version. Leur inclusion sera probablement effective dans la prochaine version.

Le bilan en chiffres

En ce qui concerne les statistiques du cycle de développement de Linux 3.17, on peut se référer à la page dédiée du site remword.com qui compile des statistiques relatives au développement de Linux.

Le nombre final de correctifs incorporés dans cette version est de 12 353, soit légèrement en dessous des 12 802 correctifs de la précédente. Ces ajouts sont le résultat du travail d’environ 1 475 développeurs soit, là encore, une légère baisse par rapport aux 1 527 développeurs du noyau précédent.

C’est à nouveau Intel qui occupe la tête du classement des entreprises avec 10,21 % des correctifs, suivi par Red Hat (7,93 %). Les employés de la Linux Foundation ont signé le plus de correctifs avec 12,21 %, devant Red Hat avec 12,15  % et 10,77 % pour Intel.

Les hobbyistes occupent comme d’habitude la troisième place, avec 5,63 %, si l’on ne comptabilise pas les contributeurs dont l’affiliation est inconnue, qui représentent 24,37 % des contributions. Le développement de Linux est donc majoritairement sponsorisé par des entreprises, mais il reste encore de nombreux passionnés qui font ça pour eux.

Jonathan Corbet a réalisé un article détaillant l’évolution du nombre de contributeurs au noyau entre les versions 3.15 et 3.17 : Who wrote 3.15 through 3.17.

Appel à volontaires

Cette dépêche est rédigée par plusieurs contributeurs dont voici la répartition :

Mainteneur Contributeur(s)
La phase de test Aucun Julien Pecqueur
Arch Romain Perier
Pilotes graphiques libres Martin Peres
Réseau Florent Fourcot
Systèmes de fichiers Aucun Jiehong
Sécurité Timothée Ravier
Virtualisation Xavier Claude
Édition générale Aucun Timothée Ravier, Martin Peres, Davy Defaud

Un peu de vocabulaire :

  • le mainteneur d’une section de la dépêche est responsable de l’organisation et du contenu de sa partie, il s’engage également à l’être dans le temps jusqu’à ce qu’il accepte de se faire remplacer ;
  • un contributeur est une personne qui a participé à la rédaction d’une partie d’une section de la dépêche, sans aucune forme d’engagement pour le futur.

Malgré cette équipe importante, beaucoup de modifications n’ont pas pu être expliquées par manque de temps et de volontaires. Si vous aimez ces dépêches et suivez tout ou partie de l’évolution technique du noyau, veuillez contribuer dans votre domaine d’expertise. C’est un travail important et très gratifiant qui permet aussi de s’améliorer. Il n’est pas nécessaire d’écrire du texte pour aider, simplement lister les commits intéressants dans une section aide déjà les rédacteurs à ne pas passer à côté des nouveautés. Essayons d’augmenter la couverture sur les modifications du noyau !

Aller plus loin

  • # Désolé pour le retard

    Posté par  (site web personnel) . Évalué à 10.

    J'aimerai nous excuser pour le retard de publication de cette dépêche. En effet, quelques contributeurs/mainteneurs de cette dépêche ont été très occupés par des conférences en cette fin de septembre/début octobre (Kernel Recipes 2014 et l'XDC2014).

    J'ai moi même dû écourter ma section sur les pilotes graphiques libres car je fini mon doctorat et j'essayais de finir d'écrire ma thèse à temps pour l'XDC2014 que j'ai organisé. Merci à Timothée et aux autres contributeurs d'avoir rempli mon rôle pour cette dépêche.

    À dans 2.5 mois! On ne devrait pas avoir de retard cette fois :)

    • [^] # Re: Désolé pour le retard

      Posté par  . Évalué à 10.

      Pas de souci, un grand merci a toi et a tous les contributeurs pour les dépêches sur le noyau!

    • [^] # Re: Désolé pour le retard

      Posté par  . Évalué à 10.

      J'aimerai nous excuser […]

      Il n'y a rien à excuser ! C'est déjà super de faire ce travail.
      Merci beaucoup.

      Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • # Ajustements mineurs

    Posté par  (site web personnel) . Évalué à 6.

    Merci à tous pour la dépêche.

    Quelques ajustements mineurs :

    • Petit problème de mise en forme pour les différents types de sceau (WRITE et SEAL).
    • « Si vous n’avez jamais entendu parler des étiquettes de flux de flux (flow label) en IPv6 […] », je pense que c'est parce qu'il y a des mots en trop. ;)
    • « beaucoup de correction » mérite un « s ».

    Debian Consultant @ DEBAMAX

  • # Encore une fois !

    Posté par  . Évalué à 6.

    Gros boulot pour cette dépêche ! Beau boulot les experts !

  • # Écrans Nucléaires

    Posté par  . Évalué à 8.

    elles préparent également l’arrivée de la gestion du mode d’affichage atomique.

    M'enfin, les militants anti-nucléaires vont se détourner de Linux avec des trucs comme ça! Et pourtant, c'est pour économiser l'électricité : les carte graphiques Intel qui s'éteignent enfin pendant les mise en veille des écrans.

    ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

    • [^] # Re: Écrans Nucléaires

      Posté par  . Évalué à 7.

      Je me disais bien que les distributions Linux devenaient de plus en plus lourde, bientôt il faudra une alimentation de 2,21 gig*o*watts pour démarrer son PC !

    • [^] # Re: Écrans Nucléaires

      Posté par  (site web personnel) . Évalué à 0.

      M'enfin, les militants anti-nucléaires vont se détourner de Linux avec des trucs comme ça!

      Ce qui m'amuse chez les militants anti-nucléaires, c'est que toutes les énergies alternatives qu'ils préconisent sont engendrées par une gigantesque explosion thermo-nucléaire : le soleil !

      Moi, je trouve que le soleil est un dispositif de fusion nucléaire sacrément bien fichu même si il a parfois quelques petits toussotements…

      • [^] # Re: Écrans Nucléaires

        Posté par  . Évalué à 6.

        T'as raison, il nous faut un soleil plus proche de chez nous ou plus puissant pour satisfaire notre consommation actuelle…

        ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

      • [^] # Re: Écrans Nucléaires

        Posté par  (site web personnel) . Évalué à 10.

        Oui mais c'est de la fusion. C'est propre la fusion.

        D'ailleurs, les sources énergies fossiles, c'est à dire renouvelables très lentement, sont également issues de la transformation de l'énergie produire par ce même réacteur thermo-nucléaire.

      • [^] # Re: Écrans Nucléaires

        Posté par  . Évalué à 6.

        Il a surtout le bon goût d'être à 150 millions de km de nous : ces petits toussotements n'ont (jusqu'à présent) pas d'effet négatif sur nous, notre environnement, et toutes les espèces vivantes !

        • [^] # Re: Écrans Nucléaires

          Posté par  . Évalué à 10.

          C'est clair, personne ne meurt de cancers de la peau.

          Non, sans blague, si on survit à peu près correctement en étant bombardés en permanence par le rayonnement électromagnétique d'un énorme réacteur à fusion, c'est simplement parce qu'on est adaptés à notre environnement. D'une part, on a une peau, qui prend tout dans la tronche et qui arrête les rayonnements les plus dangereux. D'ailleurs, les populations qui s'en prennent le plus ont une peau blindée de mélanine, qui leur donne en plus le droit de se noyer en Méditerrannée dans l'indifférence générale. D'autre part, on dispose d'une machinerie de réparation de l'ADN hyper-efficace, qui fait qu'on est capables de réparer tout plein d'erreurs sans que ça ne se voie trop, ou de zigouiller les cellules déconnantes avant que ça ne soit trop grave (ooh je pêle, c'est rigolo), et ça, jusqu'à ce qu'on s'en soit pris tellement dans la tronche pendant des dizaines d'années que le système commence à dérailler.

          D'ailleurs, ça marche aussi pour se protéger des agressions chimiques et biologiques. Ça veut pas dire que c'est sain, c'est juste qu'on est à peu près capables de survivre dans cet environnement agressif, parce que si on ne l'était pas, on aurait disparu depuis longtemps…

          • [^] # Re: Écrans Nucléaires

            Posté par  . Évalué à 10.

            Non, sans blague, si on survit à peu près correctement en étant bombardés en permanence par le rayonnement électromagnétique d'un énorme réacteur à fusion, c'est simplement parce qu'on est adaptés à notre environnement.

            Tu peut dire ça avec tout. On survie à à peut prêt tout grâce à notre adaptation à l'environnement.

            • à l'atmosphère terrestre => parce qu'on est suffisamment bien foutu pour survivre à ce mélange de gaz
            • à l’attraction terrestre => parce qu'on a développé un squelette et des muscles adaptés (l'attraction terrestre tue un paquet de monde chaque année et beaucoup d'autres sont blessés)
            • on survie à la pluie parce que notre peau a la bonne idée de ne pas être soluble dans l'eau
            • etc

            Le soleil est nécessaire à notre vie, pour la chaleur qu'il produit et les réactions chimiques qu'il produit. Le considérer comme hostile ne me semble pas approprié (comme l'eau il est une condition nécessaire à notre vie).

            Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

            • [^] # Re: Écrans Nucléaires

              Posté par  (site web personnel) . Évalué à 8.

              on survie à la pluie parce que notre peau a la bonne idée de ne pas être soluble dans l'eau

              ah mais le monoxyde de di-hydrogène ça a engendré des milliers de morts en 2004, 2011 !

              • [^] # Re: Écrans Nucléaires

                Posté par  . Évalué à 4.

                Pas que ! Il y a des morts chaque année !

                Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

            • [^] # Re: Écrans Nucléaires

              Posté par  . Évalué à 10.

              Tu peut dire ça avec tout. On survie à à peut prêt tout grâce à notre adaptation à l'environnement.

              Exactement. C'est pour ça que la remarque de départ est absurde : nous sommes adaptés pour survivre et nous reproduire dans un environnement donné. Ce n'est donc pas l'environnement qui est spécialement pratique pour notre survie. Je ne sais plus où j'avais lu un jour la remarque de quelqu'un qui trouvait que c'était quand même un coup de bol que la lumière visible ne soit pas absorbée par l'atmosphère :-) Il parait que Candide revient à la mode, c'est le coup de Pangloss et des lunettes.

              L'atmosphère est un très bon exemple : elle contient une bonne proportion de dioxygène, qui est, selon tous les critères chimiques, un gaz très toxique. L'oxygène est un déchet de la photosynthèse, il a des propriétés franchement hostiles, notamment celle d'oxyder un peu n'importe quoi, et de générer tout un tas de radicaux libres. C'est juste parce qu'on y est adaptés qu'on le voit comme une ressource. D'ailleurs, on dépense beaucoup d'énergie à tenter de prévenir ses effets néfastes sur notre métabolisme.

              Bref, c'est débile de dire qu'on a de la chance de vivre en orbite autour d'une bombe à fusion et de vivre entouré d'un gaz extrêmement oxydant. Il s'agit juste des conditions en vigueur sur notre planète, et qu'on est issus d'une lignée de millions d'ancêtres qui y ont tous sans aucune exception vécu assez longtemps pour s'y reproduire. Si le soleil se mettait à balancer dix fois plus d'énergie, nul doute que la vie s'y adapterait. Cependant, l'adaptation a des limites ; à ma connaissance, aucune forme de vie n'utilise de rayonnements de haute énergie, il s'agit d'une conséquence néfaste du soleil sans aucune contrepartie.

          • [^] # Re: Écrans Nucléaires

            Posté par  (site web personnel) . Évalué à 8.

            Avec des raisonnements comme ça boire de l'eau est cancérigène ou accélère le vieillissement et donc la mort. Ce rayonnement électromagnétique si nocif permet aussi la photosynthèse ou la synthèse de la vitamine D… Faudrait à la fin quand même faire la part des choses, par exemple entre un rayonnement ionisant ou non.

          • [^] # Re: Écrans Nucléaires

            Posté par  . Évalué à 10.

            Oué enfin il ne faut pas oublier non plus que la Terre, avec son joli champ magnétique orienté peu ou prou Nord/Sud, soit là où personne n'habite ou presque, et sa couche d'ozone et plus généralement son atmosphère, nous protège bien plus des particules et du rayonnement que notre peau !

      • [^] # Re: Écrans Nucléaires

        Posté par  . Évalué à 2.

        c'est que toutes les énergies alternatives

        Même la géothermie ?

        • [^] # Re: Écrans Nucléaires

          Posté par  (site web personnel) . Évalué à 1.

          La géothermie trouve son fondement dans les réactions nucléaires dans le manteau/noyau de la terre. ce n'est aps le même astre mais le même mécanisme.

          • [^] # Re: Écrans Nucléaires

            Posté par  (site web personnel) . Évalué à 3.

            Pas du tout, c'est de la fission spontanée et non de la fusion ce qui n'a tout simplement rien à voir. Et sans réaction en chaîne qui plus est.

            • [^] # Re: Écrans Nucléaires

              Posté par  (site web personnel) . Évalué à 6.

              Ça une origine nucléaire, c'est tout ce que je précisais, pas que la réaction est identique (une planète n'est pas une étoile).
              La géothermie ça ne vient pas de nul part, c'était le sens de mon propos.

      • [^] # Re: Écrans Nucléaires

        Posté par  (site web personnel) . Évalué à 4.

        La petite différence tient dans les 8 minutes lumière de distance entre le réacteur et nous…

        Sur le sujet de l'énergie, en énergie nucléaire, la suite sur la fusion froide:

        http://tech.slashdot.org/story/14/10/12/232230/independent-researchers-test-rossis-alleged-cold-fusion-device-for-32-days

        Et en comparaison éolien / charbon:

        http://hardware.slashdot.org/story/14/10/13/2258256/wind-power-is-cheaper-than-coal-leaked-report-shows

        Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

        • [^] # Re: Écrans Nucléaires

          Posté par  . Évalué à 2.

          comparaison éolien / charbon

          C'est presque une tautologie:
          Toutes les énergies renouvelables sont moins cher que les énergies fossiles si on prend tout en compte y compris le coût environnemental, puisque le fossile est par définition extraordinairement (infiniment?) cher pour l'environnement.

          Sans aller jusque là, dire et démontrer que l'éolien est globalement moins cher que le charbon est probablement vrai, mais ne résout pas la vraie question de fond: la capacité limitée de l'éolien si les 17 milliards que nos arrières petits enfants seront consomment autant si ce n'est plus d'énergie par habitant que nous. Question non résolue à horizon 50 ans par le charbon non plus mais qu'il résout encoure relativement bien aujourd'hui…

          En attendant explorer davantage l'éolien est probablement pertinent, corriger fiscalement les externalités pour le rendre intéressant économiquement aussi. Mais va falloir se mettre à la diète quand même.

          la fusion froide

          Ça vaut pas les chaudières à feu de dragon ou les réacteurs à dilithium qui sont beaucoup plus prometteurs que la fusion froide.

          • [^] # Re: Écrans Nucléaires

            Posté par  (site web personnel) . Évalué à 3.

            la fusion froide

            Ça vaut pas les chaudières à feu de dragon ou les réacteurs à dilithium qui sont beaucoup plus prometteurs que la fusion froide.

            Pour moi aussi c'était du hoax au niveau du mouvement perpétuel… mais les chercheurs qui ont réalisé leurs observations à partir d'un projet "hurluberlesque" trouvent des choses inattendues (cf le lien et la publi). Plus qu'à trouver pourquoi et comment.

            Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

            • [^] # Re: Écrans Nucléaires

              Posté par  (site web personnel) . Évalué à 4.

              Il y a eu des idées de fusion froide par cavitation. En gros, lors de la cavitation (donc à froid), la température dans la bulle pourrait monter très très haut. A ma connaissance, pour le moment, cela ne donne rien de concret… Il faut dire que c'est vachement compliqué de mesurer des températures.

              Un projet plus réaliste à cours terme car, à par quelques verrous technique lié à une industrialisation, on sais que cela marche, c'est le réacteur nucléaire à sel fondus. Le CNRS a fait un boulot extraordinaire la dessus mais ce n'est pas dans les mentalités du CEA et d'Areva qui ne font rien pour aider cette technologie et s'enfoncent dans leurs choix historiques…

              Voir : https://fr.wikipedia.org/wiki/R%C3%A9acteur_nucl%C3%A9aire_%C3%A0_sels_fondus

              Ne pas oublier non plus que pas un projet concernant l'énergie ne reçois le dixième d'ITER ou du projet laser mégajoule / TERA1000 de l'armée…

              • [^] # Re: Écrans Nucléaires

                Posté par  . Évalué à 5.

                Il y a eu des idées de fusion froide par cavitation. En gros, lors de la cavitation (donc à froid), la température dans la bulle pourrait monter très très haut.

                … donc ce n'est pas à froid.

                • [^] # Re: Écrans Nucléaires

                  Posté par  (site web personnel) . Évalué à 4.

                  C'est là le paradoxe ;-)

                  La température semble froide en macroscopique mais elle peut être très élevé de manière très ponctuelle et temporelle. Si j'ai bien compris, l'idée derrière la fusion est d'utiliser cela.

                  • [^] # Re: Écrans Nucléaires

                    Posté par  . Évalué à 4.

                    Quelle que soit la méthode utilisée pour y arriver, ça reste de la fusion «chaude».
                    Dans le cas du confinement inertiel aussi, on fait augmenter la pression et la température de façon considérable pendant un temps très court et pour un volume très restreint.

                    Le fantasme de la fusion «froide» serait qu'il n'y aurait pas besoin de température très élevées (en millions de degrés au minimum) pour faire fusionner des noyaux atomiques. Ce n'est tout simplement pas crédible compte tenu de la barrière énergétique due à la charge électrique des protons.
                    On ne connait, à l'heure actuelle, aucun mécanisme qui permettrait de contourner ça (l'effet tunnel est disqualifié du fait de sa décroissance exponentielle).

                    • [^] # Re: Écrans Nucléaires

                      Posté par  (site web personnel) . Évalué à 2.

                      oui, la fusion nécessite de l'énergie, mais lorsque qu'on parle de fusion froide c'est que l'on souhaite s'éviter d'avoir un Tokamak nécessitant des températures démentes et plus d'énergie que ce qui est au final produit.

                      Bref, c'est une image.

                      Tout comme «  personne n'est le premier Benveniste venu », comme Science et Vie aimait à l'époque à faire le rapport avec l'expérience de Fleischmann et Pons… (bon S&V en même temps, à cette époque… S&A était presque d'un meilleur niveau).

            • [^] # Re: Écrans Nucléaires

              Posté par  . Évalué à -1.

              Plus qu'à trouver pourquoi et comment.

              Bref ton seul argument est "I want to believe".
              Ok.
              Chauffe-toi à la foi.

              • [^] # Re: Écrans Nucléaires

                Posté par  (site web personnel) . Évalué à 8.

                Lapin compris ta réaction.

                C'est pas une question de foi, des chercheurs voient qq chose et cherchent à comprendre ce qu'il y a derrière, peut être rien d'exploitable, peut-être quelque chose. De la recherche fondamentale quoi.

                Et perso mon «believe» va plutôt vers la réduction de la consommation d'énergie et le renouvelable.

                Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

          • [^] # Re: Écrans Nucléaires

            Posté par  . Évalué à 3. Dernière modification le 15 octobre 2014 à 14:42.

            la fusion froide

            Ça vaut pas les chaudières à feu de dragon ou les réacteurs à dilithium qui sont beaucoup plus prometteurs que la fusion froide.

            Et les réacteurs à sels fondus ça vaut quoi ? J'ai cru comprendre que c'était à faible danger et que ça permettrait de recycler les déchet de nos centrale actuelle mais j'y connais rien en nucléaire.


            EDIT: Pardon, je n'avais pas lu le commentaire de Sytoka Modon.

            • [^] # Re: Écrans Nucléaires

              Posté par  . Évalué à 3.

              C'est sûrement intéressant techniquement, peut-être industriellement/économiquementl l'avenir le dira, mais ça va pas tellement plus emballer les riverains que n'importe quelle autre centrale nucléaire. Enfin perso j'ai pas envie d'avoir une usine susceptible de libérer du difluor dans l'atmosphère à côté de chez moi (pour ne même pas parler radioactivité), un peu comme les habitants de Creys-Malville étaient emballer par le sodium métallique liquide (pour ne même pas parler du plutonium).

      • [^] # Re: Écrans Nucléaires

        Posté par  . Évalué à 4.

        Moi, je trouve que le soleil est un dispositif de fusion nucléaire sacrément bien fichu

        Justement non, les étoiles sont des réacteurs à fusion nucléaire vraiment nuls. Les réactions de fusion sont relativement rares et c'est justement ce qui explique l'extrême longévité des étoiles.

        Quand on voudra fabriquer des réacteurs à fusion, il ne faudra pas s'inspirer des étoiles car nous on veut énormément de réaction de fusion !

        • [^] # Re: Écrans Nucléaires

          Posté par  (site web personnel) . Évalué à 4.

          Justement non, les étoiles sont des réacteurs à fusion nucléaire vraiment nuls. Les réactions de fusion sont relativement rares et c'est justement ce qui explique l'extrême longévité des étoiles.

          Justement, c'est ce qui est intéressant, on ne veut pas faire une bombe H mais un truc qui n'explose pas et dure le plus longtemps possible !

          • [^] # Re: Écrans Nucléaires

            Posté par  . Évalué à 6. Dernière modification le 23 octobre 2014 à 20:04.

            Aux températures et densités du cœur des étoiles, le taux de réaction de fusion est notoirement peu élevé. Par exemple, à la température (T ≈ 15 MK) et à la densité (160 g/cm3) du cœur du Soleil, le taux de libération d’énergie est seulement de 276 μW/cm3 - environ le quart du débit de chaleur par unité de volume d’un homme au repos10. Ainsi, la reproduction en laboratoire des conditions du cœur des étoiles à des fins de production d’énergie de fusion est totalement impossible à mettre en pratique. Les taux de réaction dépendant fortement de la température (exp(−E/kT)), il est nécessaire, pour atteindre des taux raisonnables de production d’énergie dans des réacteurs à fusion nucléaire, de travailler à des températures 10 à 100 fois plus élevées que celles du cœur des étoiles, soit T ≈ 0,1 — 1 GK (de l’ordre de 100 millions à un milliard de kelvins).

            Source :
            https://fr.wikipedia.org/wiki/Fusion_nucl%C3%A9aire#Chaines_de_r.C3.A9actions_en_astrophysique

  • # pour les gamers

    Posté par  . Évalué à 9.

    Juste pour vous informer de la prise en charge du contrôleur de jeu Xbox One par la 3.17.
    C'est certes mineur, mais très important dès que l'on veut un bon gamepad sous gnu/linux !

    • [^] # Re: pour les gamers

      Posté par  . Évalué à 1.

      En parlant de ça, vous avez réussi à faire marcher un pad PS4 en BlueTooth sur votre Linux? Si oui, vous pourriez me dire comment?

      La dernière fois que j'ai essayé (malgré le fait que c'était sensé être compatible), ça ne marchait ni en USB, ni en BT.

      • [^] # Re: pour les gamers

        Posté par  . Évalué à 2.

        En bluetooth je ne sais pas mais en USB c'est bizarre. Avec quelle version du noyau ? Que dit

        dmesg | grep input

  • # getrandom / getentropy

    Posté par  . Évalué à 3.

    A noter que getentropy a été ajoute récemment aussi dans Hardened/Free BSD.

  • # Question de licence sur le fencing pour drm

    Posté par  . Évalué à 4.

    Maarten Lankhorst a enfin réussi à faire accepter ses modifications […]. Certaines personnes ont essayé de limiter cette interface de programmation aux modules GPL, mais sans succès.

    Le thread en question commence ici : https://lkml.org/lkml/2014/6/19/385
    On voit que ça n'est pas n'importe qui mais Greg KH qui essaye de convaincre les auteurs de ce patch de déclarer cette interface comme étant GPL. En face, Maarten Lankhorst (Canonical) ne se prononce pas vraiment, Rob Clark (Texas Instrument) dit que c'est de toutes façons une « cause perdue » vu l'acteur qui agit principalement derrière ces changements vers une licence plus permissive (Nvidia, sans le nommer) et que les modifications autour du drm sont souvent licenciées BSD/MIT. Daniel Vetter (Intel) signale également les inconsistances de licences sur ces syscalls (DMA-buf en GPL, mais pas prime, contribué par… Nvidia) et Dave Airlie (Red Hat) trouve que ça n'est pas une bonne manière de faire respecter la GPL (et que les groupes pro-GPL « feraient mieux d'aller présenter les violations devant un tribunal » et que la Linux Foundation serait utile si elle « attaquait au nom de Linus » ; un beau double homme de paille, des personnes essayant déjà de se battre, et l'attribution du droit d'auteur à la LF n'ayant pas l'air d'être au goût des contributeurs du kernel en général, ceux-ci refusant le « ou supérieur » de la GPLv2 et l'attribution à la manière de la FSF, qui défend les auteurs de Logiciel Libre qui lui attribuent leur droit patrimonial).

  • # Bug de l'an 2038

    Posté par  (site web personnel) . Évalué à 1. Dernière modification le 28 décembre 2014 à 20:20.

    Le bug de l'an 2038 qui a été corrigé dans cette version du noyau et a été omis dans la dépêche !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.