03 Apr, 2013

2 commits

  • Pull net into net-next to get the synchronize_net() bug fix in
    bonding.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Pull MIPS fixes from Ralf Baechle:
    "A collection of fixes pretty much across the MIPS code. Even the
    change to include/linux/signal.h by David Howells' 2a1486981c13 ("Fix
    breakage in MIPS siginfo handling") should be considered MIPS-specific
    as it touches an ifdefed segment that is only relevant to MIPS and
    which unfortunately can't be made to go away entirely."

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    Fix breakage in MIPS siginfo handling
    Revert "MIPS: BCM63XX: Call board_register_device from device_initcall()"
    MIPS: BCM63XX: Make nvram checksum failure non fatal
    MIPS: Fix code generation for non-DSP capable CPUs
    MIPS: Fix inconsistent formatting inside /proc/cpuinfo
    MIPS: SEAD3: Enable LL/SC.
    MIPS: Get rid of CONFIG_CPU_HAS_LLSC again
    MIPS: Add dependencies for HAVE_ARCH_TRANSPARENT_HUGEPAGE
    MIPS: VR4133: Fix probe for LL/SC.
    MIPS: Fix logic errors in bitops.c
    MIPS: Use CONFIG_CPU_MIPSR2 in csum_partial.S
    MIPS: compat: Return same error ENOSYS as native for invalid operation.

    Linus Torvalds
     

01 Apr, 2013

1 commit

  • Currently, when a socket receives something on the error queue it only wakes up
    the socket on select if it is in the "read" list, that is the socket has
    something to read. It is useful also to wake the socket if it is in the error
    list, which would enable software to wait on error queue packets without waking
    up for regular data on the socket. The main use case is for receiving
    timestamped transmit packets which return the timestamp to the socket via the
    error queue. This enables an application to select on the socket for the error
    queue only instead of for the regular traffic.

    -v2-
    * Added the SO_SELECT_ERR_QUEUE socket option to every architechture specific file
    * Modified every socket poll function that checks error queue

    Signed-off-by: Jacob Keller
    Cc: Jeffrey Kirsher
    Cc: Richard Cochran
    Cc: Matthew Vick
    Signed-off-by: David S. Miller

    Keller, Jacob E
     

20 Mar, 2013

