* [PATCH 0/4] treewide: Add 'fallthrough' pseudo-keyword @ 2019-10-05 16:46 Joe Perches 2019-10-05 16:46 ` [PATCH 3/4] Documentation/process: Add fallthrough pseudo-keyword Joe Perches 2019-10-11 16:29 ` [PATCH 0/4] treewide: Add 'fallthrough' pseudo-keyword Linus Torvalds 0 siblings, 2 replies; 11+ messages in thread From: Joe Perches @ 2019-10-05 16:46 UTC (permalink / raw) To: Linus Torvalds, linux-sctp Cc: Miguel Ojeda, Kees Cook, Borislav Petkov, H . Peter Anvin, Thomas Gleixner, Pavel Machek, Gustavo A . R . Silva, Arnaldo Carvalho de Melo, Kan Liang, Namhyung Kim, Jiri Olsa, Alexander Shishkin, Shawn Landden, x86, linux-kernel, Nathan Chancellor, Nick Desaulniers, Andrew Morton, David Miller, clang-built-linux, Jonathan Corbet, Vlad Yasevich, Neil Horman, Marcelo Ricardo Leitner, linux-doc, netdev Add 'fallthrough' pseudo-keyword to enable the removal of comments like '/* fallthrough */'. Add a script to convert the fallthrough comments. The script can be run over any single file or treewide. For instance, a treewide conversion can be done using: $ git ls-files -- '*.[ch]' | \ xargs scripts/cvt_style.pl -o --convert=fallthrough This currently produces: $ git diff --shortstat 1839 files changed, 4377 insertions(+), 4698 deletions(-) Example fallthrough conversion produced by the script: $ scripts/cvt_style.pl -o --convert=fallthrough arch/arm/mm/alignment.c a/arch/arm/mm/alignment.c b/arch/arm/mm/alignment.c @@ -695,8 +695,7 @@ thumb2arm(u16 tinstr) return subset[(L<<1) | ((tinstr & (1<<8)) >> 8)] | (tinstr & 255); /* register_list */ } - /* Else, fall through - for illegal instruction case */ - + fallthrough; /* for illegal instruction case */ default: return BAD_INSTR; } @@ -751,8 +750,7 @@ do_alignment_t32_to_handler(unsigned long *pinstr, struct pt_regs *regs, case 0xe8e0: case 0xe9e0: poffset->un = (tinst2 & 0xff) << 2; - /* Fall through */ - + fallthrough; case 0xe940: case 0xe9c0: return do_alignment_ldrdstrd; Joe Perches (4): net: sctp: Rename fallthrough label to unhandled compiler_attributes.h: Add 'fallthrough' pseudo keyword for switch/case use Documentation/process: Add fallthrough pseudo-keyword scripts/cvt_style.pl: Tool to reformat sources in various ways Documentation/process/coding-style.rst | 2 +- Documentation/process/deprecated.rst | 33 +- include/linux/compiler_attributes.h | 17 + net/sctp/sm_make_chunk.c | 12 +- scripts/cvt_style.pl | 808 +++++++++++++++++++++++++++++++++ 5 files changed, 855 insertions(+), 17 deletions(-) create mode 100755 scripts/cvt_style.pl -- 2.15.0 ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 3/4] Documentation/process: Add fallthrough pseudo-keyword 2019-10-05 16:46 [PATCH 0/4] treewide: Add 'fallthrough' pseudo-keyword Joe Perches @ 2019-10-05 16:46 ` Joe Perches 2019-10-05 17:47 ` Miguel Ojeda 2019-10-11 16:29 ` [PATCH 0/4] treewide: Add 'fallthrough' pseudo-keyword Linus Torvalds 1 sibling, 1 reply; 11+ messages in thread From: Joe Perches @ 2019-10-05 16:46 UTC (permalink / raw) To: Linus Torvalds, linux-kernel Cc: Miguel Ojeda, Kees Cook, Borislav Petkov, H . Peter Anvin, Thomas Gleixner, Pavel Machek, Gustavo A . R . Silva, Arnaldo Carvalho de Melo, Kan Liang, Namhyung Kim, Jiri Olsa, Alexander Shishkin, Shawn Landden, x86, Nathan Chancellor, Nick Desaulniers, Andrew Morton, David Miller, clang-built-linux, Jonathan Corbet, linux-doc Describe the fallthrough pseudo-keyword. Convert the coding-style.rst example to the keyword style. Add description and links to deprecated.rst. Signed-off-by: Joe Perches <joe@perches.com> --- Documentation/process/coding-style.rst | 2 +- Documentation/process/deprecated.rst | 33 +++++++++++++++++++++++---------- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/Documentation/process/coding-style.rst b/Documentation/process/coding-style.rst index f4a2198187f9..ada573b7d703 100644 --- a/Documentation/process/coding-style.rst +++ b/Documentation/process/coding-style.rst @@ -56,7 +56,7 @@ instead of ``double-indenting`` the ``case`` labels. E.g.: case 'K': case 'k': mem <<= 10; - /* fall through */ + fallthrough; default: break; } diff --git a/Documentation/process/deprecated.rst b/Documentation/process/deprecated.rst index 56280e108d5a..a0ffdc8daef3 100644 --- a/Documentation/process/deprecated.rst +++ b/Documentation/process/deprecated.rst @@ -122,14 +122,27 @@ memory adjacent to the stack (when built without `CONFIG_VMAP_STACK=y`) Implicit switch case fall-through --------------------------------- -The C language allows switch cases to "fall through" when -a "break" statement is missing at the end of a case. This, -however, introduces ambiguity in the code, as it's not always -clear if the missing break is intentional or a bug. As there -have been a long list of flaws `due to missing "break" statements +The C language allows switch cases to "fall-through" when a "break" statement +is missing at the end of a case. This, however, introduces ambiguity in the +code, as it's not always clear if the missing break is intentional or a bug. + +As there have been a long list of flaws `due to missing "break" statements <https://cwe.mitre.org/data/definitions/484.html>`_, we no longer allow -"implicit fall-through". In order to identify an intentional fall-through -case, we have adopted the marking used by static analyzers: a comment -saying `/* Fall through */`. Once the C++17 `__attribute__((fallthrough))` -is more widely handled by C compilers, static analyzers, and IDEs, we can -switch to using that instead. +"implicit fall-through". + +In order to identify intentional fall-through cases, we have adopted a +pseudo-keyword macro 'fallthrough' which expands to gcc's extension +__attribute__((__fallthrough__)). `Statement Attributes +<https://gcc.gnu.org/onlinedocs/gcc/Statement-Attributes.html>`_ + +When the C17/C18 [[fallthrough]] syntax is more commonly supported by +C compilers, static analyzers, and IDEs, we can switch to using that syntax +for the macro pseudo-keyword. + +All switch/case blocks must end in one of: + + break; + fallthrough; + continue; + goto <label>; + return [expression]; -- 2.15.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 3/4] Documentation/process: Add fallthrough pseudo-keyword 2019-10-05 16:46 ` [PATCH 3/4] Documentation/process: Add fallthrough pseudo-keyword Joe Perches @ 2019-10-05 17:47 ` Miguel Ojeda 2019-10-09 21:51 ` Nick Desaulniers 0 siblings, 1 reply; 11+ messages in thread From: Miguel Ojeda @ 2019-10-05 17:47 UTC (permalink / raw) To: Joe Perches Cc: Linus Torvalds, linux-kernel, Kees Cook, Borislav Petkov, H . Peter Anvin, Thomas Gleixner, Pavel Machek, Gustavo A . R . Silva, Arnaldo Carvalho de Melo, Kan Liang, Namhyung Kim, Jiri Olsa, Alexander Shishkin, Shawn Landden, maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT), Nathan Chancellor, Nick Desaulniers, Andrew Morton, David Miller, clang-built-linux, Jonathan Corbet, Linux Doc Mailing List On Sat, Oct 5, 2019 at 6:47 PM Joe Perches <joe@perches.com> wrote: > > diff --git a/Documentation/process/deprecated.rst b/Documentation/process/deprecated.rst > index 56280e108d5a..a0ffdc8daef3 100644 > --- a/Documentation/process/deprecated.rst > +++ b/Documentation/process/deprecated.rst > @@ -122,14 +122,27 @@ memory adjacent to the stack (when built without `CONFIG_VMAP_STACK=y`) > > Implicit switch case fall-through > --------------------------------- > -The C language allows switch cases to "fall through" when > -a "break" statement is missing at the end of a case. This, > -however, introduces ambiguity in the code, as it's not always > -clear if the missing break is intentional or a bug. As there > -have been a long list of flaws `due to missing "break" statements > +The C language allows switch cases to "fall-through" when a "break" statement > +is missing at the end of a case. This, however, introduces ambiguity in the > +code, as it's not always clear if the missing break is intentional or a bug. > + > +As there have been a long list of flaws `due to missing "break" statements > <https://cwe.mitre.org/data/definitions/484.html>`_, we no longer allow > -"implicit fall-through". In order to identify an intentional fall-through > -case, we have adopted the marking used by static analyzers: a comment > -saying `/* Fall through */`. Once the C++17 `__attribute__((fallthrough))` > -is more widely handled by C compilers, static analyzers, and IDEs, we can > -switch to using that instead. > +"implicit fall-through". > + > +In order to identify intentional fall-through cases, we have adopted a > +pseudo-keyword macro 'fallthrough' which expands to gcc's extension > +__attribute__((__fallthrough__)). `Statement Attributes > +<https://gcc.gnu.org/onlinedocs/gcc/Statement-Attributes.html>`_ > + > +When the C17/C18 [[fallthrough]] syntax is more commonly supported by Note that C17/C18 does not have [[fallthrough]]. C++17 introduced it, as it is mentioned above. I would keep the __attribute__((fallthrough)) -> [[fallthrough]] change you did, though, since that is indeed the standard syntax (given the paragraph references C++17). I was told by Aaron Ballman (who is proposing them for C) that it is more or less likely that it becomes standardized in C2x. However, it is still not added to the draft (other attributes are already, though). See N2268 and N2269: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2268.pdf (fallthrough) http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2269.pdf (attributes in general) Cheers, Miguel ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 3/4] Documentation/process: Add fallthrough pseudo-keyword 2019-10-05 17:47 ` Miguel Ojeda @ 2019-10-09 21:51 ` Nick Desaulniers 0 siblings, 0 replies; 11+ messages in thread From: Nick Desaulniers @ 2019-10-09 21:51 UTC (permalink / raw) To: Miguel Ojeda Cc: Joe Perches, Linus Torvalds, linux-kernel, Kees Cook, Borislav Petkov, H . Peter Anvin, Thomas Gleixner, Pavel Machek, Gustavo A . R . Silva, Arnaldo Carvalho de Melo, Kan Liang, Namhyung Kim, Jiri Olsa, Alexander Shishkin, Shawn Landden, maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT), Nathan Chancellor, Andrew Morton, David Miller, clang-built-linux, Jonathan Corbet, Linux Doc Mailing List On Sat, Oct 5, 2019 at 10:48 AM Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> wrote: > > On Sat, Oct 5, 2019 at 6:47 PM Joe Perches <joe@perches.com> wrote: > > > > +When the C17/C18 [[fallthrough]] syntax is more commonly supported by > > Note that C17/C18 does not have [[fallthrough]]. C++17 introduced it, > as it is mentioned above. I would keep the > __attribute__((fallthrough)) -> [[fallthrough]] change you did, > though, since that is indeed the standard syntax (given the paragraph > references C++17). > > I was told by Aaron Ballman (who is proposing them for C) that it is > more or less likely that it becomes standardized in C2x. However, it > is still not added to the draft (other attributes are already, > though). See N2268 and N2269: > > http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2268.pdf (fallthrough) > http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2269.pdf > (attributes in general) > Interesting. I think those links might be useful to include, or drop the section on C++ style attributes outright. Either way: Acked-by: Nick Desaulniers <ndesaulniers@google.com> -- Thanks, ~Nick Desaulniers ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 0/4] treewide: Add 'fallthrough' pseudo-keyword 2019-10-05 16:46 [PATCH 0/4] treewide: Add 'fallthrough' pseudo-keyword Joe Perches 2019-10-05 16:46 ` [PATCH 3/4] Documentation/process: Add fallthrough pseudo-keyword Joe Perches @ 2019-10-11 16:29 ` Linus Torvalds 2019-10-11 17:43 ` Joe Perches 2019-10-11 18:01 ` Miguel Ojeda 1 sibling, 2 replies; 11+ messages in thread From: Linus Torvalds @ 2019-10-11 16:29 UTC (permalink / raw) To: Joe Perches Cc: linux-sctp, Miguel Ojeda, Kees Cook, Borislav Petkov, H . Peter Anvin, Thomas Gleixner, Pavel Machek, Gustavo A . R . Silva, Arnaldo Carvalho de Melo, Kan Liang, Namhyung Kim, Jiri Olsa, Alexander Shishkin, Shawn Landden, the arch/x86 maintainers, Linux Kernel Mailing List, Nathan Chancellor, Nick Desaulniers, Andrew Morton, David Miller, clang-built-linux, Jonathan Corbet, Vlad Yasevich, Neil Horman, Marcelo Ricardo Leitner, open list:DOCUMENTATION, Netdev On Sat, Oct 5, 2019 at 9:46 AM Joe Perches <joe@perches.com> wrote: > > Add 'fallthrough' pseudo-keyword to enable the removal of comments > like '/* fallthrough */'. I applied patches 1-3 to my tree just to make it easier for people to start doing this. Maybe some people want to do the conversion on their own subsystem rather than with a global script, but even if not, this looks better as a "prepare for the future" series and I feel that if we're doing the "fallthrough" thing eventually, the sooner we do the prepwork the better. I'm a tiny bit worried that the actual conversion is just going to cause lots of pain for the stable people, but I'll not worry about it _too_ much. If the stable people decide that it's too painful for them to deal with the comment vs keyword model, they may want to backport these three patches too. Linus ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 0/4] treewide: Add 'fallthrough' pseudo-keyword 2019-10-11 16:29 ` [PATCH 0/4] treewide: Add 'fallthrough' pseudo-keyword Linus Torvalds @ 2019-10-11 17:43 ` Joe Perches 2019-10-11 17:46 ` Linus Torvalds 2019-10-11 18:01 ` Miguel Ojeda 1 sibling, 1 reply; 11+ messages in thread From: Joe Perches @ 2019-10-11 17:43 UTC (permalink / raw) To: Linus Torvalds Cc: linux-sctp, Miguel Ojeda, Kees Cook, Borislav Petkov, H . Peter Anvin, Thomas Gleixner, Pavel Machek, Gustavo A . R . Silva, Arnaldo Carvalho de Melo, Kan Liang, Namhyung Kim, Jiri Olsa, Alexander Shishkin, Shawn Landden, the arch/x86 maintainers, Linux Kernel Mailing List, Nathan Chancellor, Nick Desaulniers, Andrew Morton, David Miller, clang-built-linux, Jonathan Corbet, Vlad Yasevich, Neil Horman, Marcelo Ricardo Leitner, open list:DOCUMENTATION, Netdev On Fri, 2019-10-11 at 09:29 -0700, Linus Torvalds wrote: > On Sat, Oct 5, 2019 at 9:46 AM Joe Perches <joe@perches.com> wrote: > > Add 'fallthrough' pseudo-keyword to enable the removal of comments > > like '/* fallthrough */'. > > I applied patches 1-3 to my tree just to make it easier for people to > start doing this. Maybe some people want to do the conversion on their > own subsystem rather than with a global script, but even if not, this > looks better as a "prepare for the future" series and I feel that if > we're doing the "fallthrough" thing eventually, the sooner we do the > prepwork the better. > > I'm a tiny bit worried that the actual conversion is just going to > cause lots of pain for the stable people, but I'll not worry about it > _too_ much. If the stable people decide that it's too painful for them > to deal with the comment vs keyword model, they may want to backport > these three patches too. Shouldn't a conversion script be public somewhere? The old cvt_style script could be reduced to something like the below. From: Joe Perches <joe@perches.com> Date: Fri, 11 Oct 2019 10:34:04 -0700 Subject: [PATCH] scripts:cvt_fallthrough.pl: Add script to convert /* fallthrough */ comments Convert /* fallthrough */ style comments to the pseudo-keyword fallthrough; to allow clang 10 and higher to work at finding missing fallthroughs too. Requires a git repository and this overwrites the input sources. Run with a path like: ./scripts/cvt_fallthrough.pl block and all files in the path will be converted or a specific file like: ./scripts/cvt_fallthrough.pl drivers/net/wireless/zydas/zd1201.c Signed-off-by: Joe Perches <joe@perches.com> --- scripts/cvt_fallthrough.pl | 201 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100755 scripts/cvt_fallthrough.pl diff --git a/scripts/cvt_fallthrough.pl b/scripts/cvt_fallthrough.pl new file mode 100755 index 000000000000..013379464f86 --- /dev/null +++ b/scripts/cvt_fallthrough.pl @@ -0,0 +1,201 @@ +#!/usr/bin/perl -w + +# script to modify /* fallthrough */ style comments to fallthrough; +# use: perl cvt_fallthrough.pl <paths|files> +# e.g.: perl cvtfallthrough.pl drivers/net/ethernet/intel + +use strict; + +my $P = $0; +my $modified = 0; +my $quiet = 0; + +sub expand_tabs { + my ($str) = @_; + + my $res = ''; + my $n = 0; + for my $c (split(//, $str)) { + if ($c eq "\t") { + $res .= ' '; + $n++; + for (; ($n % 8) != 0; $n++) { + $res .= ' '; + } + next; + } + $res .= $c; + $n++; + } + + return $res; +} + +my $args = join(" ", @ARGV); +my $output = `git ls-files -- $args`; +my @files = split("\n", $output); + +foreach my $file (@files) { + my $f; + my $cvt = 0; + my $text; + +# read the file + + next if ((-d $file)); + + open($f, '<', $file) + or die "$P: Can't open $file for read\n"; + $text = do { local($/) ; <$f> }; + close($f); + + next if ($text eq ""); + + # for style: + + # /* <fallthrough comment> */ + # case FOO: + + # while (comment has fallthrough and next non-blank, non-continuation line is (case or default:)) { + # remove newline, whitespace before, fallthrough comment and whitespace after + # insert newline, adjusted spacing and fallthrough; newline + # } + + my $count = 0; + my @fallthroughs = ( + 'fallthrough', + '@fallthrough@', + 'lint -fallthrough[ \t]*', + '[ \t.!]*(?:ELSE,? |INTENTIONAL(?:LY)? )?', + 'intentional(?:ly)?[ \t]*fall(?:(?:s | |-)[Tt]|t)hr(?:ough|u|ew)', + '(?:else,?\s*)?FALL(?:S | |-)?THR(?:OUGH|U|EW)[ \t.!]*(?:-[^\n\r]*)?', + '[ \t.!]*(?:Else,? |Intentional(?:ly)? )?', + 'Fall(?:(?:s | |-)[Tt]|t)hr(?:ough|u|ew)[ \t.!]*(?:-[^\n\r]*)?', + '[ \t.!]*(?:[Ee]lse,? |[Ii]ntentional(?:ly)? )?', + 'fall(?:s | |-)?thr(?:ough|u|ew)[ \t.!]*(?:-[^\n\r]*)?', + ); + do { + $count = 0; + pos($text) = 0; + foreach my $ft (@fallthroughs) { + my $regex = '(((?:[ \t]*\n)*[ \t]*)(/\*\s*(?!\*/)?\b' . "$ft" . '\s*(?!\*/)?\*/(?:[ \t]*\n)*)([ \t]*))(?:case\s+|default\s*:)'; + + while ($text =~ m{${regex}}i) { + my $all_but_case = $1; + my $space_before = $2; + my $fallthrough = $3; + my $space_after = $4; + my $pos_before = $-[1]; + my $pos_after = $+[3]; + + # try to maintain any additional comment on the same line + my $comment = ""; + if ($regex =~ /\\r/) { + $comment = $fallthrough; + $comment =~ s@^/\*\s*@@; + $comment =~ s@\s*\*/\s*$@@; + $comment =~ s@^\s*(?:intentional(?:ly)?\s+|else,?\s*)?fall[s\-]*\s*thr(?:ough|u|ew)[\s\.\-]*@@i; + $comment =~ s@\s+$@@; + $comment =~ s@\.*$@@; + $comment = "\t/* $comment */" if ($comment ne ""); + } + substr($text, $pos_before, $pos_after - $pos_before, ""); + substr($text, $pos_before, 0, "\n${space_after}\tfallthrough;${comment}\n"); + pos($text) = $pos_before; + $count++; + } + } + $cvt += $count; + } while ($count > 0); + + # Reset the fallthroughs types to a single regex + + @fallthroughs = ( + 'fall(?:(?:s | |-)[Tt]|t)hr(?:ough|u|ew)' + ); + + # Convert the // <fallthrough> style comments followed by case/default: + + do { + $count = 0; + pos($text) = 0; + foreach my $ft (@fallthroughs) { + my $regex = '(((?:[ \t]*\n)*[ \t]*)(//[ \t]*(?!\n)?\b' . "$ft" . '[ \t]*(?!\n)?\n(?:[ \t]*\n)*)([ \t]*))(?:case\s+|default\s*:)'; + while ($text =~ m{${regex}}i) { + my $all_but_case = $1; + my $space_before = $2; + my $fallthrough = $3; + my $space_after = $4; + my $pos_before = $-[1]; + my $pos_after = $+[3]; + + substr($text, $pos_before, $pos_after - $pos_before, ""); + substr($text, $pos_before, 0, "\n${space_after}\tfallthrough;\n"); + pos($text) = $pos_before; + $count++; + } + } + $cvt += $count; + } while ($count > 0); + + # Convert /* fallthrough */ comment macro lines with trailing \ + + do { + $count = 0; + pos($text) = 0; + foreach my $ft (@fallthroughs) { + my $regex = '((?:[ \t]*\\\\\n)*([ \t]*)(/\*[ \t]*\b' . "$ft" . '[ \t]*\*/)([ \t]*))\\\\\n*([ \t]*(?:case\s+|default\s*:))'; + + while ($text =~ m{${regex}}i) { + my $all_but_case = $1; + my $space_before = $2; + my $fallthrough = $3; + my $space_after = $4; + my $pos_before = $-[2]; + my $pos_after = $+[4]; + + my $oldline = "${space_before}${fallthrough}${space_after}"; + my $len = length(expand_tabs($oldline)); + + my $newline = "${space_before}fallthrough;${space_after}"; + $newline .= "\t" while (length(expand_tabs($newline)) < $len); + + substr($text, $pos_before, $pos_after - $pos_before, ""); + substr($text, $pos_before, 0, "$newline"); + pos($text) = $pos_before; + $count++; + } + } + $cvt += $count; + } while ($count > 0); + +# write the file if something was changed + + if ($cvt > 0) { + $modified = 1; + + open($f, '>', $file) + or die "$P: Can't open $file for write\n"; + print $f $text; + close($f); + + print "fallthroughs: $cvt $file\n" if (!$quiet); + } +} + +if ($modified && !$quiet) { + print <<EOT; + +Warning: these changes may not be correct. + +These changes should be carefully reviewed manually and not combined with +any functional changes. + +Compile, build and test your changes. + +You should understand and be responsible for all object changes. + +Make sure you read Documentation/SubmittingPatches before sending +any changes to reviewers, maintainers or mailing lists. +EOT +} -- 2.15.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 0/4] treewide: Add 'fallthrough' pseudo-keyword 2019-10-11 17:43 ` Joe Perches @ 2019-10-11 17:46 ` Linus Torvalds 2019-10-12 2:14 ` Joe Perches 0 siblings, 1 reply; 11+ messages in thread From: Linus Torvalds @ 2019-10-11 17:46 UTC (permalink / raw) To: Joe Perches Cc: linux-sctp, Miguel Ojeda, Kees Cook, Borislav Petkov, H . Peter Anvin, Thomas Gleixner, Pavel Machek, Gustavo A . R . Silva, Arnaldo Carvalho de Melo, Kan Liang, Namhyung Kim, Jiri Olsa, Alexander Shishkin, Shawn Landden, the arch/x86 maintainers, Linux Kernel Mailing List, Nathan Chancellor, Nick Desaulniers, Andrew Morton, David Miller, clang-built-linux, Jonathan Corbet, Vlad Yasevich, Neil Horman, Marcelo Ricardo Leitner, open list:DOCUMENTATION, Netdev On Fri, Oct 11, 2019 at 10:43 AM Joe Perches <joe@perches.com> wrote: > > Shouldn't a conversion script be public somewhere? I feel the ones that might want to do the conversion on their own are the ones that don't necessarily trust the script. But I don't even know if anybody does want to, I just feel it's an option. Linus ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 0/4] treewide: Add 'fallthrough' pseudo-keyword 2019-10-11 17:46 ` Linus Torvalds @ 2019-10-12 2:14 ` Joe Perches 0 siblings, 0 replies; 11+ messages in thread From: Joe Perches @ 2019-10-12 2:14 UTC (permalink / raw) To: Linus Torvalds Cc: linux-sctp, Miguel Ojeda, Kees Cook, Borislav Petkov, H . Peter Anvin, Thomas Gleixner, Pavel Machek, Gustavo A . R . Silva, Arnaldo Carvalho de Melo, Kan Liang, Namhyung Kim, Jiri Olsa, Alexander Shishkin, Shawn Landden, the arch/x86 maintainers, Linux Kernel Mailing List, Nathan Chancellor, Nick Desaulniers, Andrew Morton, David Miller, clang-built-linux, Jonathan Corbet, Vlad Yasevich, Neil Horman, Marcelo Ricardo Leitner, open list:DOCUMENTATION, Netdev On Fri, 2019-10-11 at 10:46 -0700, Linus Torvalds wrote: > On Fri, Oct 11, 2019 at 10:43 AM Joe Perches <joe@perches.com> wrote: > > Shouldn't a conversion script be public somewhere? > > I feel the ones that might want to do the conversion on their own are > the ones that don't necessarily trust the script. > > But I don't even know if anybody does want to, I just feel it's an option. What's the harm in keeping the script in the tree until it's no longer needed? ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 0/4] treewide: Add 'fallthrough' pseudo-keyword 2019-10-11 16:29 ` [PATCH 0/4] treewide: Add 'fallthrough' pseudo-keyword Linus Torvalds 2019-10-11 17:43 ` Joe Perches @ 2019-10-11 18:01 ` Miguel Ojeda 2019-10-11 22:07 ` Kees Cook 1 sibling, 1 reply; 11+ messages in thread From: Miguel Ojeda @ 2019-10-11 18:01 UTC (permalink / raw) To: Linus Torvalds Cc: Joe Perches, linux-sctp, Kees Cook, Borislav Petkov, H . Peter Anvin, Thomas Gleixner, Pavel Machek, Gustavo A . R . Silva, Arnaldo Carvalho de Melo, Kan Liang, Namhyung Kim, Jiri Olsa, Alexander Shishkin, Shawn Landden, the arch/x86 maintainers, Linux Kernel Mailing List, Nathan Chancellor, Nick Desaulniers, Andrew Morton, David Miller, clang-built-linux, Jonathan Corbet, Vlad Yasevich, Neil Horman, Marcelo Ricardo Leitner, open list:DOCUMENTATION, Netdev Hi Linus, On Fri, Oct 11, 2019 at 6:30 PM Linus Torvalds <torvalds@linux-foundation.org> wrote: > > On Sat, Oct 5, 2019 at 9:46 AM Joe Perches <joe@perches.com> wrote: > > > > Add 'fallthrough' pseudo-keyword to enable the removal of comments > > like '/* fallthrough */'. > > I applied patches 1-3 to my tree just to make it easier for people to > start doing this. Maybe some people want to do the conversion on their > own subsystem rather than with a global script, but even if not, this > looks better as a "prepare for the future" series and I feel that if > we're doing the "fallthrough" thing eventually, the sooner we do the > prepwork the better. > > I'm a tiny bit worried that the actual conversion is just going to > cause lots of pain for the stable people, but I'll not worry about it > _too_ much. If the stable people decide that it's too painful for them > to deal with the comment vs keyword model, they may want to backport > these three patches too. I was waiting for a v2 series to pick it up given we had some pending changes... Cheers, Miguel ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 0/4] treewide: Add 'fallthrough' pseudo-keyword 2019-10-11 18:01 ` Miguel Ojeda @ 2019-10-11 22:07 ` Kees Cook 2019-10-11 22:26 ` Miguel Ojeda 0 siblings, 1 reply; 11+ messages in thread From: Kees Cook @ 2019-10-11 22:07 UTC (permalink / raw) To: Miguel Ojeda Cc: Linus Torvalds, Joe Perches, linux-sctp, Borislav Petkov, H . Peter Anvin, Thomas Gleixner, Pavel Machek, Gustavo A . R . Silva, Arnaldo Carvalho de Melo, Kan Liang, Namhyung Kim, Jiri Olsa, Alexander Shishkin, Shawn Landden, the arch/x86 maintainers, Linux Kernel Mailing List, Nathan Chancellor, Nick Desaulniers, Andrew Morton, David Miller, clang-built-linux, Jonathan Corbet, Vlad Yasevich, Neil Horman, Marcelo Ricardo Leitner, open list:DOCUMENTATION, Netdev On Fri, Oct 11, 2019 at 08:01:42PM +0200, Miguel Ojeda wrote: > Hi Linus, > > On Fri, Oct 11, 2019 at 6:30 PM Linus Torvalds > <torvalds@linux-foundation.org> wrote: > > > > On Sat, Oct 5, 2019 at 9:46 AM Joe Perches <joe@perches.com> wrote: > > > > > > Add 'fallthrough' pseudo-keyword to enable the removal of comments > > > like '/* fallthrough */'. > > > > I applied patches 1-3 to my tree just to make it easier for people to > > start doing this. Maybe some people want to do the conversion on their > > own subsystem rather than with a global script, but even if not, this > > looks better as a "prepare for the future" series and I feel that if > > we're doing the "fallthrough" thing eventually, the sooner we do the > > prepwork the better. > > > > I'm a tiny bit worried that the actual conversion is just going to > > cause lots of pain for the stable people, but I'll not worry about it > > _too_ much. If the stable people decide that it's too painful for them > > to deal with the comment vs keyword model, they may want to backport > > these three patches too. > > I was waiting for a v2 series to pick it up given we had some pending changes... Hmpf, looks like it's in torvalds/master now. Miguel, most of the changes were related to the commit log, IIRC, so that ship has sailed. :( Can the stuff in Documentation/ be improved with a follow-up patch, perhaps? -- Kees Cook ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 0/4] treewide: Add 'fallthrough' pseudo-keyword 2019-10-11 22:07 ` Kees Cook @ 2019-10-11 22:26 ` Miguel Ojeda 0 siblings, 0 replies; 11+ messages in thread From: Miguel Ojeda @ 2019-10-11 22:26 UTC (permalink / raw) To: Kees Cook Cc: Linus Torvalds, Joe Perches, linux-sctp, Borislav Petkov, H . Peter Anvin, Thomas Gleixner, Pavel Machek, Gustavo A . R . Silva, Arnaldo Carvalho de Melo, Kan Liang, Namhyung Kim, Jiri Olsa, Alexander Shishkin, Shawn Landden, the arch/x86 maintainers, Linux Kernel Mailing List, Nathan Chancellor, Nick Desaulniers, Andrew Morton, David Miller, clang-built-linux, Jonathan Corbet, Vlad Yasevich, Neil Horman, Marcelo Ricardo Leitner, open list:DOCUMENTATION, Netdev On Sat, Oct 12, 2019 at 12:08 AM Kees Cook <keescook@chromium.org> wrote: > > On Fri, Oct 11, 2019 at 08:01:42PM +0200, Miguel Ojeda wrote: > > Hi Linus, > > > > On Fri, Oct 11, 2019 at 6:30 PM Linus Torvalds > > <torvalds@linux-foundation.org> wrote: > > > > > > On Sat, Oct 5, 2019 at 9:46 AM Joe Perches <joe@perches.com> wrote: > > > > > > > > Add 'fallthrough' pseudo-keyword to enable the removal of comments > > > > like '/* fallthrough */'. > > > > > > I applied patches 1-3 to my tree just to make it easier for people to > > > start doing this. Maybe some people want to do the conversion on their > > > own subsystem rather than with a global script, but even if not, this > > > looks better as a "prepare for the future" series and I feel that if > > > we're doing the "fallthrough" thing eventually, the sooner we do the > > > prepwork the better. > > > > > > I'm a tiny bit worried that the actual conversion is just going to > > > cause lots of pain for the stable people, but I'll not worry about it > > > _too_ much. If the stable people decide that it's too painful for them > > > to deal with the comment vs keyword model, they may want to backport > > > these three patches too. > > > > I was waiting for a v2 series to pick it up given we had some pending changes... > > Hmpf, looks like it's in torvalds/master now. Miguel, most of the changes > were related to the commit log, IIRC, so that ship has sailed. :( Can the > stuff in Documentation/ be improved with a follow-up patch, perhaps? Linus seems to have applied some of the improvements to the commit messages, but not those to the content (not sure why, since they were also easy ones). But no worries, we will do those later :) Cheers, Miguel ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2019-10-12 2:15 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-10-05 16:46 [PATCH 0/4] treewide: Add 'fallthrough' pseudo-keyword Joe Perches 2019-10-05 16:46 ` [PATCH 3/4] Documentation/process: Add fallthrough pseudo-keyword Joe Perches 2019-10-05 17:47 ` Miguel Ojeda 2019-10-09 21:51 ` Nick Desaulniers 2019-10-11 16:29 ` [PATCH 0/4] treewide: Add 'fallthrough' pseudo-keyword Linus Torvalds 2019-10-11 17:43 ` Joe Perches 2019-10-11 17:46 ` Linus Torvalds 2019-10-12 2:14 ` Joe Perches 2019-10-11 18:01 ` Miguel Ojeda 2019-10-11 22:07 ` Kees Cook 2019-10-11 22:26 ` Miguel Ojeda
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).