1. 28 6月, 2018 3 次提交
  2. 27 6月, 2018 1 次提交
    • L
      checkpatch: remove warning for 'old' stable@kernel.org address · 3b41c3e2
      Linus Torvalds 提交于
      It may not be the actual real stable mailing list address, but the
      stable scripts to actually pick up on the traditional way to mark stable
      patches.
      
      There are also reasons to explicitly avoid using the actual mailing list
      address, since security patches with embargo dates generally do want the
      stable marking, but don't want tools etc to mistakenly send the patch
      out to the mailing list early.
      
      So don't warn for things that are still actively used and explicitly
      supported.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3b41c3e2
  3. 25 6月, 2018 2 次提交
    • D
      kconfig: fix line numbers for if-entries in menu tree · b2d00d7c
      Dirk Gouders 提交于
      The line numers for if-entries in the menu tree are off by one or more
      lines which is confusing when debugging for correctness of unrelated changes.
      
      According to the git log, commit a02f0570 (kconfig: improve
      error handling in the parser) was the last one that changed that part
      of the parser and replaced
      
      	"if_entry: T_IF expr T_EOL"
      by
      	"if_entry: T_IF expr nl"
      
      but the commit message does not state why this has been done.
      
      When reverting that part of the commit, only the line numers are
      corrected (checked with cdebug = DEBUG_PARSE in zconf.y), otherwise
      the menu tree remains unchanged (checked with zconfdump() enabled in
      conf.c).
      
      An example for the corrected line numbers:
      
      drivers/soc/Kconfig:15:source drivers/soc/tegra/Kconfig
      drivers/soc/tegra/Kconfig:4:if
      drivers/soc/tegra/Kconfig:6:if
      
      changes to:
      
      drivers/soc/Kconfig:15:source drivers/soc/tegra/Kconfig
      drivers/soc/tegra/Kconfig:1:if
      drivers/soc/tegra/Kconfig:4:if
      Signed-off-by: NDirk Gouders <dirk@gouders.net>
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      b2d00d7c
    • S
      stack-protector: Fix test with 32-bit userland and CONFIG_64BIT=y · 5391e536
      Sven Joachim 提交于
      When building a 64-bit 4.18-rc1 kernel with a 32-bit userland, I
      noticed that stack protection was silently disabled.  Adding -m64 in
      gcc-x86_64-has-stack-protector.sh fixed that, similar to what has been
      noticed in commit 2a61f474 ("stack-protector: test compiler
      capability in Kconfig and drop AUTO mode") for
      gcc-x86_32-has-stack-protector.sh.
      Signed-off-by: NSven Joachim <svenjoac@gmx.de>
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      5391e536
  4. 22 6月, 2018 1 次提交
  5. 16 6月, 2018 6 次提交
  6. 11 6月, 2018 4 次提交
  7. 08 6月, 2018 6 次提交
  8. 06 6月, 2018 2 次提交
    • G
      staging: lustre: delete the filesystem from the tree. · be65f9ed
      Greg Kroah-Hartman 提交于
      The Lustre filesystem has been in the kernel tree for over 5 years now.
      While it has been an endless source of enjoyment for new kernel
      developers learning how to do basic codingstyle cleanups, as well as an
      semi-entertaining source of bewilderment from the vfs developers any
      time they have looked into the codebase to try to figure out how to port
      their latest api changes to this filesystem, it has not really moved
      forward into the "this is in shape to get out of staging" despite many
      half-completed attempts.
      
      And getting code out of staging is the main goal of that portion of the
      kernel tree.  Code should not stagnate and it feels like having this
      code in staging is only causing the development cycle of the filesystem
      to take longer than it should.  There is a whole separate out-of-tree
      copy of this codebase where the developers work on it, and then random
      changes are thrown over the wall at staging at some later point in time.
      This dual-tree development model has never worked, and the state of this
      codebase is proof of that.
      
      So, let's just delete the whole mess.  Now the lustre developers can go
      off and work in their out-of-tree codebase and not have to worry about
      providing valid changelog entries and breaking their patches up into
      logical pieces.  They can take the time they have spend doing those
      types of housekeeping chores and get the codebase into a much better
      shape, and it can be submitted for inclusion into the real part of the
      kernel tree when ready.
      
      Cc: Oleg Drokin <oleg.drokin@intel.com>
      Cc: Andreas Dilger <andreas.dilger@intel.com>
      Cc: James Simmons <jsimmons@infradead.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      be65f9ed
    • P
      scripts/faddr2line: make the new code listing format optional · 689135f0
      Peter Zijlstra (Intel) 提交于
      Commit 6870c016 ("scripts/faddr2line: show the code context")
      radically altered the output format of the faddr2line tool.  And while
      the new list output format might have merit it broke my vim usage and
      was hard to read.
      
      Make the new format optional; using a '--list' argument and attempt to
      make the output slightly easier to read by adding a little whitespace to
      separate the different files and explicitly mark the line in question.
      
      Cc: Changbin Du <changbin.du@intel.com>
      Fixes: 6870c016 ("scripts/faddr2line: show the code context")
      Signed-off-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
      Signed-off-by: NJosh Poimboeuf <jpoimboe@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      689135f0
  9. 05 6月, 2018 4 次提交
  10. 01 6月, 2018 1 次提交
  11. 29 5月, 2018 10 次提交
    • N
      scripts: Fixed printf format mismatch · ac5db1fc
      nixiaoming 提交于
      scripts/kallsyms.c: function write_src:
      "printf", the #1 format specifier "d" need arg type "int",
      but the according arg "table_cnt" has type "unsigned int"
      
      scripts/recordmcount.c: function do_file:
      "fprintf", the #1 format specifier "d" need arg type "int",
      but the according arg "(*w2)(ehdr->e_machine)" has type "unsigned int"
      
      scripts/recordmcount.h: function find_secsym_ndx:
      "fprintf", the #1 format specifier "d" need arg type "int",
      but the according arg "txtndx" has type "unsigned int"
      Signed-off-by: Nnixiaoming <nixiaoming@huawei.com>
      Acked-by: NSteven Rostedt (VMware) <rostedt@goodmis.org>
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      ac5db1fc
    • M
      kconfig: add basic helper macros to scripts/Kconfig.include · e1cfdc0e
      Masahiro Yamada 提交于
      Kconfig got text processing tools like we see in Make.  Add Kconfig
      helper macros to scripts/Kconfig.include like we collect Makefile
      macros in scripts/Kbuild.include.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      Reviewed-by: NKees Cook <keescook@chromium.org>
      Reviewed-by: NUlf Magnusson <ulfalizer@gmail.com>
      e1cfdc0e
    • M
      kconfig: test: add Kconfig macro language tests · 2bece88f
      Masahiro Yamada 提交于
      Here are the test cases I used for developing the text expansion
      feature.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      2bece88f
    • M
      kconfig: error out if a recursive variable references itself · 915f6490
      Masahiro Yamada 提交于
      When using a recursively expanded variable, it is a common mistake
      to make circular reference.
      
      For example, Make terminates the following code:
      
        X = $(X)
        Y := $(X)
      
      Let's detect the circular expansion in Kconfig, too.
      
      On the other hand, a function that recurses itself is a commonly-used
      programming technique.  So, Make does not check recursion in the
      reference with 'call'.  For example, the following code continues
      running eternally:
      
        X = $(call X)
        Y := $(X)
      
      Kconfig allows circular expansion if one or more arguments are given,
      but terminates when the same function is recursively invoked 1000 times,
      assuming it is a programming mistake.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      915f6490
    • M
      kconfig: add 'filename' and 'lineno' built-in variables · a702a617
      Masahiro Yamada 提交于
      The special variables, $(filename) and $(lineno), are expanded to a
      file name and its line number being parsed, respectively.
      Suggested-by: NRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      Reviewed-by: NKees Cook <keescook@chromium.org>
      a702a617
    • M
      kconfig: add 'info', 'warning-if', and 'error-if' built-in functions · 1d6272e6
      Masahiro Yamada 提交于
      Syntax:
        $(info,<text>)
        $(warning-if,<condition>,<text>)
        $(error-if,<condition>,<text)
      
      The 'info' function prints a message to stdout as in Make.
      
      The 'warning-if' and 'error-if' are similar to 'warning' and 'error'
      in Make, but take the condition parameter.  They are effective only
      when the <condition> part is y.
      
      Kconfig does not implement the lazy expansion as used in the 'if'
      'and, 'or' functions in Make.  In other words, Kconfig does not
      support conditional expansion.  The unconditional 'error' function
      would always terminate the parsing, hence would be useless in Kconfig.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      Reviewed-by: NKees Cook <keescook@chromium.org>
      1d6272e6
    • M
      kconfig: expand lefthand side of assignment statement · 82bc8bd8
      Masahiro Yamada 提交于
      Make expands the lefthand side of assignment statements.  In fact,
      Kbuild relies on it since kernel makefiles mostly look like this:
      
        obj-$(CONFIG_FOO) += foo.o
      
      Do likewise in Kconfig.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      82bc8bd8
    • M
      kconfig: support append assignment operator · ed2a22f2
      Masahiro Yamada 提交于
      Support += operator.  This appends a space and the text on the
      righthand side to a variable.
      
      The timing of the evaluation of the righthand side depends on the
      flavor of the variable.  If the lefthand side was originally defined
      as a simple variable, the righthand side is expanded immediately.
      Otherwise, the expansion is deferred.  Appending something to an
      undefined variable results in a recursive variable.
      
      To implement this, we need to remember the flavor of variables.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      ed2a22f2
    • M
      kconfig: support simply expanded variable · 1175c025
      Masahiro Yamada 提交于
      The previous commit added variable and user-defined function.  They
      work similarly in the sense that the evaluation is deferred until
      they are used.
      
      This commit adds another type of variable, simply expanded variable,
      as we see in Make.
      
      The := operator defines a simply expanded variable, expanding the
      righthand side immediately.  This works like traditional programming
      language variables.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      1175c025
    • M
      kconfig: support user-defined function and recursively expanded variable · 9ced3bdd
      Masahiro Yamada 提交于
      Now, we got a basic ability to test compiler capability in Kconfig.
      
      config CC_HAS_STACKPROTECTOR
              def_bool $(shell,($(CC) -Werror -fstack-protector -E -x c /dev/null -o /dev/null 2>/dev/null) && echo y || echo n)
      
      This works, but it is ugly to repeat this long boilerplate.
      
      We want to describe like this:
      
      config CC_HAS_STACKPROTECTOR
              bool
              default $(cc-option,-fstack-protector)
      
      It is straight-forward to add a new function, but I do not like to
      hard-code specialized functions like that.  Hence, here is another
      feature, user-defined function.  This works as a textual shorthand
      with parameterization.
      
      A user-defined function is defined by using the = operator, and can
      be referenced in the same way as built-in functions.  A user-defined
      function in Make is referenced like $(call my-func,arg1,arg2), but I
      omitted the 'call' to make the syntax shorter.
      
      The definition of a user-defined function contains $(1), $(2), etc.
      in its body to reference the parameters.  It is grammatically valid
      to pass more or fewer arguments when calling it.  We already exploit
      this feature in our makefiles; scripts/Kbuild.include defines cc-option
      which takes two arguments at most, but most of the callers pass only
      one argument.
      
      By the way, a variable is supported as a subset of this feature since
      a variable is "a user-defined function with zero argument".  In this
      context, I mean "variable" as recursively expanded variable.  I will
      add a different flavored variable in the next commit.
      
      The code above can be written as follows:
      
      [Example Code]
      
        success = $(shell,($(1)) >/dev/null 2>&1 && echo y || echo n)
        cc-option = $(success,$(CC) -Werror $(1) -E -x c /dev/null -o /dev/null)
      
        config CC_HAS_STACKPROTECTOR
                def_bool $(cc-option,-fstack-protector)
      
      [Result]
        $ make -s alldefconfig && tail -n 1 .config
        CONFIG_CC_HAS_STACKPROTECTOR=y
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      9ced3bdd