4 commits

  • MIPS's siginfo handling has been broken since this commit:

    commit 574c4866e33d648520a8bd5bf6f573ea6e554e88
    Author: Al Viro
    Date: Sun Nov 25 22:24:19 2012 -0500
    consolidate kernel-side struct sigaction declarations

    for 64-bit BE MIPS CPUs.

    The UAPI variant looks like this:

    struct sigaction {
    unsigned int sa_flags;
    __sighandler_t sa_handler;
    sigset_t sa_mask;
    };

    but the core kernel's variant looks like this:

    struct sigaction {
    #ifndef __ARCH_HAS_ODD_SIGACTION
    __sighandler_t sa_handler;
    unsigned long sa_flags;
    #else
    unsigned long sa_flags;
    __sighandler_t sa_handler;
    #endif
    #ifdef __ARCH_HAS_SA_RESTORER
    __sigrestore_t sa_restorer;
    #endif
    sigset_t sa_mask;
    };

    The problem is that sa_flags has been changed from an unsigned int to an
    unsigned long.

    Fix this by making sa_flags unsigned int if __ARCH_HAS_ODD_SIGACTION is
    defined.

    Whilst we're at it, rename __ARCH_HAS_ODD_SIGACTION to
    __ARCH_HAS_IRIX_SIGACTION.

    Signed-off-by: David Howells
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Cc: stable@vger.kernel.org
    Acked-by: Al Viro
    Signed-off-by: Ralf Baechle

    David Howells
     
  • This commit causes a race between PCI scan and SSB fallback SPROM handler
    registration, causing the wifi to not work on slower systems. The only
    subsystem touched from board_register_devices is platform device
    registration, which is safe as an arch init call.

    This reverts commit d64ed7ada2f689d2c62af1892ca55e47d3653e36 [MIPS:
    BCM63XX: Call board_register_device from device_initcall()].

    Signed-off-by: Jonas Gorski
    To: linux-mips@linux-mips.org
    Cc: John Crispin
    Cc: Maxime Bizon
    Cc: Florian Fainelli
    Cc: Kevin Cernekee
    Signed-off-by: Ralf Baechle

    Jonas Gorski
     
  • Some vendors modify the nvram layout moving the checksum to a different
    place or dropping entirely, so reduce the checksum failure to a warning.

    Reported-by: Álvaro Fernández Rojas
    Signed-off-by: Jonas Gorski
    Cc: linux-mips@linux-mips.org
    Cc: John Crispin
    Cc: Maxime Bizon
    Cc: Florian Fainelli
    Cc: Kevin Cernekee
    Signed-off-by: Ralf Baechle

    Jonas Gorski
     
  • Commit 32a7ede (MIPS: dsp: Add assembler support for DSP ASEs) has
    enabled the use of DSP ASE specific instructions such as rddsp and wrdsp
    under the idea that all code path that will make use of these two
    instructions are properly checking for cpu_has_dsp to ensure that the
    particular CPU we are running on *actually* supports DSP ASE.

    This commit actually causes the following oops on QEMU Malta emulating a
    MIPS 24Kc without the DSP ASE implemented:

    [ 7.960000] Reserved instruction in kernel
    [ 7.960000] Cpu 0
    [ 7.960000] $ 0 : 00000000 00000000 00000014 00000005
    [ 7.960000] $ 4 : 8fc2de48 00000001 00000000 8f59ddb0
    [ 7.960000] $ 8 : 8f5ceec4 00000018 00000c00 00800000
    [ 7.960000] $12 : 00000100 00000200 00000000 00457b84
    [ 7.960000] $16 : 00000000 8fc2ba78 8f4ec980 00000001
    [ 7.960000] $20 : 80418f90 00000000 00000000 000002dd
    [ 7.960000] $24 : 0000009c 7730d7b8
    [ 7.960000] $28 : 8f59c000 8f59dd38 00000001 80104248
    [ 7.960000] Hi : 0000001d
    [ 7.960000] Lo : 0000000b
    [ 7.960000] epc : 801041ec thread_saved_pc+0x2c/0x38
    [ 7.960000] Not tainted
    [ 7.960000] ra : 80104248 get_wchan+0x48/0xac
    [ 7.960000] Status: 1000b703 KERNEL EXL IE
    [ 7.960000] Cause : 10800028
    [ 7.960000] PrId : 00019300 (MIPS 24Kc)
    [ 7.960000] Modules linked in:
    [ 7.960000] Process killall (pid: 1574, threadinfo=8f59c000,
    task=8fd14558, tls=773aa440)
    [ 7.960000] Stack : 8fc2ba78 8012b008 0000000c 0000001d 00000000
    00000000 8f58a380
    8f58a380 8fc2ba78 80202668 8f59de78 8f468600 8f59de28
    801b2a3c 8f59df00 8f98ba20 74696e69
    8f468600 8f59de28 801b7308 0081c007 00000000 00000000
    00000000 00000000 00000000 00000000
    00000000 8fc2bbb4 00000001 0000001d 0000000b 77f038cc
    7fe80648 ffffffff ffffffff 00000000
    00000001 0016e000 00000000 ...
    [ 7.960000] Call Trace:
    [ 7.960000] [] thread_saved_pc+0x2c/0x38
    [ 7.960000] [] get_wchan+0x48/0xac

    The disassembly of thread_saved_pc points to the following:
    000006d0 :
    6d0: 8c820208 lw v0,520(a0)
    6d4: 3c030000 lui v1,0x0
    6d8: 24630000 addiu v1,v1,0
    6dc: 10430008 beq v0,v1,700
    6e0: 00000000 nop
    6e4: 3c020000 lui v0,0x0
    6e8: 8c43000c lw v1,12(v0)
    6ec: 04620004 bltzl v1,700
    6f0: 00001021 move v0,zero
    6f4: 8c840200 lw a0,512(a0)
    6f8: 00031080 sll v0,v1,0x2
    6fc: 7c44100a lwx v0,a0(v0) :
    708: 8c820208 lw v0,520(a0)
    70c: 3c030000 lui v1,0x0
    710: 24630000 addiu v1,v1,0
    714: 10430009 beq v0,v1,73c
    718: 00000000 nop
    71c: 3c020000 lui v0,0x0
    720: 8c42000c lw v0,12(v0)
    724: 04420005 bltzl v0,73c
    728: 00001021 move v0,zero
    72c: 8c830200 lw v1,512(a0)
    730: 00021080 sll v0,v0,0x2
    734: 00431021 addu v0,v0,v1
    738: 8c420000 lw v0,0(v0)
    73c: 03e00008 jr ra
    740: 00000000 nop

    The specific line that leads a different assembly being produced is:

    unsigned long thread_saved_pc(struct task_struct *tsk)
    ...
    return ((unsigned long *)t->reg29)[schedule_mfi.pc_offset];
    Acked-by: Steven J. Hill
    Cc: linux-mips@linux-mips.org
    Cc: blogic@openwrt.org
    Signed-off-by: Ralf Baechle

    Florian Fainelli
     

14 Mar, 2013

1 commit

  • There is a missing " " inside /proc/cpuinfo.

    The bad commit was:
    commit a96102be700f87283f168942cd09a2b30f86f324
    Author: Steven J. Hill
    Date: Fri Dec 7 04:31:36 2012 +0000
    MIPS: Add printing of ISA version in cpuinfo.

    Signed-off-by: John Crispin
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/4988/
    Signed-off-by: Ralf Baechle

    John Crispin
     

13 Mar, 2013

