22 Apr, 2013

1 commit

  • Per X.509 spec in 4.2.1.1 section, the structure of Authority Key
    Identifier Extension is:

    AuthorityKeyIdentifier ::= SEQUENCE {
    keyIdentifier [0] KeyIdentifier OPTIONAL,
    authorityCertIssuer [1] GeneralNames OPTIONAL,
    authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL }

    KeyIdentifier ::= OCTET STRING

    When a certificate also provides
    authorityCertIssuer and authorityCertSerialNumber then the length of
    AuthorityKeyIdentifier SEQUENCE is likely to long form format.
    e.g.
    The example certificate demos/tunala/A-server.pem in openssl source:

    X509v3 Authority Key Identifier:
    keyid:49:FB:45:72:12:C4:CC:E1:45:A1:D3:08:9E:95:C4:2C:6D:55:3F:17
    DirName:/C=NZ/L=Wellington/O=Really Irresponsible Authorisation Authority (RIAA)/OU=Cert-stamping/CN=Jackov al-Trades/emailAddress=none@fake.domain
    serial:00

    Current parsing rule of OID_authorityKeyIdentifier only take care the
    short form format, it causes load certificate to modsign_keyring fail:

    [ 12.061147] X.509: Extension: 47
    [ 12.075121] MODSIGN: Problem loading in-kernel X.509 certificate (-74)

    So, this patch add the parsing rule for support long form format against
    Authority Key Identifier.

    v3:
    Changed the size check in "Short Form length" case, we allow v[3] smaller
    then (vlen - 4) because authorityCertIssuer and authorityCertSerialNumber
    are also possible attach in AuthorityKeyIdentifier sequence.

    v2:
    - Removed comma from author's name.
    - Moved 'Short Form length' comment inside the if-body.
    - Changed the type of sub to size_t.
    - Use ASN1_INDEFINITE_LENGTH rather than writing 0x80 and 127.
    - Moved the key_len's value assignment before alter v.
    - Fixed the typo of octets.
    - Add 2 to v before entering the loop for calculate the length.
    - Removed the comment of check vlen.

    Cc: Rusty Russell
    Cc: Josh Boyer
    Cc: Randy Dunlap
    Cc: Herbert Xu
    Cc: "David S. Miller"
    Acked-by: David Howells
    Signed-off-by: Chun-Yi Lee
    Signed-off-by: Rusty Russell

    Chun-Yi Lee
     

17 Apr, 2013

1 commit

  • Otherwise we get a race between unload and reload of the same module:
    the new module doesn't see the old one in the list, but then fails because
    it can't register over the still-extant entries in sysfs:

    [ 103.981925] ------------[ cut here ]------------
    [ 103.986902] WARNING: at fs/sysfs/dir.c:536 sysfs_add_one+0xab/0xd0()
    [ 103.993606] Hardware name: CrownBay Platform
    [ 103.998075] sysfs: cannot create duplicate filename '/module/pch_gbe'
    [ 104.004784] Modules linked in: pch_gbe(+) [last unloaded: pch_gbe]
    [ 104.011362] Pid: 3021, comm: modprobe Tainted: G W 3.9.0-rc5+ #5
    [ 104.018662] Call Trace:
    [ 104.021286] [] warn_slowpath_common+0x6d/0xa0
    [ 104.026933] [] ? sysfs_add_one+0xab/0xd0
    [ 104.031986] [] ? sysfs_add_one+0xab/0xd0
    [ 104.037000] [] warn_slowpath_fmt+0x2e/0x30
    [ 104.042188] [] sysfs_add_one+0xab/0xd0
    [ 104.046982] [] create_dir+0x5e/0xa0
    [ 104.051633] [] sysfs_create_dir+0x78/0xd0
    [ 104.056774] [] kobject_add_internal+0x83/0x1f0
    [ 104.062351] [] ? kvasprintf+0x46/0x60
    [ 104.067231] [] kobject_add_varg+0x2d/0x50
    [ 104.072450] [] kobject_init_and_add+0x27/0x30
    [ 104.078075] [] mod_sysfs_setup+0x80/0x540
    [ 104.083207] [] ? module_bug_finalize+0x51/0xc0
    [ 104.088720] [] load_module+0x1429/0x18b0

    We can teardown sysfs first, then to be sure, put the state in
    MODULE_STATE_UNFORMED so it's ignored while we deconstruct it.

    Reported-by: Veaceslav Falico
    Tested-by: Veaceslav Falico
    Signed-off-by: Rusty Russell

    Rusty Russell
     

