Messages in this thread | | | From | "Rustad, Mark D" <> | Subject | Re: [PATCH 5/7] signal: Silence nested-externs warnings | Date | Fri, 19 Sep 2014 21:26:20 +0000 |
| |
On Sep 19, 2014, at 2:21 PM, Josh Triplett <josh@joshtriplett.org> wrote:
> On Fri, Sep 19, 2014 at 07:20:30PM +0200, Oleg Nesterov wrote: >> On 09/19, Richard Weinberger wrote: >>> >>> Am 19.09.2014 17:37, schrieb Jeff Kirsher: >>>> >>>> See patch 1 of the series. >>> >>> I was not CC'ed... >> >> Me too, and thus I don't understand this patch. >> >> But I have to admit it looks a bit ugly to me anyway. >> Can't we simply kill _NSIG_WORDS_is_unsupported_size ? > > This looks quite preferable. Can you post that with a commit message > and signoff? Also, the indentation on the second of the three BUILD_BUG > calls has some spaces in it, which it shouldn't. With those fixed: > Reviewed-by: Josh Triplett <josh@joshtriplett.org>
I haven't tried this patch myself yet, but assuming that it works, it is a far better way to go.
>> diff --git a/include/linux/signal.h b/include/linux/signal.h >> index 750196f..679c9b4 100644 >> --- a/include/linux/signal.h >> +++ b/include/linux/signal.h >> @@ -67,7 +67,6 @@ static inline int sigismember(sigset_t *set, int _sig) >> >> static inline int sigisemptyset(sigset_t *set) >> { >> - extern void _NSIG_WORDS_is_unsupported_size(void); >> switch (_NSIG_WORDS) { >> case 4: >> return (set->sig[3] | set->sig[2] | >> @@ -77,7 +76,7 @@ static inline int sigisemptyset(sigset_t *set) >> case 1: >> return set->sig[0] == 0; >> default: >> - _NSIG_WORDS_is_unsupported_size(); >> + BUILD_BUG(); >> return 0; >> } >> } >> @@ -90,7 +89,6 @@ static inline int sigisemptyset(sigset_t *set) >> #define _SIG_SET_BINOP(name, op) \ >> static inline void name(sigset_t *r, const sigset_t *a, const sigset_t *b) \ >> { \ >> - extern void _NSIG_WORDS_is_unsupported_size(void); \ >> unsigned long a0, a1, a2, a3, b0, b1, b2, b3; \ >> \ >> switch (_NSIG_WORDS) { \ >> @@ -107,7 +105,7 @@ static inline void name(sigset_t *r, const sigset_t *a, const sigset_t *b) \ >> r->sig[0] = op(a0, b0); \ >> break; \ >> default: \ >> - _NSIG_WORDS_is_unsupported_size(); \ >> + BUILD_BUG(); \ >> } \ >> } >> >> @@ -128,8 +126,6 @@ _SIG_SET_BINOP(sigandnsets, _sig_andn) >> #define _SIG_SET_OP(name, op) \ >> static inline void name(sigset_t *set) \ >> { \ >> - extern void _NSIG_WORDS_is_unsupported_size(void); \ >> - \ >> switch (_NSIG_WORDS) { \ >> case 4: set->sig[3] = op(set->sig[3]); \ >> set->sig[2] = op(set->sig[2]); \ >> @@ -137,7 +133,7 @@ static inline void name(sigset_t *set) \ >> case 1: set->sig[0] = op(set->sig[0]); \ >> break; \ >> default: \ >> - _NSIG_WORDS_is_unsupported_size(); \ >> + BUILD_BUG(); \ >> } \ >> }
-- Mark Rustad, Networking Division, Intel Corporation
[unhandled content-type:application/pgp-signature] | |