17 Jul, 2014

1 commit

  • commit 91ad11d7cc6f4472ebf177a6252fbf0fd100d798 upstream.

    On MIPS calls to _mcount in modules generate 2 instructions to load
    the _mcount address (and therefore 2 relocations). The mcount_loc
    table should only reference the first of these, so the second is
    filtered out by checking the relocation offset and ignoring ones that
    immediately follow the previous one seen.

    However if a module has an _mcount call at offset 0, the second
    relocation would not be filtered out due to old_r_offset == 0
    being taken to mean that the current relocation is the first one
    seen, and both would end up in the mcount_loc table.

    This results in ftrace_make_nop() patching both (adjacent)
    instructions to branches over the _mcount call sequence like so:

    0xffffffffc08a8000: 04 00 00 10 b 0xffffffffc08a8014
    0xffffffffc08a8004: 04 00 00 10 b 0xffffffffc08a8018
    0xffffffffc08a8008: 2d 08 e0 03 move at,ra
    ...

    The second branch is in the delay slot of the first, which is
    defined to be unpredictable - on the platform on which this bug was
    encountered, it triggers a reserved instruction exception.

    Fix by initializing old_r_offset to ~0 and using that instead of 0
    to determine whether the current relocation is the first seen.

    Signed-off-by: Alex Smith
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/7098/
    Signed-off-by: Ralf Baechle
    Signed-off-by: Jiri Slaby

    Alex Smith
     

02 Jul, 2014