6 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
     
  • All synthesizable CPU cores that could be loaded into a SEAD3's FPGA are
    MIPS32 or MIPS64 CPUs that have ll/sc.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • Commit f7ade3c168e4f437c11f57be012992bbb0e3075c ("MIPS: Get rid of
    CONFIG_CPU_HAS_LLSC") did what it promised to do. But since then that
    macro and its Kconfig symbol popped up again. Get rid of those again.

    Signed-off-by: Paul Bolle
    Cc: Jonas Gorski
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/4978/
    Signed-off-by: Ralf Baechle

    Paul Bolle
     
  • The MIPS implementation of transparent huge-pages (THP) is 64-bit only,
    and of course also requires that the CPU supports huge-pages.

    Currently it's entirely possible to enable THP in other configurations,
    which then fail to build due to pfn_pmd() not being defined.

    Signed-off-by: Ben Hutchings
    Cc: linux-mips@linux-mips.org
    Acked-by: David Daney
    Patchwork: https://patchwork.linux-mips.org/patch/4972/
    Signed-off-by: Ralf Baechle

    Ben Hutchings
     
  • Signed-off-by: Yoichi Yuasa
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/4963/
    Signed-off-by: Ralf Baechle

    Yoichi Yuasa
     
  • commit 92d11594f6 (MIPS: Remove irqflags.h dependency from bitops.h)
    factored some of the bitops code out into a separate file
    (arch/mips/lib/bitops.c). Unfortunately the logic converting a bit
    mask into a boolean result was lost in some of the functions. We had:

    int res;
    unsigned long shifted_result_bit;
    .
    .
    .
    res = shifted_result_bit;
    return res;

    Which truncates off the high 32 bits (thus yielding an incorrect
    value) on 64-bit systems.

    The manifestation of this is that a non-SMP 64-bit kernel will not
    boot as the bitmap operations in bootmem.c are all screwed up.

    Signed-off-by: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: Jim Quinlan
    Cc: stable@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/4965/
    Signed-off-by: Ralf Baechle

    David Daney
     

12 Mar, 2013

1 commit

  • The csum_partial implementation contain optimalizations for the MIPS R2
    instruction set. This optimization is never enabled however because the
    if directive uses the CPU_MIPSR2 constant which is not defined anywhere.

    Use the CONFIG_CPU_MIPSR2 constant instead.

    Signed-off-by: Gabor Juhos
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/4971/
    Signed-off-by: Ralf Baechle

    Gabor Juhos
     

11 Mar, 2013

1 commit


04 Mar, 2013

1 commit

  • Pull watchdog updates from Wim Van Sebroeck:
    "This contains:
    - fixes and improvements
    - devicetree bindings
    - conversion to watchdog generic framework of the following drivers:
    - booke_wdt
    - bcm47xx_wdt.c
    - at91sam9_wdt
    - Removal of old STMP3xxx driver
    - Addition of following new drivers:
    - new driver for STMP3xxx and i.MX23/28
    - Retu watchdog driver"

    * git://www.linux-watchdog.org/linux-watchdog: (30 commits)
    watchdog: sp805_wdt depends on ARM
    watchdog: davinci_wdt: update to devm_* API
    watchdog: davinci_wdt: use devm managed clk get
    watchdog: at91rm9200: add DT support
    watchdog: add timeout-sec property binding
    watchdog: at91sam9_wdt: Convert to use the watchdog framework
    watchdog: omap_wdt: Add option nowayout
    watchdog: core: dt: add support for the timeout-sec dt property
    watchdog: bcm47xx_wdt.c: add hard timer
    watchdog: bcm47xx_wdt.c: rename wdt_time to timeout
    watchdog: bcm47xx_wdt.c: rename ops methods
    watchdog: bcm47xx_wdt.c: use platform device
    watchdog: bcm47xx_wdt.c: convert to watchdog core api
    watchdog: Convert BookE watchdog driver to watchdog infrastructure
    watchdog: s3c2410_wdt: Use devm_* functions
    watchdog: remove old STMP3xxx driver
    watchdog: add new driver for STMP3xxx and i.MX23/28
    rtc: stmp3xxx: add wdt-accessor function
    watchdog: introduce retu_wdt driver
    watchdog: intel_scu_watchdog: fix Kconfig dependency
    ...

    Linus Torvalds
     

03 Mar, 2013

1 commit

  • Pull signal/compat fixes from Al Viro:
    "Fixes for several regressions introduced in the last signal.git pile,
    along with fixing bugs in truncate and ftruncate compat (on just about
    anything biarch at least one of those two had been done wrong)."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:
    compat: restore timerfd settime and gettime compat syscalls
    [regression] braino in "sparc: convert to ksignal"
    fix compat truncate/ftruncate
    switch lseek to COMPAT_SYSCALL_DEFINE
    lseek() and truncate() on sparc really need sign extension

    Linus Torvalds
     

02 Mar, 2013

1 commit

  • Pull MIPS updates from Ralf Baechle:

    o Add basic support for the Mediatek/Ralink Wireless SoC family.

    o The Qualcomm Atheros platform is extended by support for the new
    QCA955X SoC series as well as a bunch of patches that get the code
    ready for OF support.

    o Lantiq and BCM47XX platform have a few improvements and bug fixes.

    o MIPS has sent a few patches that get the kernel ready for the
    upcoming microMIPS support.

    o The rest of the series is made up of small bug fixes and cleanups
    that relate to various parts of the MIPS code. The biggy in there is
    a whitespace cleanup. After I was sent another set of whitespace
    cleanup patches I decided it was the time to clean the whitespace
    "issues" for once and and that touches many files below arch/mips/.

    Fix up silly conflicts, mostly due to whitespace cleanups.

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (105 commits)
    MIPS: Quit exporting kernel internel break codes to uapi/asm/break.h
    MIPS: remove broken conditional inside vpe loader code
    MIPS: SMTC: fix implicit declaration of set_vi_handler
    MIPS: early_printk: drop __init annotations
    MIPS: Probe for and report hardware virtualization support.
    MIPS: ath79: add support for the Qualcomm Atheros AP136-010 board
    MIPS: ath79: add USB controller registration code for the QCA955X SoCs
    MIPS: ath79: add PCI controller registration code for the QCA955X SoCs
    MIPS: ath79: add WMAC registration code for the QCA955X SoCs
    MIPS: ath79: register UART for the QCA955X SoCs
    MIPS: ath79: add QCA955X specific glue to ath79_device_reset_{set, clear}
    MIPS: ath79: add GPIO setup code for the QCA955X SoCs
    MIPS: ath79: add IRQ handling code for the QCA955X SoCs
    MIPS: ath79: add clock setup code for the QCA955X SoCs
    MIPS: ath79: add SoC detection code for the QCA955X SoCs
    MIPS: ath79: add early printk support for the QCA955X SoCs
    MIPS: ath79: fix WMAC IRQ resource assignment
    mips: reserve elfcorehdr
    mips: Make sure kernel memory is in iomem
    MIPS: ath79: use dynamically allocated USB platform devices
    ...

    Linus Torvalds
     

01 Mar, 2013

2 commits

  • The ath79_wdt driver uses a fixed memory address
    currently. Although this is working with each
    currently supported SoCs, but this may change
    in the future. Additionally, the driver includes
    platform specific header files in order to be
    able to get the memory base of the watchdog
    device.

    The patch adds a memory resource to the platform
    device, and converts the driver to get the base
    address of the watchdog device from that.

    Signed-off-by: Gabor Juhos
    Signed-off-by: Wim Van Sebroeck

    Gabor Juhos
     
  • Remove the static watchdog device variable and use
    the 'platform_device_register_simple' helper to
    allocate and register the device in one step.

    This allows us to save a few bytes in the kernel image.

    Signed-off-by: Gabor Juhos
    Signed-off-by: Wim Van Sebroeck

    Gabor Juhos
     

28 Feb, 2013

2 commits

  • I'm not sure why, but the hlist for each entry iterators were conceived

    list_for_each_entry(pos, head, member)

    The hlist ones were greedy and wanted an extra parameter:

    hlist_for_each_entry(tpos, pos, head, member)

    Why did they need an extra pos parameter? I'm not quite sure. Not only
    they don't really need it, it also prevents the iterator from looking
    exactly like the list iterator, which is unfortunate.

    Besides the semantic patch, there was some manual work required:

    - Fix up the actual hlist iterators in linux/list.h
    - Fix up the declaration of other iterators based on the hlist ones.
    - A very small amount of places were using the 'node' parameter, this
    was modified to use 'obj->member' instead.
    - Coccinelle didn't handle the hlist_for_each_entry_safe iterator
    properly, so those had to be fixed up manually.

    The semantic patch which is mostly the work of Peter Senna Tschudin is here:

    @@
    iterator name hlist_for_each_entry, hlist_for_each_entry_continue, hlist_for_each_entry_from, hlist_for_each_entry_rcu, hlist_for_each_entry_rcu_bh, hlist_for_each_entry_continue_rcu_bh, for_each_busy_worker, ax25_uid_for_each, ax25_for_each, inet_bind_bucket_for_each, sctp_for_each_hentry, sk_for_each, sk_for_each_rcu, sk_for_each_from, sk_for_each_safe, sk_for_each_bound, hlist_for_each_entry_safe, hlist_for_each_entry_continue_rcu, nr_neigh_for_each, nr_neigh_for_each_safe, nr_node_for_each, nr_node_for_each_safe, for_each_gfn_indirect_valid_sp, for_each_gfn_sp, for_each_host;

    type T;
    expression a,c,d,e;
    identifier b;
    statement S;
    @@

    -T b;

    [akpm@linux-foundation.org: drop bogus change from net/ipv4/raw.c]
    [akpm@linux-foundation.org: drop bogus hunk from net/ipv6/raw.c]
    [akpm@linux-foundation.org: checkpatch fixes]
    [akpm@linux-foundation.org: fix warnings]
    [akpm@linux-foudnation.org: redo intrusive kvm changes]
    Tested-by: Peter Senna Tschudin
    Acked-by: Paul E. McKenney
    Signed-off-by: Sasha Levin
    Cc: Wu Fengguang
    Cc: Marcelo Tosatti
    Cc: Gleb Natapov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sasha Levin
     
  • Change it to CONFIG_HAVE_VIRT_TO_BUS and set it in all architecures
    that already provide virt_to_bus().

    Signed-off-by: Stephen Rothwell
    Reviewed-by: James Hogan
    Cc: Bjorn Helgaas
    Cc: H Hartley Sweeten
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: "David S. Miller"
    Cc: Paul Mundt
    Cc: Vineet Gupta
    Cc: James Bottomley
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     

27 Feb, 2013

1 commit

  • Pull vfs pile (part one) from Al Viro:
    "Assorted stuff - cleaning namei.c up a bit, fixing ->d_name/->d_parent
    locking violations, etc.

    The most visible changes here are death of FS_REVAL_DOT (replaced with
    "has ->d_weak_revalidate()") and a new helper getting from struct file
    to inode. Some bits of preparation to xattr method interface changes.

    Misc patches by various people sent this cycle *and* ocfs2 fixes from
    several cycles ago that should've been upstream right then.

    PS: the next vfs pile will be xattr stuff."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (46 commits)
    saner proc_get_inode() calling conventions
    proc: avoid extra pde_put() in proc_fill_super()
    fs: change return values from -EACCES to -EPERM
    fs/exec.c: make bprm_mm_init() static
    ocfs2/dlm: use GFP_ATOMIC inside a spin_lock
    ocfs2: fix possible use-after-free with AIO
    ocfs2: Fix oops in ocfs2_fast_symlink_readpage() code path
    get_empty_filp()/alloc_file() leave both ->f_pos and ->f_version zero
    target: writev() on single-element vector is pointless
    export kernel_write(), convert open-coded instances
    fs: encode_fh: return FILEID_INVALID if invalid fid_type
    kill f_vfsmnt
    vfs: kill FS_REVAL_DOT by adding a d_weak_revalidate dentry op
    nfsd: handle vfs_getattr errors in acl protocol
    switch vfs_getattr() to struct path
    default SET_PERSONALITY() in linux/elf.h
    ceph: prepopulate inodes only when request is aborted
    d_hash_and_lookup(): export, switch open-coded instances
    9p: switch v9fs_set_create_acl() to inode+fid, do it before d_instantiate()
    9p: split dropping the acls from v9fs_set_create_acl()
    ...

    Linus Torvalds
     

26 Feb, 2013

1 commit

  • Pull module update from Rusty Russell:
    "The sweeping change is to make add_taint() explicitly indicate whether
    to disable lockdep, but it's a mechanical change."

    * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    MODSIGN: Add option to not sign modules during modules_install
    MODSIGN: Add -s option to sign-file
    MODSIGN: Specify the hash algorithm on sign-file command line
    MODSIGN: Simplify Makefile with a Kconfig helper
    module: clean up load_module a little more.
    modpost: Ignore ARC specific non-alloc sections
    module: constify within_module_*
    taint: add explicit flag to show whether lock dep is still OK.
    module: printk message when module signature fail taints kernel.

    Linus Torvalds
     

25 Feb, 2013

1 commit


24 Feb, 2013

1 commit

  • Pull signal handling cleanups from Al Viro:
    "This is the first pile; another one will come a bit later and will
    contain SYSCALL_DEFINE-related patches.

    - a bunch of signal-related syscalls (both native and compat)
    unified.

    - a bunch of compat syscalls switched to COMPAT_SYSCALL_DEFINE
    (fixing several potential problems with missing argument
    validation, while we are at it)

    - a lot of now-pointless wrappers killed

    - a couple of architectures (cris and hexagon) forgot to save
    altstack settings into sigframe, even though they used the
    (uninitialized) values in sigreturn; fixed.

    - microblaze fixes for delivery of multiple signals arriving at once

    - saner set of helpers for signal delivery introduced, several
    architectures switched to using those."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal: (143 commits)
    x86: convert to ksignal
    sparc: convert to ksignal
    arm: switch to struct ksignal * passing
    alpha: pass k_sigaction and siginfo_t using ksignal pointer
    burying unused conditionals
    make do_sigaltstack() static
    arm64: switch to generic old sigaction() (compat-only)
    arm64: switch to generic compat rt_sigaction()
    arm64: switch compat to generic old sigsuspend
    arm64: switch to generic compat rt_sigqueueinfo()
    arm64: switch to generic compat rt_sigpending()
    arm64: switch to generic compat rt_sigprocmask()
    arm64: switch to generic sigaltstack
    sparc: switch to generic old sigsuspend
    sparc: COMPAT_SYSCALL_DEFINE does all sign-extension as well as SYSCALL_DEFINE
    sparc: kill sign-extending wrappers for native syscalls
    kill sparc32_open()
    sparc: switch to use of generic old sigaction
    sparc: switch sys_compat_rt_sigaction() to COMPAT_SYSCALL_DEFINE
    mips: switch to generic sys_fork() and sys_clone()
    ...

    Linus Torvalds
     

23 Feb, 2013

1 commit


22 Feb, 2013

5 commits

  • …linux into mips-for-linux-next

    Conflicts:
    include/linux/ssb/ssb_driver_gige.h

    Also resolves a logical merge conflict in drivers/net/ethernet/broadcom/-
    bgmac.c due to change of an API.

    Ralf Baechle
     
  • Pull x86 mm changes from Peter Anvin:
    "This is a huge set of several partly interrelated (and concurrently
    developed) changes, which is why the branch history is messier than
    one would like.

    The *really* big items are two humonguous patchsets mostly developed
    by Yinghai Lu at my request, which completely revamps the way we
    create initial page tables. In particular, rather than estimating how
    much memory we will need for page tables and then build them into that
    memory -- a calculation that has shown to be incredibly fragile -- we
    now build them (on 64 bits) with the aid of a "pseudo-linear mode" --
    a #PF handler which creates temporary page tables on demand.

    This has several advantages:

    1. It makes it much easier to support things that need access to data
    very early (a followon patchset uses this to load microcode way
    early in the kernel startup).

    2. It allows the kernel and all the kernel data objects to be invoked
    from above the 4 GB limit. This allows kdump to work on very large
    systems.

    3. It greatly reduces the difference between Xen and native (Xen's
    equivalent of the #PF handler are the temporary page tables created
    by the domain builder), eliminating a bunch of fragile hooks.

    The patch series also gets us a bit closer to W^X.

    Additional work in this pull is the 64-bit get_user() work which you
    were also involved with, and a bunch of cleanups/speedups to
    __phys_addr()/__pa()."

    * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (105 commits)
    x86, mm: Move reserving low memory later in initialization
    x86, doc: Clarify the use of asm("%edx") in uaccess.h
    x86, mm: Redesign get_user with a __builtin_choose_expr hack
    x86: Be consistent with data size in getuser.S
    x86, mm: Use a bitfield to mask nuisance get_user() warnings
    x86/kvm: Fix compile warning in kvm_register_steal_time()
    x86-32: Add support for 64bit get_user()
    x86-32, mm: Remove reference to alloc_remap()
    x86-32, mm: Remove reference to resume_map_numa_kva()
    x86-32, mm: Rip out x86_32 NUMA remapping code
    x86/numa: Use __pa_nodebug() instead
    x86: Don't panic if can not alloc buffer for swiotlb
    mm: Add alloc_bootmem_low_pages_nopanic()
    x86, 64bit, mm: hibernate use generic mapping_init
    x86, 64bit, mm: Mark data/bss/brk to nx
    x86: Merge early kernel reserve for 32bit and 64bit
    x86: Add Crash kernel low reservation
    x86, kdump: Remove crashkernel range find limit for 64bit
    memblock: Add memblock_mem_size()
    x86, boot: Not need to check setup_header version for setup_data
    ...

    Linus Torvalds
     
  • Pull trivial tree from Jiri Kosina:
    "Assorted tiny fixes queued in trivial tree"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (22 commits)
    DocBook: update EXPORT_SYMBOL entry to point at export.h
    Documentation: update top level 00-INDEX file with new additions
    ARM: at91/ide: remove unsused at91-ide Kconfig entry
    percpu_counter.h: comment code for better readability
    x86, efi: fix comment typo in head_32.S
    IB: cxgb3: delay freeing mem untill entirely done with it
    net: mvneta: remove unneeded version.h include
    time: x86: report_lost_ticks doesn't exist any more
    pcmcia: avoid static analysis complaint about use-after-free
    fs/jfs: Fix typo in comment : 'how may' -> 'how many'
    of: add missing documentation for of_platform_populate()
    btrfs: remove unnecessary cur_trans set before goto loop in join_transaction
    sound: soc: Fix typo in sound/codecs
    treewide: Fix typo in various drivers
    btrfs: fix comment typos
    Update ibmvscsi module name in Kconfig.
    powerpc: fix typo (utilties -> utilities)
    of: fix spelling mistake in comment
    h8300: Fix home page URL in h8300/README
    xtensa: Fix home page URL in Kconfig
    ...

    Linus Torvalds
     
  • Pull tty/serial patches from Greg Kroah-Hartman:
    "Here's the big tty/serial driver patches for 3.9-rc1.

    More tty port rework and fixes from Jiri here, as well as lots of
    individual serial driver updates and fixes.

    All of these have been in the linux-next tree for a while."

    * tag 'tty-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (140 commits)
    tty: mxser: improve error handling in mxser_probe() and mxser_module_init()
    serial: imx: fix uninitialized variable warning
    serial: tegra: assume CONFIG_OF
    TTY: do not update atime/mtime on read/write
    lguest: select CONFIG_TTY to build properly.
    ARM defconfigs: add missing inclusions of linux/platform_device.h
    fb/exynos: include platform_device.h
    ARM: sa1100/assabet: include platform_device.h directly
    serial: imx: Fix recursive locking bug
    pps: Fix build breakage from decoupling pps from tty
    tty: Remove ancient hardpps()
    pps: Additional cleanups in uart_handle_dcd_change
    pps: Move timestamp read into PPS code proper
    pps: Don't crash the machine when exiting will do
    pps: Fix a use-after free bug when unregistering a source.
    pps: Use pps_lookup_dev to reduce ldisc coupling
    pps: Add pps_lookup_dev() function
    tty: serial: uartlite: Support uartlite on big and little endian systems
    tty: serial: uartlite: Fix sparse and checkpatch warnings
    serial/arc-uart: Miscll DT related updates (Grant's review comments)
    ...

    Fix up trivial conflicts, mostly just due to the TTY config option
    clashing with the EXPERIMENTAL removal.

    Linus Torvalds
     
  • Pull driver core patches from Greg Kroah-Hartman:
    "Here is the big driver core merge for 3.9-rc1

    There are two major series here, both of which touch lots of drivers
    all over the kernel, and will cause you some merge conflicts:

    - add a new function called devm_ioremap_resource() to properly be
    able to check return values.

    - remove CONFIG_EXPERIMENTAL

    Other than those patches, there's not much here, some minor fixes and
    updates"

    Fix up trivial conflicts

    * tag 'driver-core-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (221 commits)
    base: memory: fix soft/hard_offline_page permissions
    drivercore: Fix ordering between deferred_probe and exiting initcalls
    backlight: fix class_find_device() arguments
    TTY: mark tty_get_device call with the proper const values
    driver-core: constify data for class_find_device()
    firmware: Ignore abort check when no user-helper is used
    firmware: Reduce ifdef CONFIG_FW_LOADER_USER_HELPER
    firmware: Make user-mode helper optional
    firmware: Refactoring for splitting user-mode helper code
    Driver core: treat unregistered bus_types as having no devices
    watchdog: Convert to devm_ioremap_resource()
    thermal: Convert to devm_ioremap_resource()
    spi: Convert to devm_ioremap_resource()
    power: Convert to devm_ioremap_resource()
    mtd: Convert to devm_ioremap_resource()
    mmc: Convert to devm_ioremap_resource()
    mfd: Convert to devm_ioremap_resource()
    media: Convert to devm_ioremap_resource()
    iommu: Convert to devm_ioremap_resource()
    drm: Convert to devm_ioremap_resource()
    ...

    Linus Torvalds
     

21 Feb, 2013

3 commits

  • … into mips-for-linux-next

    Ralf Baechle
     
  • Pull networking update from David Miller:

    1) Checkpoint/restarted TCP sockets now can properly propagate the TCP
    timestamp offset. From Andrey Vagin.

    2) VMWARE VM VSOCK layer, from Andy King.

    3) Much improved support for virtual functions and SR-IOV in bnx2x,
    from Ariel ELior.

    4) All protocols on ipv4 and ipv6 are now network namespace aware, and
    all the compatability checks for initial-namespace-only protocols is
    removed. Thanks to Tom Parkin for helping deal with the last major
    holdout, L2TP.

    5) IPV6 support in netpoll and network namespace support in pktgen,
    from Cong Wang.

    6) Multiple Registration Protocol (MRP) and Multiple VLAN Registration
    Protocol (MVRP) support, from David Ward.

    7) Compute packet lengths more accurately in the packet scheduler, from
    Eric Dumazet.

    8) Use per-task page fragment allocator in skb_append_datato_frags(),
    also from Eric Dumazet.

    9) Add support for connection tracking labels in netfilter, from
    Florian Westphal.

    10) Fix default multicast group joining on ipv6, and add anti-spoofing
    checks to 6to4 and 6rd. From Hannes Frederic Sowa.

    11) Make ipv4/ipv6 fragmentation memory limits more reasonable in modern
    times, rearrange inet frag datastructures for better cacheline
    locality, and move more operations outside of locking. From Jesper
    Dangaard Brouer.

    12) Instead of strict master slave relationships, allow arbitrary
    scenerios with "upper device lists". From Jiri Pirko.

    13) Improve rate limiting accuracy in TBF and act_police, also from Jiri
    Pirko.

    14) Add a BPF filter netfilter match target, from Willem de Bruijn.

    15) Orphan and delete a bunch of pre-historic networking drivers from
    Paul Gortmaker.

    16) Add TSO support for GRE tunnels, from Pravin B SHelar. Although
    this still needs some minor bug fixing before it's %100 correct in
    all cases.

    17) Handle unresolved IPSEC states like ARP, with a resolution packet
    queue. From Steffen Klassert.

    18) Remove TCP Appropriate Byte Count support (ABC), from Stephen
    Hemminger. This was long overdue.

    19) Support SO_REUSEPORT, from Tom Herbert.

    20) Allow locking a socket BPF filter, so that it cannot change after a
    process drops capabilities.

    21) Add VLAN filtering to bridge, from Vlad Yasevich.

    22) Bring ipv6 on-par with ipv4 and do not cache neighbour entries in
    the ipv6 routes, from YOSHIFUJI Hideaki.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1538 commits)
    ipv6: fix race condition regarding dst->expires and dst->from.
    net: fix a wrong assignment in skb_split()
    ip_gre: remove an extra dst_release()
    ppp: set qdisc_tx_busylock to avoid LOCKDEP splat
    atl1c: restore buffer state
    net: fix a build failure when !CONFIG_PROC_FS
    net: ipv4: fix waring -Wunused-variable
    net: proc: fix build failed when procfs is not configured
    Revert "xen: netback: remove redundant xenvif_put"
    net: move procfs code to net/core/net-procfs.c
    qmi_wwan, cdc-ether: add ADU960S
    bonding: set sysfs device_type to 'bond'
    bonding: fix bond_release_all inconsistencies
    b44: use netdev_alloc_skb_ip_align()
    xen: netback: remove redundant xenvif_put
    net: fec: Do a sanity check on the gpio number
    ip_gre: propogate target device GSO capability to the tunnel device
    ip_gre: allow CSUM capable devices to handle packets
    bonding: Fix initialize after use for 3ad machine state spinlock
    bonding: Fix race condition between bond_enslave() and bond_3ad_update_lacp_rate()
    ...

    Linus Torvalds
     
  • The internal codes are not part of the kernel's ABI.

    Signed-off-by: David Daney
    Patchwork: http://patchwork.linux-mips.org/patch/4932/
    Signed-off-by: John Crispin
    Signed-off-by: Ralf Baechle

    David Daney
     