15 Apr, 2013

1 commit

  • We don't export any symbols > 128 characters, but if we did then
    kallsyms_expand_symbol() would overflow the buffer handed to it.
    So we need check destination buffer length when copying.

    the related test:
    if we define an EXPORT function which name more than 128.
    will panic when call kallsyms_lookup_name by init_kprobes on booting.
    after check the length (provide this patch), it is ok.

    Implementaion:
    add additional destination buffer length parameter (maxlen)
    if uncompressed string is too long (>= maxlen), it will be truncated.
    not check the parameters whether valid, since it is a static function.

    Signed-off-by: Chen Gang
    Signed-off-by: Rusty Russell

    Chen Gang
     

11 Apr, 2013

1 commit

  • When compiling kernel with -jN (N > 1), all warning/error messages
    printed while openssl is generating key pair may get mixed dots and
    other symbols openssl sends to stderr. This patch makes sure openssl
    logs go to default stdout.

    Example of the garbage on stderr:

    crypto/anubis.c:581: warning: ‘inter’ is used uninitialized in this function
    Generating a 4096 bit RSA private key
    .........
    drivers/gpu/drm/i915/i915_gem_gtt.c: In function ‘gen6_ggtt_insert_entries’:
    drivers/gpu/drm/i915/i915_gem_gtt.c:440: warning: ‘addr’ may be used uninitialized in this function
    .net/mac80211/tx.c: In function ‘ieee80211_subif_start_xmit’:
    net/mac80211/tx.c:1780: warning: ‘chanctx_conf’ may be used uninitialized in this function
    ..drivers/isdn/hardware/mISDN/hfcpci.c: In function ‘hfcpci_softirq’:
    .....drivers/isdn/hardware/mISDN/hfcpci.c:2298: warning: ignoring return value of ‘driver_for_each_device’, declared with attribute warn_unused_result

    Signed-off-by: David Cohen
    Reviewed-by: mark gross
    Acked-by: David Howells
    Signed-off-by: Rusty Russell

    David Cohen
     

05 Apr, 2013