2 commits

  • commit 6b4a144a92ab81a1f45fb9b12aebaaaee0d08120 upstream.

    In cross-build environment, we expect to use the cross-compiler objcopy
    instead of the host objcopy.

    It fixes following build failures:
    objcopy --only-keep-debug lib/modules/3.14/kernel/net/ipv6/xfrm6_mode_tunnel.ko /srv/build/linux/debian/dbgtmp/usr/lib/debug/lib/modules/3.14/kernel/net/ipv6/xfrm6_mode_tunnel.ko
    objcopy: Unable to recognise the format of the input file `lib/modules/3.14/kernel/net/ipv6/xfrm6_mode_tunnel.ko'

    Signed-off-by: Fathi Boudra
    Fixes: 810e843746b7 ('deb-pkg: split debug symbols in their own package')
    Reviewed-by: Ben Hutchings
    Signed-off-by: Michal Marek
    Signed-off-by: Jiri Slaby

    Fathi Boudra
     
  • commit 21bdd17b21b45ea48e06e23918d681afbe0622e9 upstream.

    Commit 78551277e4df5: "Input: i8042 - add PNP modaliases" had a bug, where the
    second call to MODULE_DEVICE_TABLE() overrode the first resulting in not all
    the modaliases being exposed.

    This fixes the problem by including the name of the device_id table in the
    __mod_*_device_table alias, allowing us to export several device_id tables
    per module.

    Suggested-by: Kay Sievers
    Acked-by: Greg Kroah-Hartman
    Cc: Dmitry Torokhov
    Signed-off-by: Tom Gundersen
    Signed-off-by: Rusty Russell
    Signed-off-by: Jiri Slaby

    Conflicts:
    include/linux/module.h

    Tom Gundersen
     

15 May, 2014

1 commit

  • commit 8fe9c93e7453e67b8bd09f263ec1bb0783c733fc upstream.

    GCC 4.8 now generates out-of-line vr save/restore functions when
    optimizing for size. They are needed for the raid6 altivec support.

    Signed-off-by: Andreas Schwab
    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Jiri Slaby

    Andreas Schwab
     

31 Mar, 2014

2 commits

  • commit f8ce239dfc7ba9add41d9ecdc5e7810738f839fa upstream.

    builddeb generates a control file that says the linux-headers package
    can only be built for the build system primary architecture. This
    breaks cross-building configurations. We should use $debarch for this
    instead.

    Since $debarch is not yet set when generating the control file, set
    Architecture: any and use control file variables to fill in the
    description.

    Fixes: cd8d60a20a45 ('kbuild: create linux-headers package in deb-pkg')
    Reported-and-tested-by: "Niew, Sh."
    Signed-off-by: Ben Hutchings
    Signed-off-by: Michal Marek
    Signed-off-by: Jiri Slaby

    Ben Hutchings
     
  • commit c5e318f67eebbad491615a752c51dbfde7dc3d78 upstream.

    These commands will mysteriously fail:

    $ make ARCH=arm versatile_defconfig
    [...]
    $ make ARCH=arm deb-pkg
    [...]
    make[1]: *** [deb-pkg] Error 1
    make: *** [deb-pkg] Error 2

    The Debian architecture selection for these kernel architectures does
    'grep FOO=y $KCONFIG_CONFIG && echo bar', and after 'set -e' this
    aborts the script if grep does not find the given config symbol.

    Fixes: 10f26fa64200 ('build, deb-pkg: select userland architecture based on UTS_MACHINE')
    Signed-off-by: Ben Hutchings
    Signed-off-by: Michal Marek
    Signed-off-by: Jiri Slaby

    Ben Hutchings
     

23 Feb, 2014

1 commit

  • commit 03b56329f9bb5a1cb73d7dc659d529a9a9bf3acc upstream.

    Commit afe2dab4f6 ("USB: add hex/bcd detection to usb modalias generation")
    changed the routine that generates alias ranges. Before that change, only
    digits 0-9 were supported; the commit tried to fix the case when the range
    includes higher values than 0x9.

    Unfortunately, the commit didn't fix the case when the range includes both
    0x9 and 0xA, meaning that the final range must look like [x-9A-y] where
    x = 0xA -- instead the [x-9A-x] range was produced.

    Modprobe doesn't complain as it sees no difference between no-match and
    bad-pattern results of fnmatch().

    Fixing this simple bug to fix the aliases.
    Also changing the hardcoded beginning of the range to uppercase as all the
    other letters are also uppercase in the device version numbers.

    Fortunately, this affects only the dvb-usb-dib0700 module, AFAIK.

    Signed-off-by: Jan Moskyto Matejka
    Signed-off-by: Greg Kroah-Hartman

    Jan Moskyto Matejka
     

10 Jan, 2014

1 commit

  • commit 7122c3e9154b5d9a7422f68f02d8acf050fad2b0 upstream.

    Actually CONFIG_PAGE_OFFSET isn't same with PAGE_OFFSET, so
    it isn't easy to figue out PAGE_OFFSET defined in header
    file from scripts.

    Because CONFIG_PAGE_OFFSET may not be defined in some ARCHs(
    64bit ARCH), or defined as bogus value in !MMU case, so
    this patch only applys the filter on ARM when CONFIG_PAGE_OFFSET
    is defined as the original problem is only on ARM.

    Cc: Rusty Russell
    Fixes: f6537f2f0eba4eba3354e48dbe3047db6d8b6254
    Singed-off-by: Ming Lei
    Signed-off-by: Rusty Russell
    Signed-off-by: Greg Kroah-Hartman

    Ming Lei
     

02 Nov, 2013

1 commit

  • This patch uses CONFIG_PAGE_OFFSET to filter symbols which
    are not in kernel address space because these symbols are
    generally for generating code purpose and can't be run at
    kernel mode, so we needn't keep them in /proc/kallsyms.

    For example, on ARM there are some symbols which may be
    linked in relocatable code section, then perf can't parse
    symbols any more from /proc/kallsyms, this patch fixes the
    problem (introduced b9b32bf70f2fb710b07c94e13afbc729afe221da)

    Cc: Russell King
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: Michal Marek
    Signed-off-by: Ming Lei
    Signed-off-by: Rusty Russell
    Cc: stable@vger.kernel.org

    Ming Lei
     

25 Sep, 2013

1 commit


13 Sep, 2013

3 commits

  • Pull kconfig fix from Michal Marek:
    "This is a fix for a regression caused by my previous pull request.

    A sed command in scripts/config that used colons as separator was
    accidentally changed to use slashes, which fails when you use slashes
    in a value. Changing it back to colons is of course not a proper fix,
    but at least it will be broken in the same way it had been for four
    years. A proper fix is pending"

    * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    scripts/config: fix variable substitution command

    Linus Torvalds
     
  • Commit 229455bc02b87f7128f190c4491b4ceffff38648 accidentally changed the
    separator between sed `s' command and its parameters from ':' to '/'.

    Revert this change.

    Reported-and-tested-by: Linus Walleij
    Signed-off-by: Clement Chauplannaz
    Signed-off-by: Michal Marek

    Clement Chauplannaz
     
  • Pull MIPS updates from Ralf Baechle:
    "This has been sitting in -next for a while with no objections and all
    MIPS defconfigs except one are building fine; that one platform got
    broken by another patch in your tree and I'm going to submit a patch
    separately.

    - a handful of fixes that didn't make 3.11
    - a few bits of Octeon 3 support with more to come for a later
    release
    - platform enhancements for Octeon, ath79, Lantiq, Netlogic and
    Ralink SOCs
    - a GPIO driver for the Octeon
    - some dusting off of the DECstation code
    - the usual dose of cleanups"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (65 commits)
    MIPS: DMA: Fix BUG due to smp_processor_id() in preemptible code
    MIPS: kexec: Fix random crashes while loading crashkernel
    MIPS: kdump: Skip walking indirection page for crashkernels
    MIPS: DECstation HRT calibration bug fixes
    MIPS: Export copy_from_user_page() (needed by lustre)
    MIPS: Add driver for the built-in PCI controller of the RT3883 SoC
    MIPS: DMA: For BMIPS5000 cores flush region just like non-coherent R10000
    MIPS: ralink: Add support for reset-controller API
    MIPS: ralink: mt7620: Add cpu-feature-override header
    MIPS: ralink: mt7620: Add spi clock definition
    MIPS: ralink: mt7620: Add wdt clock definition
    MIPS: ralink: mt7620: Improve clock frequency detection
    MIPS: ralink: mt7620: This SoC has EHCI and OHCI hosts
    MIPS: ralink: mt7620: Add verbose ram info
    MIPS: ralink: Probe clocksources from OF
    MIPS: ralink: Add support for systick timer found on newer ralink SoC
    MIPS: ralink: Add support for periodic timer irq
    MIPS: Netlogic: Built-in DTB for XLP2xx SoC boards
    MIPS: Netlogic: Add support for USB on XLP2xx
    MIPS: Netlogic: XLP2xx update for I2C controller
    ...

    Linus Torvalds
     

