lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 20 Sep 2016 10:46:51 +0100 From: Marc Zyngier <marc.zyngier@....com> To: Peter Zijlstra <peterz@...radead.org> Cc: linux-kernel@...r.kernel.org, Jason Baron <jbaron@...mai.com>, Jonathan Corbet <corbet@....net>, Christoffer Dall <christoffer.dall@...aro.org>, Vladimir Murzin <vladimir.murzin@....com>, Catalin Marinas <catalin.marinas@....com> Subject: Re: [PATCH 1/2] jump_labels: Add API to deal with keys embedded in structures On 20/09/16 10:42, Peter Zijlstra wrote: > On Mon, Sep 19, 2016 at 06:21:27PM +0100, Marc Zyngier wrote: >> It is desirable to allow static keys to be integrated in structures, >> as it can lead do slightly more readable code. But the current API >> only provides DEFINE_STATIC_KEY_TRUE/FALSE, which is not exactly >> nice and leads to the following idiom: >> >> static struct { >> int foo; >> struct static_key_false key; >> } bar = { >> .key = STATIC_KEY_FALSE_INIT, >> }; >> >> [...] >> >> if (static_branch_unlikely(&bar.key)) >> foo = -1; >> >> which doesn't follow the recommended API, and uses the internals >> of the static key implementation. >> >> This patch introduces DECLARE_STATIC_KEY_TRUE/FALSE, as well as >> INIT_STATIC_KEY_TRUE/FALSE, which abstract such construct and >> allow the internals to evolve without having to fix everything else: >> >> static struct { >> int foo; >> DECLARE_STATIC_KEY_FALSE(key); >> } bar = { >> INIT_STATIC_KEY_FALSE(.key), >> }; > > Hurm.. > > I think I like the first better, it looks more like actual C. Either way > around you need to now manually match up the type and initializer. Fair enough, I'll stick to that for the KVM code. Thanks for the quick feedback. M. -- Jazz is not dead. It just smells funny...
Powered by blists - more mailing lists