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
     

28 Feb, 2013

1 commit

  • 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
     

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


21 Feb, 2013

1 commit


19 Feb, 2013

6 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
     
  • The presence of the MIPS Virtualization Application-Specific Extension
    is indicated by CP0_Config3[23]. Probe for this and report it in
    /proc/cpuinfo.

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

    David Daney
     
  • /proc/vmcore wasn't showing up in kdump kernels. It turns that that
    for Octeon, the memory used by elfcorehdr wasn't being set aside
    properly and it was getting clobbered before /proc/vmcore could get
    it. So reserve the memory if it shows up in a memory area managed
    by the kernel.

    Signed-off-by: Corey Minyard
    Acked-by: David Daney
    Cc: Ralf Baechle
    Patchwork: http://patchwork.linux-mips.org/patch/4936/

    Corey Minyard
     
  • Kernel memory isn't necessarily added to the memory tables, so it
    wouldn't show up in /proc/iomem. This was breaking kdump, which
    requires these memory addresses to work correctly.

    Signed-off-by: Corey Minyard
    Acked-by: David Daney
    Cc: Ralf Baechle
    Patchwork: http://patchwork.linux-mips.org/patch/4937/

    Corey Minyard
     

17 Feb, 2013

5 commits


16 Feb, 2013

2 commits

  • Display the MIPS ISA version release in the /proc/cpuinfo file.

    [ralf@linux-mips.org: Add support for MIPS I ... IV legacy architecture
    revisions. Also differenciate between MIPS32 and MIPS64 versions instead
    of lumping them together as just r1 and r2.

    Note to application programmers: this indicates the CPU's ISA level
    It does not imply the current execution environment does support it. For
    example an O32 application seeing "mips64r2" would still be restricted by
    by the execution environment to 32-bit - but the kernel could run mips64r2
    code. The same for a 32-bit kernel running on a 64-bit processor. This
    field doesn't include ASEs or optional architecture modules nor other
    detailed flags such as the availability of an FPU.]

    Signed-off-by: Steven J. Hill
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/4714/
    Signed-off-by: Ralf Baechle

    Steven J. Hill
     
  • A struct clk value is intended to be an abstract pointer, so it should be
    manipulated using the various API functions.

    clk_put is additionally added on the failure paths.

    The semantic match that finds the first problem is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @@
    expression e,e1;
    identifier i;
    @@

    *e = clk_get(...)
    ... when != e = e1
    when any
    *e->i
    //

    Signed-off-by: Julia Lawall
    Cc: kernel-janitors@vger.kernel.org
    Cc: linux-mips@linux-mips.org,
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/4751/
    Signed-off-by: Ralf Baechle

    Julia Lawall
     

04 Feb, 2013

15 commits


01 Feb, 2013

3 commits