Forwarded from Технологический Болт Генона
Инго Молнар (Ingo Molnar), мэйнтейнер архитектуры x86, механизма блокировок и планировщика задач в ядре Linux, выставил на обсуждение набор патчей, удаляющих из ядра поддержку процессоров 486 (M486, M486SX, AMD ELAN) и начальных серий процессоров 586. В ядре предлагается оставить только возможность работы с процессорами x86, поддерживающими инструкцию CX8 (CMPXCHG8B) и регистр TSC (Time Stamp Counter), которые появились в CPU Pentium.
Отмечается, что для поддержки CPU 486 в ядре приходится держать код, эмулирующий операции CX8 (сравнить и обменять 8 байт) и TSC (счётчик циклов CPU, используемый в планировщике задач). Подобный код усложняет ядро, затрудняет сопровождение и временами становится источником проблем, разбор которых отнимает время у разработчиков. Прекращение поддержки 486 позволит удалить из ядра 14104 строки кода, что значительно упростит некоторые функции в ядре за счёт исключения прослоек, эмулирующих CX8 и TSC, и позволит избавиться от библиотеки math-emu, эмулирующей FPU.
За день до публикации патчей вопрос целесообразности удаления поддержки 486 поднял Линус Торвальдс при обсуждении очередной проблемы, проявляющейся при эмуляции CX8. Линус считает, что настало время отказаться от поддержки CPU 486 и не видит причин, чтобы продолжать тратить время разработчиков на решение возникающих из-за них проблем. Поддержка процессоров 386 была удалена из ядра в 2012 году. По мнению участников дискуссии, сейчас настало время для удаления поддержки CPU 486. В октябре 2022 года Линус уже публиковал подобное предложение, но оно не получило развития.
Разработчики ядра Linux на пути к удалению поддержки процессоров i486
https://www.opennet.ru/opennews/art.shtml?num=63184
Оригинал
https://lore.kernel.org/lkml/[email protected]/
👍23😭4👎1🌚1
#prog #rust #article #suckassstory
The Case of the Missing Metrics: A Rust Closure Mystery
TL;DR: начиная с версии 1.56.0 (и, соответственно, edition 2021 и выше) замыкания могут захватывать только поля некоторой переменной, если в теле осуществляется только доступ к полю переменной. Как следствие, если поле является Copy-типом, то move-замыкание захватывает копию значения вместо значения, в котором лежит поле, целиком. Авторы статьи сделали RAII-обёртку над счётчиком метрик, который в дропе отсылал метрики, и из-за этого у них потерялись метрики. Ситуация была усугублена тем, что они использовали макрос для использования yield-синтаксиса, который при раскрытии использовал замыкания, поэтому проблема не была видна из исходника и cargo fix код не поменял для сохранения поведения по отношению к захватам.
The Case of the Missing Metrics: A Rust Closure Mystery
TL;DR: начиная с версии 1.56.0 (и, соответственно, edition 2021 и выше) замыкания могут захватывать только поля некоторой переменной, если в теле осуществляется только доступ к полю переменной. Как следствие, если поле является Copy-типом, то move-замыкание захватывает копию значения вместо значения, в котором лежит поле, целиком. Авторы статьи сделали RAII-обёртку над счётчиком метрик, который в дропе отсылал метрики, и из-за этого у них потерялись метрики. Ситуация была усугублена тем, что они использовали макрос для использования yield-синтаксиса, который при раскрытии использовал замыкания, поэтому проблема не была видна из исходника и cargo fix код не поменял для сохранения поведения по отношению к захватам.
Medium
The Case of the Missing Metrics: A Rust Closure Mystery
How a subtle behavior in Rust’s closure handling led to lost metrics in RisingWave, and what we learned from it
🤯11❤2
— Делай спасбросок интеллекта
— Погоди, дай я проконсультируюсь со своим гороскопом...
— А впрочем — можешь не бросать, у тебя автопровал
— Погоди, дай я проконсультируюсь со своим гороскопом...
— А впрочем — можешь не бросать, у тебя автопровал
😁19🤔2👍1
#itsec
Про то, как одной строчкой кода окирпичить iPhone. Уже пофиксили, если что.
t.iss.one/linksfromme/805
Про то, как одной строчкой кода окирпичить iPhone. Уже пофиксили, если что.
t.iss.one/linksfromme/805
Telegram
Too Long, Did Read
Как закирпичить iPhone одной строчкой кода
https://rambo.codes/posts/2025-04-24-how-a-single-line-of-code-could-brick-your-iphone
Супер крутая история: разработчик нашел уязвимость в iOS, которая позволяет "закирпичить" айфон буквально одной строчкой кода.…
https://rambo.codes/posts/2025-04-24-how-a-single-line-of-code-could-brick-your-iphone
Супер крутая история: разработчик нашел уязвимость в iOS, которая позволяет "закирпичить" айфон буквально одной строчкой кода.…
🤯7❤3
Forwarded from Hacker News
Linkedin
#hackerone #curl | Daniel Stenberg | 265 comments
That's it. I've had it. I'm putting my foot down on this craziness.
1. Every reporter submitting security reports on #Hackerone for #curl now needs to answer this question:
"Did you use an AI to find the problem or generate this submission?"
(and if they…
1. Every reporter submitting security reports on #Hackerone for #curl now needs to answer this question:
"Did you use an AI to find the problem or generate this submission?"
(and if they…
👍7😁7
Forwarded from п̀̒͂̾̌̕ ̌̇̃̆о̛ ̽̓̽̓͊͛̍̏т̄̒̎̂͠ ̌͑͋͂̓̄̈о͡ ̈́͑̈̈́к̛̓̈̈ ̽̄ с͌̓͛̉̈́͂̄̅̒͆̍͝о̎́́̈͗͞ ̋з͗̕ ̋̔н́̉̈̂̈́͡ ͛̀̏ӑ̈́͊̐̏̕̚н̾̈̾̃̑̚͡и͗́͌́̾́̄̆͊̀̑̕я̐̋̎̍̕
• Сынок, когда ты вырастешь, все двери будут открыты для тебя.
Двери: 🥴🥴🥴
Двери: 🥴🥴🥴
😁9🫡6😭2👍1🤔1🥴1
Блог*
Папищеки, а вы бы любили меня, если бы я был червём?
Would you love me if I were a worm wyrm?
Awful Rust snippets for fun and profit
rules for temporary lifetime extension are syntactic, not semantic playground about temporary lifetimes
#prog #rust хайлайты:
Это, судя по всем, пофиксили: lifetime extension теперь будет работать с конструкторами (кортежных структур и кортежных вариантов перечислений)
Это, судя по всем, пофиксили: lifetime extension теперь будет работать с конструкторами (кортежных структур и кортежных вариантов перечислений)
GitHub
Temporary lifetime extension through tuple struct and tuple variant constructors by m-ou-se · Pull Request #140593 · rust-lang/rust
This makes temporary lifetime extension work for tuple struct and tuple variant constructors, such as Some().
Before:
let a = &temp(); // Extended
let a = Some(&temp()); // Not exte...
Before:
let a = &temp(); // Extended
let a = Some(&temp()); // Not exte...
🔥10❤1
Forwarded from На хую vercheniye 🇮🇱🇺🇦
Единственный достойный лозунг в память о ВМВ
👍34💩25🤡14🤮3❤🔥2💯2🤝1
Forwarded from Янгмаша's Bizarre Adventure
Подошла женщина, у меня бомбер с американским флагом (я в нем кучу лет хожу)
Она: ты фашистка, это все из-за вас
Я: да
Она: Вы, американцы…
Я: я из России
Она: ….
Она: ты фашистка, это все из-за вас
Я: да
Она: Вы, американцы…
Я: я из России
Она: ….
😁18🤡13