20 Feb, 2013

1 commit

  • Pull irq core changes from Ingo Molnar:
    "The biggest changes are the IRQ-work and printk changes from Frederic
    Weisbecker, which prepare the code for 'full dynticks' (the ability to
    stop or slow down the periodic tick arbitrarily, not just in idle time
    as today):

    - Don't stop tick with irq works pending. This fix is generally
    useful and concerns archs that can't raise self IPIs.

    - Flush irq works before CPU offlining.

    - Introduce "lazy" irq works that can wait for the next tick to be
    executed, unless it's stopped.

    - Implement klogd wake up using irq work. This removes the ad-hoc
    printk_tick()/printk_needs_cpu() hooks and make it working even in
    dynticks mode.

    - Cleanups and fixes."

    * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    genirq: Export enable/disable_percpu_irq()
    arch Kconfig: Remove references to IRQ_PER_CPU
    irq_work: Remove return value from the irq_work_queue() function
    genirq: Avoid deadlock in spurious handling
    printk: Wake up klogd using irq_work
    irq_work: Make self-IPIs optable
    irq_work: Warn if there's still work on cpu_down
    irq_work: Flush work on CPU_DYING
    irq_work: Don't stop the tick with pending works
    nohz: Add API to check tick state
    irq_work: Remove CONFIG_HAVE_IRQ_WORK
    irq_work: Fix racy check on work pending flag
    irq_work: Fix racy IRQ_WORK_BUSY flag setting

    Linus Torvalds
     

