Re: [PATCH 5.14 018/334] nbd: add the check to prevent overflow in __nbd_ioctl()

From: Linus Torvalds
Date: Mon Sep 13 2021 - 16:42:44 EST


On Mon, Sep 13, 2021 at 1:16 PM Nick Desaulniers
<ndesaulniers@xxxxxxxxxx> wrote:
>
> Do we have access to _Generic in GCC 4.9?

We've ended up using it unconditionally since last year, so yes.

In fact, the compiler version tests got removed when we raised the gcc
version requirement to 4.9 in commit 6ec4476ac825 ("Raise gcc version
requirement to 4.9"):

"In particular, raising the minimum to 4.9 means that we can now just
assume _Generic() exists, which is likely the much better replacement
for a lot of very convoluted built-time magic with conditionals on
sizeof and/or __builtin_choose_expr() with same_type() etc"

but we haven't used it much since.

The "seqprop" code for picking the right lock for seqlock is perhaps
the main example, and staring at that code will make you go blind, so
look away.

Linus