Linus Torvalds critica trecho de código do Kernel Linux com palavrões - Diolinux - O modo Linux e Open Source de ver o Mundo.

Responsive Ad Slot

Linus Torvalds critica trecho de código do Kernel Linux com palavrões

Esse cara me diverte, sério, além de ter criando o núcleo de sistema mais popular do mundo, ter ganho uma boa grana, ele ainda parece revisar o código do Kernel Linux antes de uma release realmente, e isso bom... isso não é bom para quem faz "merdinha".

terça-feira, 3 de novembro de 2015

/ por Dionatan Simioni
Esse cara me diverte, sério, além de ter criando o núcleo de sistema mais popular do mundo, ter ganho uma boa grana, ele ainda parece revisar o código do Kernel Linux antes de uma release realmente, e isso bom... isso não é bom para quem faz "merdinha".

Linus Torvalds não gosta de código arbitrário

Linus Torvalds não gosta de código arbitrário


O peso sobre os ombros da equipe do Kernel Linux é enorme, quantas empresas mundo à fora dependem da eficiência do núcleo criado por Linus Torvalds para operar diariamente? Com certeza muitas, por isso cada lançamento do Kernel Linux é algo que Linus dá uma grande importância, e ele não gosta de código ruim. Ele postou a seguinte resposta para um código que apareceu no Kernel 4.3.


Jesus Cristo, gente. Que m*rda é essa?
O conflito que eu vejo é devido a uma b*sta estúpida no novo arquivo cabeçalho gcc. Mas o que me deixa irritado é que isso tem motivos completamente ridículos.
Este é o código antigo em net/ipv6/ip6_output.c:
mtu -= hlen + sizeof(struct frag_hdr);
e este é o novo código “melhorado”, usando coisas que exigem suporte embutido e mágico no compilador, e tem funções wrapper [cujo principal propósito é chamar outra função] ridículas para quando ele não existir:
if (overflow_usub(mtu, hlen + sizeof(struct frag_hdr), &mtu) ||
mtu <= 7)
goto fail_toobig;
qualquer pessoa que achar que o código acima é (a) legível (b) eficiente (mesmo com o suporte mágico no compilador) (c) particularmente seguro é simplesmente louco e incompetente.
O código acima é uma m*rda, e gera código que é m*rda. É ruim e não tem nenhuma razão de ser.
O código poderia *facilmente* ter sido feito com apenas um condicional único e compreensível, e o compilador na verdade teria gerado código melhor, e o código ficaria melhor e mais compreensível. Por que isso não é:
if (mtu < hlen + sizeof(struct frag_hdr) + 8)
goto fail_toobig;
mtu -= hlen + sizeof(struct frag_hdr);
que tem o mesmo número de linhas, não usa funções auxiliares malucas que ninguém sabe o que fazem, e é muito mais óbvio sobre o que realmente faz? Eu garanto que a segunda versão é mais óbvia e mais fácil de ler e entender. Alguém realmente quer discordar disso?
Sério. Deem para mim *um* motivo pelo qual isso foi escrito dessa forma idiota com dois condicionais diferentes, e uma nova função fora do padrão que quer suporte especial no compilador para gerar um código pior? Uma função brilhante da qual jamais precisamos em qualquer outro lugar, e que é apenas masturbação de compilador.
E sim, você ainda poderia ter problemas de overflow com a expressão “hlen + xyz”, mas, francamente, o código “overflow_usub()” tinha isso também. Então, se você se preocupa com isso, você não fez a coisa certa para começo de conversa.
Então eu realmente não vejo nenhuma razão para este tipo de lixo completamente imbecil.
Diga-me porquê. Afinal, eu não vou autorizar este tipo de coisa completamente insana que gera conflitos no Release Candidate 7, e que parece não ter absolutamente nenhuma razão para ser uma bagunça ilegível e idiota.
O código parece *projetado* para usar esse novo “overflow_usub()”. Parece ser uma desculpa para usar essa função.
E é uma desculpa ruim para c*****o para essa lesão cerebral.
Sinto muito, mas nós não adicionamos novas interfaces idiotas como esta para código novo e idiota assim.
Sim, sim, se isso tivesse ficado dentro da camada de rede, eu nunca teria notado. Mas dado que eu *notei*, eu realmente não quero aprovar isso. Na verdade, eu quero deixar claro para *todo mundo* que um código como este é completamente inaceitável. Qualquer um que pensa que um código como este é “seguro” e “protegido” porque usa funções de detecção de overflow está tão maluco que não é nem engraçado. Tudo o que essa b*sta faz é tornar o código uma confusão ilegível, algo que nenhuma pessoa em sã consciência vai entender o que realmente faz.
Livrem-se disso. E eu *nunca* mais quero ver essa m*rda de novo.
Linus

Eis o controle de qualidade do Kernel Linux. xD

Veja também: 13  frases épicas de Linus Torvalds

Até a próxima!

_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.




Blog Diolinux © all rights reserved
made with by templateszoo