3 commits

  • strace shows:
    72102 execve("/bin/sh", ["/bin/sh", "-c", "echo ' scripts/mod/modpost -m -a
    -o /cc/wfg/sound-compiletest/Module.symvers -s'; scripts/
    mod/modpost -m -a -o /cc/wfg/sound-compiletest/Module.symvers -s vmlinux
    arch/x86/crypto/ablk_helper.o arch/x86/crypto/aes-i586.o arch
    /x86/crypto/aesni-intel.o arch/x86/crypto/crc32-pclmul.o
    ...
    drivers/ata/sata_promise.o "...], [/* 119 vars */]
    71827 wait4(-1,
    72102 ) = -1 E2BIG (Argument list too long)

    So we re-run the shell command which produces the list and feed it into modpost -T -.

    Reported-by: Fengguang Wu
    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • Because there are too many modules in the world.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • We want a strends() function next, so make one and use it appropriately,
    making new_module() arg const while we're at it.

    Signed-off-by: Rusty Russell

    Rusty Russell
     

20 Mar, 2013

2 commits

  • Pass symbol-prefix to genksyms instead of arch, so that the decision
    what symbol prefix to use is kept in one place.

    Basically genksyms used to take a -a $ARCH argument and it used that to
    determine whether to add an underscore symbol prefix. It's now changed
    to take a -s $SYMBOL_PREFIX argument so that the caller decides whether
    a symbol prefix is required. The build system then uses
    CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX to determine whether to pass the
    argument.

    Signed-off-by: James Hogan
    Signed-off-by: Rusty Russell

    James Hogan
     
  • Fix symbol versioning on architectures with symbol prefixes. Although
    the build was free from warnings the actual modules still wouldn't load
    as the ____versions table contained unprefixed symbol names, which were
    being compared against the prefixed symbol names when checking the
    symbol versions.

    This is fixed by modifying modpost to add the symbol prefix to the
    ____versions table it outputs (Modules.symvers still contains unprefixed
    symbol names). The check_modstruct_version() function is also fixed as
    it checks the version of the unprefixed "module_layout" symbol which
    would no longer work.

    Signed-off-by: James Hogan
    Cc: Michal Marek
    Cc: Sam Ravnborg
    Cc: Greg Kroah-Hartman
    Cc: Jonathan Kliegman
    Signed-off-by: Rusty Russell (use VMLINUX_SYMBOL_STR)

    James Hogan
     

15 Mar, 2013

1 commit

  • We have CONFIG_SYMBOL_PREFIX, which three archs define to the string
    "_". But Al Viro broke this in "consolidate cond_syscall and
    SYSCALL_ALIAS declarations" (in linux-next), and he's not the first to
    do so.

    Using CONFIG_SYMBOL_PREFIX is awkward, since we usually just want to
    prefix it so something. So various places define helpers which are
    defined to nothing if CONFIG_SYMBOL_PREFIX isn't set:

    1) include/asm-generic/unistd.h defines __SYMBOL_PREFIX.
    2) include/asm-generic/vmlinux.lds.h defines VMLINUX_SYMBOL(sym)
    3) include/linux/export.h defines MODULE_SYMBOL_PREFIX.
    4) include/linux/kernel.h defines SYMBOL_PREFIX (which differs from #7)
    5) kernel/modsign_certificate.S defines ASM_SYMBOL(sym)
    6) scripts/modpost.c defines MODULE_SYMBOL_PREFIX
    7) scripts/Makefile.lib defines SYMBOL_PREFIX on the commandline if
    CONFIG_SYMBOL_PREFIX is set, so that we have a non-string version
    for pasting.

    (arch/h8300/include/asm/linkage.h defines SYMBOL_NAME(), too).

    Let's solve this properly:
    1) No more generic prefix, just CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX.
    2) Make linux/export.h usable from asm.
    3) Define VMLINUX_SYMBOL() and VMLINUX_SYMBOL_STR().
    4) Make everyone use them.

    Signed-off-by: Rusty Russell
    Reviewed-by: James Hogan
    Tested-by: James Hogan (metag)

    Rusty Russell
     

13 Mar, 2013

