News for hackers. Stuff that matters.
Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by mikedilger on Saturday July 13, 2019 @05:39PM (#20430333)
I'd just like to say for anyone considering one of these new processors, there are some downsides I wasn't expecting. Overall I'm fine with them, but knowledge is power so here you go:

1. RDRAND returns -1 (and sets the carry bit meaning it thinks -1 is a random number). Supposedly this will be fixed in a BIOS update (which makes me think it's an intended mode wrongly turned on... a backdoor?)

2. On linux, CPU monitoring (e.g. temperature) is not available as AMD hasn't published the specs on that yet

3. While it has spectre "mitigations" (stibp, ibpb, ssbd), spectre is not yet dead (spectre_v1, spectre_v2, spec_store_bypass).

4. There is a bug/oddity in how it deals with %fs: https://www.phoronix.com/scan.php?page=news_item&px=DragonFl...

5. PSP/SEV ccp driver calls hang (on my machine at least, might be the mobo) but luckily linux only waits a few seconds before giving up and continuing the boot process.

6. There have been reports of high idle voltages, but under linux w/o monitoring I have no idea if I'm affected or if the issue is real or significant.

For most use cases all of the above are minor and don't overshadow the price-performance success of these processors.

Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by kkirsche on Saturday July 13, 2019 @05:44PM (#20430353)
The high idle voltage was explained on reddit by AMD — The final word on idle voltages for 3rd Gen ryzen https://reddit.com/r/Amd/comments/cbls9g/the_final_word_on_i...
Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by MegaDeKay on Saturday July 13, 2019 @05:44PM (#20430359)
RDRAND fix from AMD is apparently out to motherboard manufacturers already. Hopefully it doesn't take them long to release an update.

https://www.phoronix.com/scan.php?page=news_item&px=AMD-Rele...

Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by Mirioron on Saturday July 13, 2019 @06:55PM (#20430654)
>1. RDRAND returns -1 (and sets the carry bit meaning it thinks -1 is a random number). Supposedly this will be fixed in a BIOS update (which makes me think it's an intended mode wrongly turned on... a backdoor?)

Yet more evidence not to trust hardware random number generators.

Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by userbinator on Saturday July 13, 2019 @08:07PM (#20430886)
I'm very surprised that something like that even makes it into production. You'd think processor manufacturers would have an extensive set of test cases, at least one for each instruction...

I remember reading somewhere that, for a long time, Intel's "test cases" basically consisted of all the operating systems they could find, going back to MS-DOS 1.0 and including some more obscured ones, as well as tons of other third-party software.

Unfortunately it seems this new generation no longer follows the "NEVER break backwards compatibility" principle that made the PC such a great platform, and as a result we're seeing hardware/software/firmware that's increasingly buggy and divergent. It used to be the case that if a new processor couldn't run existing software (even that which depended on undocumented but constant behaviour) unmodified, it was a fatal flaw.

Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by pjc50 on Sunday July 14, 2019 @06:26AM (#20432715)
Everything on a CPU is subject to heavy validation .. but I bet the random number generator is exempt, because by definition it's not deterministic. It's more like a peripheral "listening" to randomness.

https://www.amd.com/system/files/TechDocs/amd-random-number-...

> "The RNG uses 16 separate ring oscillator chains as a noise source. Each chain consists of a different prime number of inverters in a free-running configuration which capture natural clock jitter"

So it's (deliberately) dependent on natural manufacturing variation in the silicon, and in any deterministic simulator won't produce random numbers. It also takes a while to start; it's possible that the startup conditions are bad such that "a while" turns out to be "forever".

Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by mulmen on Sunday July 14, 2019 @06:44AM (#20432764)
Probably still worth checking that it doesn't return -1 every time.
Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by NullPrefix on Sunday July 14, 2019 @08:41AM (#20433072)
Infinity of -1's is a valid random sequence, just saying.
Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by im_down_w_otp on Saturday July 13, 2019 @09:56PM (#20431202)
They have way, way more than test cases. The logic synthesis, simulation, verification, and validation capabilities of top tier EDA tools are incredible.

The problem is as it always is with these kinds of things. They help assure that you can measure your model and your implementation of that model. They're much less capable of determining you've got the right model to begin with. That part is still up to the humans.

The state of commonplace capabilities for testing and verification of software is extremely far behind that of hardware. For a variety of economic, cultural, and use case incentives reasons.

Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by ezoe on Sunday July 14, 2019 @02:43AM (#20432041)
This should teach systemd developers and other idiots who blindly use rdrand a lesson not to trust it.
Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by dang on Sunday July 14, 2019 @06:02PM (#20436436)
Can you please follow the site guidelines when posting here?

https://news.ycombinator.com/newsguidelines.html

Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by IntelMiner on Sunday July 14, 2019 @02:52AM (#20432076)
Have you read systemd's code comments regarding rdrand? It's quite a reasonable explanation
Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by ezoe on Sunday July 14, 2019 @02:55AM (#20432088)
I have just read it. Well I have to say it's quite a reasonable.

https://github.com/systemd/systemd/blob/f90bcf8679e870878829...

Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by jammygit on Sunday July 14, 2019 @03:05AM (#20432113)
"In such an environment using getrandom() synchronously means we'd block the entire system boot-up until the pool is initialized, i.e. very long."

How long is very long? 100ms, or 10s?

Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by terom on Sunday July 14, 2019 @08:02AM (#20432973)
Debian buster VM on an old CPU without RDRAND takes about 5 minutes for the kernel crng init to complete and for sshd to start accepting connections. Stracing the sshd process shows that it's indeed blocked on `getrandom()`.

In some ways, it's very much WONTFIX because something like sshd might actually need the entropy. I'm glad that systemd has proper workarounds implemented so that the machine actually boots out of the box, though.

Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by megous on Sunday July 14, 2019 @04:12AM (#20432343)
"It is very common that initialization of the random pool takes a longer time (up to many minutes..."

And it's my experience, too. It's one reason to install something like haveged. I had boot delays in the range of minutes, without it.

Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by viraptor on Sunday July 14, 2019 @04:34AM (#20432409)
> So, you are a "security researcher", and you wonder why we bother

Oh, the art of insulting the audience in the first line of a message intended for them. And it ends up being the person you'd expect to write it.

Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by chronogram on Sunday July 14, 2019 @04:37AM (#20432415)
First you call people idiots and then you say it’s reasonable without apology. Classic.
Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by ezoe on Sunday July 14, 2019 @11:20PM (#20437878)
I still believe we shall never relies on rdrand because we cannot trust the hardware RNG implementation. For me, anybody who use rdrand a idiot unless it's a video game. I said "reasonable" for their argument. I do not agree with them.
Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by mikedilger on Friday July 19, 2019 @10:30PM (#20483831)
I was wrong about point 2 being a spec issue. Linux just needed to be told "yes, this is one of those": https://github.com/groeck/k10temp/issues/12
Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by trebligdivad on Saturday July 13, 2019 @05:55PM (#20430408)
Thanks for the info; I'd be interested to see a /proc/cpuinfo (just one core) from a Linux from one of these beasts. I've not seen any published.
Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by mikedilger on Saturday July 13, 2019 @06:02PM (#20430447)

  processor : 15
  vendor_id : AuthenticAMD
  cpu family : 23
  model  : 113
  model name : AMD Ryzen 7 3700X 8-Core Processor
  stepping : 0
  microcode : 0x8701013
  cpu MHz  : 1863.008
  cache size : 512 KB
  physical id : 0
  siblings : 16
  core id  : 7
  cpu cores : 8
  apicid  : 15
  initial apicid : 15
  fpu  : yes
  fpu_exception : yes
  cpuid level : 16
  wp  : yes
  flags  : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate sme ssbd mba sev ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif umip rdpid overflow_recov succor smca
  bugs  : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass
  bogomips : 7189.14
  TLB size : 3072 4K pages
  clflush size : 64
  cache_alignment : 64
  address sizes : 43 bits physical, 48 bits virtual
  power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by whereistimbo on Saturday July 13, 2019 @06:55PM (#20430651)
One advantage of AMD over Intel is AMD included SHA hardware acceleration on every Ryzen processor.
Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by ComputerGuru on Sunday July 14, 2019 @01:32AM (#20431824)
I actually wrote up about this back in 2017 [0]; the general feeling in the community at the time was that it would be “right around the corner” from Intel, but that hasn’t really happened.

[0]: https://neosmart.net/blog/2017/will-amds-ryzen-finally-bring...

Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by Avamander on Saturday July 13, 2019 @07:57PM (#20430855)
A lot of software is compiled for very generic CPUs, I wouldn't be surprised if it's not used in many cases.
Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by blattimwind on Saturday July 13, 2019 @08:05PM (#20430878)
That's not how things are done. Practically every library that has optimized implementations for stuff selects the implementation at runtime based on CPUID.
Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by Avamander on Saturday July 13, 2019 @08:37PM (#20430966)
Exactly, assuming optimized implementations in libraries, that's not always the case and binaries compiled just exactly for the one CPU tend to perform better.
Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by Avamander on Sunday July 14, 2019 @10:35AM (#20433617)
Don't know why the downvotes, do people think optimized implementations utilizing certain CPU features or combinations of them are somehow super common?
Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by blattimwind on Sunday July 14, 2019 @11:31AM (#20433945)
People think that because it is correct. Any serious crypto library (libsodium, OpenSSL, crypto++, cryptlib, ...) that comes to mind uses this approach, codecs use it, your C standard library uses it etc.
Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by Avamander on Sunday July 14, 2019 @11:32AM (#20433955)
But there's many other libraries out there than just those though?
Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by blattimwind on Sunday July 14, 2019 @11:37AM (#20433970)
"One advantage of AMD over Intel is AMD included SHA hardware acceleration on every Ryzen processor."

What do you think is more common? People rolling their own SHA implementation or people calling <insert crypto library>'s SHA256()? The former will barely get any sort of optimization, regardless of compiler flags, the latter will automatically use the SHA extensions.

Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by Avamander on Sunday July 14, 2019 @12:42PM (#20434362)
You indeed have a point about SHA extensions and people predominantly using a good crypto library, I guess I should've been more verbose that I meant new extensions in-general being a bit underutilized.
Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by ryacko on Saturday July 13, 2019 @07:51PM (#20430834)
SHA hardware acceleration is more likely to be used in SSH and some deduplication set ups, as well as git. It isn’t that much of a plus.
Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by trebligdivad on Saturday July 13, 2019 @06:12PM (#20430486)
Thanks! Lots of flags....
Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by learnfromstory on Saturday July 13, 2019 @07:43PM (#20430807)
Zen 1 (Naples) had all kinds of problems including that frequency scaling would hang the machine. It seems wise to not buy the VERY first Zen 2 rig.
Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by paulcarroty on Sunday July 14, 2019 @04:07AM (#20432328)
> don't overshadow the price-performance success of these processors.

The choice is easy: pay more for intel and 'It Just Works (tm)' or pay less for amd and fight with issues.

And it's great.

Re:AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST G... by pjc50 on Sunday July 14, 2019 @07:23AM (#20432853)
> 'It Just Works

Well, apart from the major cloud-breaking side-channel security issues.