12 Sep, 2013

12 commits

  • As discussed recently on the arm [1] and lm-sensors [2] lists, it is
    possible to use section markers on variables in a way which gcc doesn't
    understand (or at least not the way the developer intended):

    static struct __initdata samsung_pll_clock exynos4_plls[nr_plls] = {

    does NOT put exynos4_plls in the .initdata section. The __initdata marker
    can be virtually anywhere on the line, EXCEPT right after "struct". The
    preferred location is before the "=" sign if there is one, or before the
    trailing ";" otherwise.

    [1] http://permalink.gmane.org/gmane.linux.ports.arm.kernel/258149
    [2] http://lists.lm-sensors.org/pipermail/lm-sensors/2013-August/039836.html

    So, update checkpatch to find these misuses and report an error when it's
    immediately after struct or union, and a warning when it's otherwise not
    immediately before the ; or =.

    A similar patch was suggested by Andi Kleen
    https://lkml.org/lkml/2013/8/5/648

    Signed-off-by: Joe Perches
    Suggested-by: Jean Delvare
    Tested-by: Guenter Roeck
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • A previous patch ("checkpatch: add --types option to report only
    specific message types") uses a perl syntax introduced in perl version
    5.14.

    Use the backward compatible perl syntax instead.

    Signed-off-by: Joe Perches
    Reported-by: Julia Lawall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • There are some cases where checkpatch can take a long time to complete.
    Reduce the likelihood of this long run-time by adding a new test for lines
    with and without comments and eliminating checks on lines with only
    comments.

    This reduces the number of "ctx_statement_block" calls, and also the
    number of tests of $stat, which is now undefined for these blank lines.

    One test in particular, the "check for switch/default statements without a
    break", could take an extremely long time to parse as it tries to skip
    interleaving comments within the ctx_statement_block/$stat and that could
    be done multiple times unnecessarily.

    A small test case taken from cfg80211.h before this patch would take
    1000's of seconds to run, now it's just a couple seconds.

    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Previous attempt at fixing SPACING errors could make a hash of several
    defects.

    This patch should make --fix be a lot better at correcting these defects.

    Trim left and right sides of these defects appropriately instead of a
    somewhat random attempt at it.

    Trim left spaces from any following bit of the modified line when only a
    single space is required around an operator.

    Signed-off-by: Joe Perches
    Cc: Phil Carmody
    Cc: Andy Whitcroft
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • The tracing subsystem uses slightly odd #defines to set path/directory
    locations for include files.

    These #defines can cause false positives for the complex macro tests so
    add exclusions for these specific #defines (TRACE_SYSTEM,
    TRACE_INCLUDE_FILE, TRACE_INCLUDE_PATH).

    Signed-off-by: Joe Perches
    Cc: Sarah Sharp
    Cc: Li Zefan
    Cc: Andy Whitcroft
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Add a --types convenience option to show only specific message types.
    Combined with the --fix option, this can produce specific suggested
    formatting patches to files.

    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • checkpatch can generate a false positive when inserting a new kernel-doc
    block and function above an existing kernel-doc block.

    Fix it by checking that the context line is also a newly inserted line.

    Signed-off-by: Joe Perches
    Reported-by: Darren Hart
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Using the extern keyword on function prototypes is superfluous visual
    noise so suggest removing it.

    Using extern can cause unnecessary line wrapping at 80 columns and
    unnecessarily long multi-line function prototypes.

    Signed-off-by: Joe Perches
    Suggested-by: Hannes Frederic Sowa
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Emit a warning when a signature is used more than once.

    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • I got a bug report from a couple of users who said checkpatch.pl was
    broken for them. It was erroring out on fairly random lines most commonly
    with messages like:

    Nested quantifiers in regex; marked by
    Cc: Joe Perches
    Cc: Andy Whitcroft
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Hansen
     
  • $Lval is a test for complete name (ie: foo->bar.Baz[1])

    If any of this is CamelCase, then the current test uses the entire $Lval.
    This isn't optimal because it can emit messages with foo->bar.Baz and
    bar.Baz when Baz is a variable specified in an include file.

    So instead, break the $Lval into words and check each word for CamelCase
    uses.

    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Suggest a few more single-line corrections.

    Remove DOS line endings
    Simplify removing trailing whitespace
    Remove global/static initializations to 0/NULL
    Convert pr_warning to pr_warn
    Add space after brace
    Convert binary constants to hex
    Remove whitespace after line continuation
    Use inline not __inline or __inline__
    Use __printf and __scanf
    Use a single ; for statement terminations
    Convert __FUNCTION__ to __func__

    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     

11 Sep, 2013

1 commit

  • Pull kconfig updates from Michal Marek:
    "This is the kconfig part of kbuild for v3.12-rc1:
    - post-3.11 search code fixes and micro-optimizations
    - CONFIG_MODULES is no longer a special case; this is needed to
    eventually fix the bug that using KCONFIG_ALLCONFIG breaks
    allmodconfig
    - long long is used to store hex and int values
    - make silentoldconfig no longer warns when a symbol changes from
    tristate to bool (it's a job for make oldconfig)
    - scripts/diffconfig updated to work with newer Pythons
    - scripts/config does not rely on GNU sed extensions"

    * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kconfig: do not allow more than one symbol to have 'option modules'
    kconfig: regenerate bison parser
    kconfig: do not special-case 'MODULES' symbol
    diffconfig: Update script to support python versions 2.5 through 3.3
    diffconfig: Gracefully exit if the default config files are not present
    modules: do not depend on kconfig to set 'modules' option to symbol MODULES
    kconfig: silence warning when parsing auto.conf when a symbol has changed type
    scripts/config: use sed's POSIX interface
    kconfig: switch to "long long" for sanity
    kconfig: simplify symbol-search code
    kconfig: don't allocate n+1 elements in temporary array
    kconfig: minor style fixes in symbol-search code
    kconfig/[mn]conf: shorten title in search-box
    kconfig: avoid multiple calls to strlen
    Documentation/kconfig: more concise and straightforward search explanation

    Linus Torvalds
     

08 Sep, 2013

2 commits

  • Pull misc kbuild updates from Michal Marek:
    "In the kbuild misc branch, I have:
    - make rpm-pkg updates, most importantly the rpm package now calls
    /sbin/installkernel
    - make deb-pkg: debuginfo split, correct kernel image path for
    parisc, mips and powerpc and a couple more minor fixes
    - New coccinelle check"

    * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    scripts/checkkconfigsymbols.sh: replace echo -e with printf
    Provide version number for Debian firmware package
    coccinelle: replace 0/1 with false/true in functions returning bool
    deb-pkg: add a hook argument to match debian hooks parameters
    deb-pkg: fix installed image path on parisc, mips and powerpc
    deb-pkg: split debug symbols in their own package
    deb-pkg: use KCONFIG_CONFIG instead of .config file directly
    rpm-pkg: add generation of kernel-devel
    rpm-pkg: install firmware files in kernel relative directory
    rpm-pkg: add %post section to create initramfs and grub hooks

    Linus Torvalds
     
  • Pull kbuild update from Michal Marek:
    "Only these two commits are in the kbuild branch this time:
    - Using filechk for include/config/kernel.release
    - Cleanup in scripts/sortextable.c"

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild: Do not overwrite include/config/kernel.release needlessly
    scripts: remove unused function in sortextable.c

    Linus Torvalds
     

07 Sep, 2013

1 commit

  • Pull Tile arch updates from Chris Metcalf:
    "These changes bring in a bunch of new functionality that has been
    maintained internally at Tilera over the last year, plus other stray
    bits of work that I've taken into the tile tree from other folks.

    The changes include some PCI root complex work, interrupt-driven
    console support, support for performing fast-path unaligned data
    fixups by kernel-based JIT code generation, CONFIG_PREEMPT support,
    vDSO support for gettimeofday(), a serial driver for the tilegx
    on-chip UART, KGDB support, more optimized string routines, support
    for ftrace and kprobes, improved ASLR, and many bug fixes.

    We also remove support for the old TILE64 chip, which is no longer
    buildable"

    * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: (85 commits)
    tile: refresh tile defconfig files
    tile: rework
    tile PCI RC: make default consistent DMA mask 32-bit
    tile: add null check for kzalloc in tile/kernel/setup.c
    tile: make __write_once a synonym for __read_mostly
    tile: remove support for TILE64
    tile: use asm-generic/bitops/builtin-*.h
    tile: eliminate no-op "noatomichash" boot argument
    tile: use standard tile_bundle_bits type in traps.c
    tile: simplify code referencing hypervisor API addresses
    tile: change to in comments
    tile: mark pcibios_init() as __init
    tile: check for correct compiler earlier in asm-offsets.c
    tile: use standard 'generic-y' model for
    tile: use asm-generic version of
    tile PCI RC: add comment about "PCI hole" problem
    tile: remove DEBUG_EXTRA_FLAGS kernel config option
    tile: add virt_to_kpte() API and clean up and document behavior
    tile: support FRAME_POINTER
    tile: support reporting Tilera hypervisor statistics
    ...

    Linus Torvalds
     

05 Sep, 2013

4 commits

  • Previously, it was possible to have more than one symbol with the
    'option modules' attached to them, although only the last one would
    in fact control tristates.

    Since this does not make much sense, only allow at most one symbol to
    control tristates.

    Note: it is still possible to have more than one symbol that control
    tristates, but indirectly:

    config MOD1
    bool "mod1"
    select MODULES
    config MOD2
    bool "mod2"
    select MODULES
    config MODULES
    bool
    option modules

    Signed-off-by: "Yann E. MORIN"
    Cc: Sam Ravnborg
    Signed-off-by: Michal Marek

    Yann E. MORIN
     
  • Regenerate bison parser after changes made in:
    6902dcc: kconfig: do not special-case 'MODULES' symbol

    Signed-off-by: "Yann E. MORIN"
    Cc: Sam Ravnborg
    Signed-off-by: Michal Marek

    Yann E. MORIN
     
  • Currently, the 'MODULES' symbol is hard-coded to be the default symbol
    that enables/disables tristates, if no other symbol was declared with
    'option modules'.

    While this used to be needed for the Linux kernel, we now have an
    explicit 'option modules' attached to the 'MODULES' symbol (since
    cset 11097a036), so we no longer need to special-case it in the
    kconfig code.

    Furthermore, kconfig is extensively used out of the Linux kernel, and
    other projects may have another meaning for a symbol named 'MODULES'.

    This patch changes the way we enable/disable tristates: if a symbol was
    found with 'option modules' attached to it, then that symbol controls
    enabling tristates. Otherwise, tristates are disabled, even if a symbol
    named 'MODULES' exists.

    Signed-off-by: "Yann E. MORIN"
    Cc: Sam Ravnborg
    Signed-off-by: Michal Marek

    Yann E. MORIN
     
  • Pull module updates from Rusty Russell:
    "Minor fixes mainly, including a potential use-after-free on remove
    found by CONFIG_DEBUG_KOBJECT_RELEASE which may be theoretical"

    * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    module: Fix mod->mkobj.kobj potentially freed too early
    kernel/params.c: use scnprintf() instead of sprintf()
    kernel/module.c: use scnprintf() instead of sprintf()
    module/lsm: Have apparmor module parameters work with no args
    module: Add NOARG flag for ops with param_set_bool_enable_only() set function
    module: Add flag to allow mod params to have no arguments
    modules: add support for soft module dependencies
    scripts/mod/modpost.c: permit '.cranges' secton for sh64 architecture.
    module: fix sprintf format specifier in param_get_byte()

    Linus Torvalds
     

02 Sep, 2013

1 commit


30 Aug, 2013

1 commit


28 Aug, 2013

1 commit


26 Aug, 2013

1 commit

  • A lot of 64-bit systems supported by Linux/MIPS have boot firmware or
    bootloaders that only understand 32-bit ELF files, and as such, the vmlinux.32
    target exists to support these systems. Therefore, it'd be nice if the tar-pkg
    target recognised this, and included the right version when packaging up a
    binary of the kernel.

    This updates buildtar to support MIPS targets. MIPS may use 'vmlinux'
    or 'vmlinux.32' depending on the target system. This uses 'vmlinux.32'
    in preference to 'vmlinux' where present (although I should check which
    is newer), including either file as /boot/vmlinux-${version}.

    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/1673/
    Signed-off-by: Ralf Baechle

    Stuart Longland
     

20 Aug, 2013

2 commits


16 Aug, 2013

1 commit

  • When a symbol changes type from tristate to bool, and was previously set to
    'm', a subsequent silentoldconfig would warn about inconsistency, such as:

    include/config/auto.conf:3014:warning: symbol value 'm' invalid for
    HOTPLUG_PCI_PCIE

    Seen by Linus with the merge in aa8032b (sequence to reproduce by Michal):
    git checkout 1fe0135
    make mrproper
    make allmodconfig
    make silentoldconfig
    git checkout aa8032b
    make allmodconfig
    make silentoldconfig

    Since HOTPLUG_PCI_PCIE changed from tristate to bool in aa8032b, it was
    previously set to 'm' in auto.conf by the first allmodconfig+silentoldconfig,
    but then was set to 'y' by the second allmodconfig. Then the second
    silentoldconfig prints the warning.

    The warning in this case is a spurious warning, which happens at the time
    kconfig tries to detect symbols that have changed, to touch the empty
    header files in include/config used for dependency-tracking by make.

    Silence the warning when we read the old auto.conf file, since it is
    perfectly legit that a symbol changed type since the previous call.

    Thread in:
    http://marc.info/?l=linux-pci&m=137569198904000&w=2

    Reported-by: Linus Torvalds
    Signed-off-by: "Yann E. MORIN"
    Cc: Linus Torvalds
    Cc: Michal Marek
    Cc: Thomas Petazzoni
    Cc: Bjorn Helgaas
    Cc: Yinghai Lu
    Cc: Benjamin Herrenschmidt

    Yann E. MORIN