19 Feb, 2013

3 commits

  • The commit [1] breaks builds and results in the following error

    arch/mips/kernel/vpe.c: In function 'vpe_run':
    arch/mips/kernel/vpe.c:708:16: error: invalid type argument of '->' (have 'struct list_head')

    Taking a closer look at the conditional we notice that list_first_entry wont
    ever return NULL. The easiest fix is to just drop the dead code.

    [1]
    commit 3d2d03247632920aa21b42a0b032a4ffd44ce15e
    MIPS: vpe.c: Fix null pointer dereference in print arguments.

    Signed-off-by: John Crispin

    John Crispin
     
  • This patch fixes the following implicit declaration while building with
    MIPS SMTC support enabled:

    arch/mips/kernel/smtc.c: In function 'setup_cross_vpe_interrupts':
    arch/mips/kernel/smtc.c:1205:2: error: implicit declaration of function
    'set_vi_handler' [-Werror=implicit-function-declaration]
    cc1: all warnings being treated as errors

    Signed-off-by: Florian Fainelli
    Patchwork: http://patchwork.linux-mips.org/patch/4931/
    Signed-off-by: John Crispin

    Florian Fainelli
     
  • We cannot use __init for earlyprintk code or data, since the kernel
    parameter "keep_bootcon" allows leaving the boot console enabled.

    Currently MIPS will crash/hang/die if you use keep_bootcon. The patch
    fixes it at least on Lemote FuLoong mini-PC. Changes for other boards
    were done based on what I could find with grep...

    Signed-off-by: Aaro Koskinen
    Patchwork: http://patchwork.linux-mips.org/patch/4935/
    Signed-off-by: John Crispin

    Aaro Koskinen