lkml.org 
[lkml]   [2019]   [Apr]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v3] proc/sysctl: add shared variables for range check
On Fri, Apr 19, 2019 at 09:17:17AM +0900, Matteo Croce wrote:
> > extern const int sysctl_zero;
> > /* comment goes here */
> > #define SYSCTL_ZERO ((void *)&sysctl_zero)
> >
> > and then use SYSCTL_ZERO everywhere. That centralizes the ugliness
> > and
> > makes it easier to switch over if/when extra1&2 are constified.
> >
> > But it's all a bit sad and lame :(
>
> No, we didn't decide yet. I need to check for all extra1,2 assignment. Not an impossible task, anyway.
>
> I agree that the casts are ugly. Your suggested macro moves the ugliness in a single point, which is good. Or maybe we can do a single macro like:
>
> #define SYSCTL_VAL(x) ((void *)&sysctl_##x)
>
> to avoid defining one for every value. And when we decide that everything can be const, we just update the macro.

If we're going to do that, we can save two EXPORTs and do:

const int sysctl_vals[] = { 0, 1, -1 };
EXPORT_SYMBOL(sysctl_vals);

#define SYSCTL_ZERO ((void *)&sysctl_vals[0])

\
 
 \ /
  Last update: 2019-04-19 03:08    [W:0.053 / U:21.868 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site