8 commits

  • In commit 887cbce0adea ("arch Kconfig: centralise ARCH_NO_VIRT_TO_BUS")
    I introduced the config sybmol HAVE_VIRT_TO_BUS and selected that where
    needed. I am not sure what I was thinking. Instead, just directly
    select VIRT_TO_BUS where it is needed.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • Looking at mm/process_vm_access.c:process_vm_rw() and comparing it to
    compat_process_vm_rw() shows that the compatibility code requires an
    explicit "access_ok()" check before calling
    compat_rw_copy_check_uvector(). The same difference seems to appear when
    we compare fs/read_write.c:do_readv_writev() to
    fs/compat.c:compat_do_readv_writev().

    This subtle difference between the compat and non-compat requirements
    should probably be debated, as it seems to be error-prone. In fact,
    there are two others sites that use this function in the Linux kernel,
    and they both seem to get it wrong:

    Now shifting our attention to fs/aio.c, we see that aio_setup_iocb()
    also ends up calling compat_rw_copy_check_uvector() through
    aio_setup_vectored_rw(). Unfortunately, the access_ok() check appears to
    be missing. Same situation for
    security/keys/compat.c:compat_keyctl_instantiate_key_iov().

    I propose that we add the access_ok() check directly into
    compat_rw_copy_check_uvector(), so callers don't have to worry about it,
    and it therefore makes the compat call code similar to its non-compat
    counterpart. Place the access_ok() check in the same location where
    copy_from_user() can trigger a -EFAULT error in the non-compat code, so
    the ABI behaviors are alike on both compat and non-compat.

    While we are here, fix compat_do_readv_writev() so it checks for
    compat_rw_copy_check_uvector() negative return values.

    And also, fix a memory leak in compat_keyctl_instantiate_key_iov() error
    handling.

    Acked-by: Linus Torvalds
    Acked-by: Al Viro
    Signed-off-by: Mathieu Desnoyers
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers
     
  • Pull drm nouveau fixes from Dave Airlie:
    "This is just nouveau fixes from Ben, one fixes a nasty oops that some
    Fedora people have been seeing, so I'd like to get it out of the way."

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/nv50: use correct tiling methods for m2mf buffer moves
    drm/nouveau: idle channel before releasing notify object
    drm/nouveau: fix regression in vblanking
    drm/nv50: encoder creation failure doesn't mean full init failure

    Linus Torvalds
     
  • Pull ARM SoC fixes from Arnd Bergmann:
    "These bug fixes are for the largest part for mvebu/kirkwood, which saw
    a few regressions after the clock infrastructure was enabled, and for
    OMAP, which showed a few more preexisting bugs with the new
    multiplatform support.

    Other small fixes are for imx, mxs, tegra, spear and socfpga"

    * tag 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (37 commits)
    ARM: spear3xx: Use correct pl080 header file
    Arm: socfpga: pl330: Add #dma-cells for generic dma binding support
    ARM: multiplatform: Sort the max gpio numbers.
    ARM: imx: fix typo "DEBUG_IMX50_IMX53_UART"
    ARM: imx: pll1_sys should be an initial on clk
    arm: mach-orion5x: fix typo in compatible string of a .dts file
    arm: mvebu: fix address-cells in mpic DT node
    arm: plat-orion: fix address decoding when > 4GB is used
    arm: mvebu: Reduce reg-io-width with UARTs
    ARM: Dove: add RTC device node
    arm: mvebu: enable the USB ports on Armada 370 Reference Design board
    ARM: dove: drop "select COMMON_CLK_DOVE"
    rtc: rtc-mv: Add support for clk to avoid lockups
    gpio: mvebu: Add clk support to prevent lockup
    ARM: kirkwood: fix to retain gbe MAC addresses for DT kernels
    ARM: kirkwood: of_serial: fix clock gating by removing clock-frequency
    ARM: mxs: cfa10049: Fix fb initialisation function
    ARM: SPEAr13xx: Fix typo "ARCH_HAVE_CPUFREQ"
    ARM: OMAP: RX-51: add missing USB phy binding
    clk: Tegra: Remove duplicate smp_twd clock
    ...

    Linus Torvalds
     
  • Pull m68knommu fixes from Greg Ungerer:
    "It contains a few small fixes for the non-MMU m68k platforms. Fixes
    some compilation problems, some broken header definitions, removes an
    unused config option and adds a name for the old 68000 CPU support."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
    m68k: drop "select EMAC_INC"
    m68knommu: fix misnamed GPIO pin definition for ColdFire 528x CPU
    m68knommu: fix MC68328.h defines
    m68knommu: fix build when CPU is not coldfire
    m68knommu: add CPU_NAME for 68000

    Linus Torvalds
     
  • Pull key management race fix from James Morris.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
    keys: fix race with concurrent install_user_keyrings()

    Linus Torvalds
     
  • Pull Ceph fix from Sage Weil:
    "This fixes a bug in the new message decoding that just went in during
    the last window."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
    libceph: fix decoding of pgids

    Linus Torvalds
     
  • Pull nfsd bugfixes from Bruce Fields:
    "Some minor fallout from the user-namespace work broke most krb5 mounts
    to nfsd, and I screwed up a change to the AF_LOCAL rpc code."

    * 'for-3.9' of git://linux-nfs.org/~bfields/linux:
    sunrpc: don't attempt to cancel unitialized work
    nfsd: fix krb5 handling of anonymous principals

    Linus Torvalds
     

12 Mar, 2013

9 commits

  • If you open a pipe for neither read nor write, the pipe code will not
    add any usage counters to the pipe, causing the 'struct pipe_inode_info"
    to be potentially released early.

    That doesn't normally matter, since you cannot actually use the pipe,
    but the pipe release code - particularly fasync handling - still expects
    the actual pipe infrastructure to all be there. And rather than adding
    NULL pointer checks, let's just disallow this case, the same way we
    already do for the named pipe ("fifo") case.

    This is ancient going back to pre-2.4 days, and until trinity, nobody
    naver noticed.

    Reported-by: Dave Jones
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • The definitions have move around recently, causing build errors
    in spear3xx for all configurations:

    spear3xx.c:47:5: error: 'PL080_BSIZE_16' undeclared here (not in a function)
    spear3xx.c:47:23: error: 'PL080_CONTROL_SB_SIZE_SHIFT' undeclared here (not in a function)
    spear3xx.c:48:22: error: 'PL080_CONTROL_DB_SIZE_SHIFT' undeclared here (not in a function)

    Signed-off-by: Arnd Bergmann
    Cc: Alessandro Rubini
    Cc: Viresh Kumar

    Arnd Bergmann
     
  • This fixes CVE-2013-1792.

    There is a race in install_user_keyrings() that can cause a NULL pointer
    dereference when called concurrently for the same user if the uid and
    uid-session keyrings are not yet created. It might be possible for an
    unprivileged user to trigger this by calling keyctl() from userspace in
    parallel immediately after logging in.

    Assume that we have two threads both executing lookup_user_key(), both
    looking for KEY_SPEC_USER_SESSION_KEYRING.

    THREAD A THREAD B
    =============================== ===============================
    ==>call install_user_keyrings();
    if (!cred->user->session_keyring)
    ==>call install_user_keyrings()
    ...
    user->uid_keyring = uid_keyring;
    if (user->uid_keyring)
    return 0;
    user->session_keyring [== NULL]
    user->session_keyring = session_keyring;
    atomic_inc(&key->usage); [oops]

    At the point thread A dereferences cred->user->session_keyring, thread B
    hasn't updated user->session_keyring yet, but thread A assumes it is
    populated because install_user_keyrings() returned ok.

    The race window is really small but can be exploited if, for example,
    thread B is interrupted or preempted after initializing uid_keyring, but
    before doing setting session_keyring.

    This couldn't be reproduced on a stock kernel. However, after placing
    systemtap probe on 'user->session_keyring = session_keyring;' that
    introduced some delay, the kernel could be crashed reliably.

    Fix this by checking both pointers before deciding whether to return.
    Alternatively, the test could be done away with entirely as it is checked
    inside the mutex - but since the mutex is global, that may not be the best
    way.

    Signed-off-by: David Howells
    Reported-by: Mateusz Guzik
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: James Morris

    David Howells
     
  • In 4f6a7e5ee1393ec4b243b39dac9f36992d161540 we effectively dropped support
    for the legacy encoding for the OSDMap and incremental. However, we didn't
    fix the decoding for the pgid.

    Signed-off-by: Sage Weil
    Reviewed-by: Yehuda Sadeh

    Sage Weil
     
  • This patch adds #dma-cells property to PL330 DMA controller nodes for
    supporting generic dma dt bindings on SOCFPGA platform. #dma-channels
    and #dma-requests are not required now but added in advance.

    Signed-off-by: Padmavathi Venna
    Signed-off-by: Arnd Bergmann

    Padmavathi Venna
     
  • mvebu fixes for v3.9 from Jason Cooper :

    The first four patches:

    89c58c1 rtc: rtc-mv: Add support for clk to avoid lockups
    de88747 gpio: mvebu: Add clk support to prevent lockup
    7bf5b40 ARM: kirkwood: fix to retain gbe MAC addresses for DT kernels
    93fff4c ARM: kirkwood: of_serial: fix clock gating by removing clock-frequency

    are Cc'd to stable since they were held over from the previous merge window.

    The rest are a small collection of fixes and a couple of devicetree conversion
    catchups.

    * tag 'mvebu_fixes_for_v3.9' of git://git.infradead.org/users/jcooper/linux:
    arm: mach-orion5x: fix typo in compatible string of a .dts file
    arm: mvebu: fix address-cells in mpic DT node
    arm: plat-orion: fix address decoding when > 4GB is used
    arm: mvebu: Reduce reg-io-width with UARTs
    ARM: Dove: add RTC device node
    arm: mvebu: enable the USB ports on Armada 370 Reference Design board
    ARM: dove: drop "select COMMON_CLK_DOVE"
    rtc: rtc-mv: Add support for clk to avoid lockups
    gpio: mvebu: Add clk support to prevent lockup
    ARM: kirkwood: fix to retain gbe MAC addresses for DT kernels
    ARM: kirkwood: of_serial: fix clock gating by removing clock-frequency

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • From Shawn Guo :

    The 2nd take of imx fixes for 3.9:
    - Fix pll1_sys clk initial status
    - Fix a typo in imx DEBUG_LL Kconfig

    * tag 'imx-fixes-3.9-2' of git://git.linaro.org/people/shawnguo/linux-2.6:
    ARM: imx: fix typo "DEBUG_IMX50_IMX53_UART"
    ARM: imx: pll1_sys should be an initial on clk

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • From Shawn Guo :

    The 2nd mxs fixes for 3.9:
    - Fix an error caused by incorrect conflict resolution when
    applying the patch

    * tag 'mxs-fixes-3.9-2' of git://git.linaro.org/people/shawnguo/linux-2.6:
    ARM: mxs: cfa10049: Fix fb initialisation function

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • When building a multiplatform kernel, we could end up with a smaller
    number of GPIOs than the one required by the platform the kernel was
    running on.

    Sort the max GPIO number by descending order so that we always take the
    highest number required.

    Signed-off-by: Maxime Ripard
    Signed-off-by: Arnd Bergmann

    Maxime Ripard
     

11 Mar, 2013

13 commits

  • Pull perf fixes from Ingo Molnar:
    "Misc minor fixes mostly related to tracing"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    s390: Fix a header dependencies related build error
    tracing: update documentation of snapshot utility
    tracing: Do not return EINVAL in snapshot when not allocated
    tracing: Add help of snapshot feature when snapshot is empty
    ftrace: Update the kconfig for DYNAMIC_FTRACE

    Linus Torvalds
     
  • Pull networking fixes from David Miller:

    1) Missing cancel of work items in mac80211 MLME, from Ben Greear.

    2) Fix DMA mapping handling in iwlwifi by using coherent DMA for
    command headers, from Johannes Berg.

    3) Decrease the amount of pressure on the page allocator by using order
    1 pages less in iwlwifi, from Emmanuel Grumbach.

    4) Fix mesh PS broadcast OOPS in mac80211, from Marco Porsch.

    5) Don't forget to recalculate idle state in mac80211 monitor
    interface, from Felix Fietkau.

    6) Fix varargs in netfilter conntrack handler, from Joe Perches.

    7) Need to reset entire chip when command queue fills up in iwlwifi,
    from Emmanuel Grumbach.

    8) The TX antenna value must be valid when calibrations are performed
    in iwlwifi, fix from Dor Shaish.

    9) Don't generate netfilter audit log entries when audit is disabled,
    from Gao Feng.

    10) Deal with DMA unit hang on e1000e during power state transitions,
    from Bruce Allan.

    11) Remove BUILD_BUG_ON check from igb driver, from Alexander Duyck.

    12) Fix lockdep warning on i2c handling of igb driver, from Carolyn
    Wyborny.

    13) Fix several TTY handling issues in IRDA ircomm tty driver, from
    Peter Hurley.

    14) Several QFQ packet scheduler fixes from Paolo Valente.

    15) When VXLAN encapsulates on transmit, we have to reset the netfilter
    state. From Zang MingJie.

    16) Fix jiffie check in net_rx_action() so that we really cap the
    processing at 2HZ. From Eric Dumazet.

    17) Fix erroneous trigger of IP option space exhaustion, when routers
    are pre-specified and we are looking to see if we can insert a
    timestamp, we will have the space. From David Ward.

    18) Fix various issues in benet driver wrt waiting for firmware to
    finish POST after resets or errors. From Gavin Shan and Sathya
    Perla.

    19) Fix TX locking in SFC driver, from Ben Hutchings.

    20) Like the VXLAN fix above, when we encap in a TUN device we have to
    reset the netfilter state. This should fix several strange crashes
    reported by Dave Jones and others. From Eric Dumazet.

    21) Don't forget to clean up MAC address resources when shutting down a
    port in mlx4 driver, from Yan Burman.

    22) Fix divide by zero in vmxnet3 driver, from Bhavesh Davda.

    23) Fix device statistic regression in tg3 when the driver is using
    phylib, from Nithin Sujir.

    24) Fix info leak in several netlink handlers, from Mathias Krause.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (79 commits)
    6lowpan: Fix endianness issue in is_addr_link_local().
    rrunner.c: fix possible memory leak in rr_init_one()
    dcbnl: fix various netlink info leaks
    rtnl: fix info leak on RTM_GETLINK request for VF devices
    bridge: fix mdb info leaks
    tg3: Update link_up flag for phylib devices
    ipv6: stop multicast forwarding to process interface scoped addresses
    bridging: fix rx_handlers return code
    netlabel: fix build problems when CONFIG_IPV6=n
    drivers/isdn: checkng length to be sure not memory overflow
    net/rds: zero last byte for strncpy
    bnx2x: Fix SFP+ misconfiguration in iSCSI boot scenario
    bnx2x: Fix intermittent long KR2 link up time
    macvlan: Set IFF_UNICAST_FLT flag to prevent unnecessary promisc mode.
    team: unsyc the devices addresses when port is removed
    bridge: add missing vid to br_mdb_get()
    Fix: sparse warning in inet_csk_prepare_forced_close
    afkey: fix a typo
    MAINTAINERS: Update qlcnic maintainers list
    netlabel: correctly list all the static label mappings
    ...

    Linus Torvalds
     
  • Pull UML fixes from Richard Weinberger:
    "This update brings various fixes.
    Nothing special...

    In my local queue I have some more fixes which will be sent later to
    you. 3.9 uncovered strange UML issues. :("

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
    um: Use tty_port in SIGWINCH handler
    um: Use tty_port_operations->destruct
    um: fix build failure due to mess-up of sig_info protorype
    um: add missing declaration of 'getrlimit()' and friends
    net : enable tx time stamping in the vde driver.
    hostfs: fix a not needed double check

    Linus Torvalds
     
  • Pull input updates from Dmitry Torokhov:
    "Except for the largish change to the ALPS driver adding "Dolphin V1"
    support and Wacom getting a new signature of yet another device, the
    rest are straightforward driver fixes."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: mms114 - Fix regulator enable and disable paths
    Input: ads7864 - check return value of regulator enable
    Input: tc3589x-keypad - fix keymap size
    Input: wacom - add support for 0x10d
    Input: ALPS - update documentation for recent touchpad driver mods
    Input: ALPS - add "Dolphin V1" touchpad support
    Input: ALPS - remove unused argument to alps_enter_command_mode()
    Input: cypress_ps2 - fix trackpadi found in Dell XPS12

    Linus Torvalds
     
  • Commit f8c95fe (ARM: imx: support DEBUG_LL uart port selection for all
    i.MX SoCs) had a typo that DEBUG_IMX50_IMX53_UART should be
    DEBUG_IMX53_UART.

    Signed-off-by: Paul Bolle
    Signed-off-by: Shawn Guo

    Paul Bolle
     
  • Commit 877c685607925238e302cd3aa38788dca6c1b226
    ("perf: Remove include of cgroup.h from perf_event.h") caused
    this build failure if PERF_EVENTS is enabled:

    In file included from arch/s390/include/asm/perf_event.h:9:0,
    from include/linux/perf_event.h:24,
    from kernel/events/ring_buffer.c:12:
    arch/s390/include/asm/cpu_mf.h: In function 'qctri':
    arch/s390/include/asm/cpu_mf.h:61:12: error: 'EINVAL' undeclared (first use in this function)

    cpu_mf.h had an implicit errno.h dependency, which was added
    indirectly via cgroups.h but not anymore. Add it explicitly.

    Reported-by: Fengguang Wu
    Tested-by: Fengguang Wu
    Signed-off-by: Li Zefan
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Link: http://lkml.kernel.org/r/51385F79.7000106@huawei.com
    Signed-off-by: Ingo Molnar

    Li Zefan
     
  • The tty below tty_port might get destroyed by the tty layer
    while we hold a reference to it.
    So we have to carry tty_port around...

    Signed-off-by: Richard Weinberger

    Richard Weinberger
     
  • As we setup the SIGWINCH handler in tty_port_operations->activate
    it makes sense to tear down it in ->destruct.

    Signed-off-by: Richard Weinberger

    Richard Weinberger
     
  • arch/um/os-Linux/signal.c:18:8: error: conflicting types for 'sig_info'
    In file included from /home/slyfox/linux-2.6/arch/um/os-Linux/signal.c:12:0:
    arch/um/include/shared/as-layout.h:64:15: note: previous declaration of 'sig_info' was here

    Signed-off-by: Sergei Trofimovich
    CC: Jeff Dike
    CC: Richard Weinberger
    CC: "Martin Pärtel"
    CC: Al Viro
    CC: user-mode-linux-devel@lists.sourceforge.net
    CC: user-mode-linux-user@lists.sourceforge.net
    CC: linux-kernel@vger.kernel.org
    Signed-off-by: Richard Weinberger

    Sergei Trofimovich
     
  • arch/um/os-Linux/start_up.c: In function 'check_coredump_limit':
    arch/um/os-Linux/start_up.c:338:16: error: storage size of 'lim' isn't known
    arch/um/os-Linux/start_up.c:339:2: error: implicit declaration of function 'getrlimit' [-Werror=implicit-function-declaration]

    Signed-off-by: Sergei Trofimovich
    CC: Jeff Dike
    CC: Richard Weinberger
    CC: Al Viro
    CC: user-mode-linux-devel@lists.sourceforge.net
    CC: user-mode-linux-user@lists.sourceforge.net
    CC: linux-kernel@vger.kernel.org
    Signed-off-by: Richard Weinberger

    Sergei Trofimovich
     
  • This new version moves the skb_tx_timestamp in the main uml
    driver. This should avoid the need to call this function in each
    transport (vde, slirp, tuntap, ...). It also add support for ethtool
    get_ts_info.

    Signed-off-by: Paul Chavent
    Acked-by: Richard Cochran
    Signed-off-by: Richard Weinberger

    Paul Chavent
     
  • With the commit 3be2be0a32c18b0fd6d623cda63174a332ca0de1 we removed vmtruncate,
    but actaully there is no need to call inode_newsize_ok() because the checks are
    already done in inode_change_ok() at the begin of the function.

    Signed-off-by: Marco Stornelli
    Signed-off-by: Richard Weinberger

    Marco Stornelli
     
  • …u/linux-2.6 into drm-next

    Regression fixes and oops fixes for nouveau.

    * 'drm-nouveau-fixes-3.9' of git://anongit.freedesktop.org/git/nouveau/linux-2.6:
    drm/nv50: use correct tiling methods for m2mf buffer moves
    drm/nouveau: idle channel before releasing notify object
    drm/nouveau: fix regression in vblanking
    drm/nv50: encoder creation failure doesn't mean full init failure

    Dave Airlie