30 Oct, 2012

5 commits


20 Oct, 2012

16 commits

  • I saw this on ARM:
    linux/drivers/xen/dbgp.c:11:23: warning: unused variable 'ctrlr' [-Wunused-variable]

    Acked-by: Stefano Stabellini
    Signed-off-by: Ian Campbell
    Acked-by: Jan Beulich
    Signed-off-by: Konrad Rzeszutek Wilk

    Ian Campbell
     
  • * commit 'v3.7-rc1': (10892 commits)
    Linux 3.7-rc1
    x86, boot: Explicitly include autoconf.h for hostprogs
    perf: Fix UAPI fallout
    ARM: config: make sure that platforms are ordered by option string
    ARM: config: sort select statements alphanumerically
    UAPI: (Scripted) Disintegrate include/linux/byteorder
    UAPI: (Scripted) Disintegrate include/linux
    UAPI: Unexport linux/blk_types.h
    UAPI: Unexport part of linux/ppp-comp.h
    perf: Handle new rbtree implementation
    procfs: don't need a PATH_MAX allocation to hold a string representation of an int
    vfs: embed struct filename inside of names_cache allocation if possible
    audit: make audit_inode take struct filename
    vfs: make path_openat take a struct filename pointer
    vfs: turn do_path_lookup into wrapper around struct filename variant
    audit: allow audit code to satisfy getname requests from its names_list
    vfs: define struct filename and have getname() return it
    btrfs: Fix compilation with user namespace support enabled
    userns: Fix posix_acl_file_xattr_userns gid conversion
    userns: Properly print bluetooth socket uids
    ...

    Konrad Rzeszutek Wilk
     
  • Signed-off-by: Ian Campbell
    Signed-off-by: Konrad Rzeszutek Wilk

    Ian Campbell
     
  • This is now a xen_pfn_t.

    Signed-off-by: Ian Campbell
    Signed-off-by: Konrad Rzeszutek Wilk

    Ian Campbell
     
  • In 32 bit guests, if a userspace process has %eax == -ERESTARTSYS
    (-512) or -ERESTARTNOINTR (-513) when it is interrupted by an event
    /and/ the process has a pending signal then %eip (and %eax) are
    corrupted when returning to the main process after handling the
    signal. The application may then crash with SIGSEGV or a SIGILL or it
    may have subtly incorrect behaviour (depending on what instruction it
    returned to).

    The occurs because handle_signal() is incorrectly thinking that there
    is a system call that needs to restarted so it adjusts %eip and %eax
    to re-execute the system call instruction (even though user space had
    not done a system call).

    If %eax == -514 (-ERESTARTNOHAND (-514) or -ERESTART_RESTARTBLOCK
    (-516) then handle_signal() only corrupted %eax (by setting it to
    -EINTR). This may cause the application to crash or have incorrect
    behaviour.

    handle_signal() assumes that regs->orig_ax >= 0 means a system call so
    any kernel entry point that is not for a system call must push a
    negative value for orig_ax. For example, for physical interrupts on
    bare metal the inverse of the vector is pushed and page_fault() sets
    regs->orig_ax to -1, overwriting the hardware provided error code.

    xen_hypervisor_callback() was incorrectly pushing 0 for orig_ax
    instead of -1.

    Classic Xen kernels pushed %eax which works as %eax cannot be both
    non-negative and -RESTARTSYS (etc.), but using -1 is consistent with
    other non-system call entry points and avoids some of the tests in
    handle_signal().

    There were similar bugs in xen_failsafe_callback() of both 32 and
    64-bit guests. If the fault was corrected and the normal return path
    was used then 0 was incorrectly pushed as the value for orig_ax.

    Signed-off-by: David Vrabel
    Acked-by: Jan Beulich
    Acked-by: Ian Campbell
    Cc: stable@vger.kernel.org
    Signed-off-by: Konrad Rzeszutek Wilk

    David Vrabel
     
  • This makes common code less ifdef-y and is consistent with PVHVM on
    x86.

    Also note that phys_to_machine_mapping_valid should take a pfn
    argument and make it do so.

    Add __set_phys_to_machine, make set_phys_to_machine a simple wrapper
    (on systems with non-nop implementations the outer one can allocate
    new p2m pages).

    Make __set_phys_to_machine check for identity mapping or invalid only.

    Acked-by: Stefano Stabellini
    Signed-off-by: Ian Campbell
    Signed-off-by: Konrad Rzeszutek Wilk

    Ian Campbell
     
  • This breaks on !X86 and AFAICT is not required on X86 either.

    Acked-by: Stefano Stabellini
    Signed-off-by: Ian Campbell
    Signed-off-by: Konrad Rzeszutek Wilk

    Ian Campbell
     
  • This correctly sizes it as 64 bit on ARM but leaves it as unsigned
    long on x86 (therefore no intended change on x86).

    The long and ulong guest handles are now unused (and a bit dangerous)
    so remove them.

    Acked-by: Stefano Stabellini
    Signed-off-by: Ian Campbell
    Signed-off-by: Konrad Rzeszutek Wilk

    Ian Campbell
     
  • On ARM I see:
    drivers/xen/events.c:280:13: warning: 'pirq_check_eoi_map' defined but not used
    [-Wunused-function]

    Signed-off-by: Ian Campbell
    Cc: Stefano Stabellini
    Signed-off-by: Konrad Rzeszutek Wilk

    Ian Campbell
     
  • Signed-off-by: Ian Campbell
    Signed-off-by: Konrad Rzeszutek Wilk

    Ian Campbell
     
  • Define PRI macros for xen_ulong_t and xen_pfn_t and use to fix:
    drivers/xen/sys-hypervisor.c:288:4: warning: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'xen_ulong_t' [-Wformat]

    Ideally this would use PRIx64 on ARM but these (or equivalent) don't
    seem to be available in the kernel.

    Acked-by: Stefano Stabellini
    Signed-off-by: Ian Campbell
    Signed-off-by: Konrad Rzeszutek Wilk

    Ian Campbell
     
  • Fixes build error on ARM:
    drivers/xen/sys-hypervisor.c: In function 'uuid_show_fallback':
    drivers/xen/sys-hypervisor.c:127:2: error: implicit declaration of function 'IS_ERR' [-Werror=implicit-function-declaration]
    drivers/xen/sys-hypervisor.c:128:3: error: implicit declaration of function 'PTR_ERR' [-Werror=implicit-function-declaration]

    Acked-by: Stefano Stabellini
    Signed-off-by: Ian Campbell
    Signed-off-by: Konrad Rzeszutek Wilk

    Ian Campbell
     
  • This breaks on ARM. This quirk is not necessary on ARM because no
    hypervisors of that vintage exist for that architecture (port is too
    new).

    Signed-off-by: Ian Campbell
    [v1: Moved the ifdef inside the function per Jan Beulich suggestion]
    Signed-off-by: Konrad Rzeszutek Wilk

    Ian Campbell
     
  • VFs are reported as single-function devices in PCI_HEADER_TYPE, which
    causes pci_scan_slot() in the PV domU to skip all VFs beyond #0 in the
    pciback-provided slot. Avoid this by assigning each VF to a separate
    virtual slot.

    Acked-by: Jan Beulich
    Signed-off-by: Laszlo Ersek
    Signed-off-by: Konrad Rzeszutek Wilk

    Laszlo Ersek
     
  • We were missing the 'void' on the parameter arguments.

    Reported-by: Fengguang Wu
    Signed-off-by: Konrad Rzeszutek Wilk

    Konrad Rzeszutek Wilk
     
  • Remove duplicated include.

    dpatch engine is used to auto generate this patch.
    (https://github.com/weiyj/dpatch)

    CC: stable@vger.kernel.org
    Signed-off-by: Wei Yongjun
    Signed-off-by: Konrad Rzeszutek Wilk

    Wei Yongjun
     

15 Oct, 2012

5 commits

  • Linus Torvalds
     
  • Pull MIPS update from Ralf Baechle:
    "Cleanups and fixes for breakage that occured earlier during this merge
    phase. Also a few patches that didn't make the first pull request.
    Of those is the Alchemy work that merges code for many of the SOCs and
    evaluation boards thus among other code shrinkage, reduces the number
    of MIPS defconfigs by 5."

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (22 commits)
    MIPS: SNI: Switch RM400 serial to SCCNXP driver
    MIPS: Remove unused empty_bad_pmd_table[] declaration.
    MIPS: MT: Remove kspd.
    MIPS: Malta: Fix section mismatch.
    MIPS: asm-offset.c: Delete unused irq_cpustat_t struct offsets.
    MIPS: Alchemy: Merge PB1100/1500 support into DB1000 code.
    MIPS: Alchemy: merge PB1550 support into DB1550 code
    MIPS: Alchemy: Single kernel for DB1200/1300/1550
    MIPS: Optimize TLB refill for RI/XI configurations.
    MIPS: proc: Cleanup printing of ASEs.
    MIPS: Hardwire detection of DSP ASE Rev 2 for systems, as required.
    MIPS: Add detection of DSP ASE Revision 2.
    MIPS: Optimize pgd_init and pmd_init
    MIPS: perf: Add perf functionality for BMIPS5000
    MIPS: perf: Split the Kconfig option CONFIG_MIPS_MT_SMP
    MIPS: perf: Remove unnecessary #ifdef
    MIPS: perf: Add cpu feature bit for PCI (performance counter interrupt)
    MIPS: perf: Change the "mips_perf_event" table unsupported indicator.
    MIPS: Align swapper_pg_dir to 64K for better TLB Refill code.
    vmlinux.lds.h: Allow architectures to add sections to the front of .bss
    ...

    Linus Torvalds
     
  • Pull module signing support from Rusty Russell:
    "module signing is the highlight, but it's an all-over David Howells frenzy..."

    Hmm "Magrathea: Glacier signing key". Somebody has been reading too much HHGTTG.

    * 'modules-next' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (37 commits)
    X.509: Fix indefinite length element skip error handling
    X.509: Convert some printk calls to pr_devel
    asymmetric keys: fix printk format warning
    MODSIGN: Fix 32-bit overflow in X.509 certificate validity date checking
    MODSIGN: Make mrproper should remove generated files.
    MODSIGN: Use utf8 strings in signer's name in autogenerated X.509 certs
    MODSIGN: Use the same digest for the autogen key sig as for the module sig
    MODSIGN: Sign modules during the build process
    MODSIGN: Provide a script for generating a key ID from an X.509 cert
    MODSIGN: Implement module signature checking
    MODSIGN: Provide module signing public keys to the kernel
    MODSIGN: Automatically generate module signing keys if missing
    MODSIGN: Provide Kconfig options
    MODSIGN: Provide gitignore and make clean rules for extra files
    MODSIGN: Add FIPS policy
    module: signature checking hook
    X.509: Add a crypto key parser for binary (DER) X.509 certificates
    MPILIB: Provide a function to read raw data into an MPI
    X.509: Add an ASN.1 decoder
    X.509: Add simple ASN.1 grammar compiler
    ...

    Linus Torvalds
     
  • The hostprogs need access to the CONFIG_* symbols found in
    include/generated/autoconf.h. But commit abbf1590de22 ("UAPI: Partition
    the header include path sets and add uapi/ header directories") replaced
    $(LINUXINCLUDE) with $(USERINCLUDE) which doesn't contain the necessary
    include paths.

    This has the undesirable effect of breaking the EFI boot stub because
    the #ifdef CONFIG_EFI_STUB code in arch/x86/boot/tools/build.c is
    never compiled.

    It should also be noted that because $(USERINCLUDE) isn't exported by
    the top-level Makefile it's actually empty in arch/x86/boot/Makefile.

    Cc: H. Peter Anvin
    Cc: Ingo Molnar
    Acked-by: David Howells
    Signed-off-by: Matt Fleming
    Signed-off-by: Linus Torvalds

    Matt Fleming
     
  • The UAPI commits forgot to test tooling builds such as tools/perf/,
    and this fixes the fallout.

    Manual conversion.

    Signed-off-by: Ingo Molnar
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     

14 Oct, 2012

9 commits

  • Pull ARM update from Russell King:
    "This is the final round of stuff for ARM, left until the end of the
    merge window to reduce the number of conflicts. This set contains the
    ARM part of David Howells UAPI changes, and a fix to the ordering of
    'select' statements in ARM Kconfig files (see the appropriate commit
    for why this happened - thanks to Andrew Morton for pointing out the
    problem.)

    I've left this as long as I dare for this window to avoid conflicts,
    and I regenerated the config patch yesterday, posting it to our
    mailing list for review and testing. I have several acks which
    include successful test reports for it.

    However, today I notice we've got new conflicts with previously unseen
    code... though that conflict should be trivial (it's my changes vs a
    one liner.)"

    * 'late-for-linus' of git://git.linaro.org/people/rmk/linux-arm:
    ARM: config: make sure that platforms are ordered by option string
    ARM: config: sort select statements alphanumerically
    UAPI: (Scripted) Disintegrate arch/arm/include/asm

    Fix up fairly conflict in arch/arm/Kconfig (the select re-organization
    vs recent addition of GENERIC_KERNEL_EXECVE)

    Linus Torvalds
     
  • Pull UAPI disintegration for include/linux/{,byteorder/}*.h from David Howells:
    "The patches contained herein do the following:

    (1) Remove kernel-only stuff in linux/ppp-comp.h from the UAPI. I checked
    this with Paul Mackerras before I created the patch and he suggested some
    extra bits to unexport.

    (2) Remove linux/blk_types.h entirely from the UAPI as none of it is userspace
    applicable, and remove from the UAPI that part of linux/fs.h that was the
    reason for linux/blk_types.h being exported in the first place. I
    discussed this with Jens Axboe before creating the patch.

    (3) The big patch of the series to disintegrate include/linux/*.h as a unit.
    This could be split up, though there would be collisions in moving stuff
    between the two Kbuild files when the parts are merged as that file is
    sorted alphabetically rather than being grouped by subsystem.

    Of this set of headers, 17 files have changed in the UAPI exported region
    since the 4th and only 8 since the 9th so there isn't much change in this
    area - as one might expect.

    It should be pretty obvious and straightforward if it does come to fixing
    up: stuff in __KERNEL__ guards stays where it is and stuff outside moves
    to the same file in the include/uapi/linux/ directory.

    If a new file appears then things get a bit more complicated as the
    "headers +=" line has to move to include/uapi/linux/Kbuild. Only one new
    file has appeared since the 9th and I judge this type of event relatively
    unlikely.

    (4) A patch to disintegrate include/linux/byteorder/*.h as a unit.

    Signed-off-by: David Howells "

    * tag 'disintegrate-main-20121013' of git://git.infradead.org/users/dhowells/linux-headers:
    UAPI: (Scripted) Disintegrate include/linux/byteorder
    UAPI: (Scripted) Disintegrate include/linux
    UAPI: Unexport linux/blk_types.h
    UAPI: Unexport part of linux/ppp-comp.h

    Linus Torvalds
     
  • Pull spi UAPI disintegration from David Howells:
    "This is to complete part of the Userspace API (UAPI) disintegration
    for which the preparatory patches were pulled recently. After these
    patches, userspace headers will be segregated into:

    include/uapi/linux/.../foo.h

    for the userspace interface stuff, and:

    include/linux/.../foo.h

    for the strictly kernel internal stuff.

    Signed-off-by: David Howells
    Acked-by: Grant Likely "

    * tag 'disintegrate-spi-20121009' of git://git.infradead.org/users/dhowells/linux-headers:
    UAPI: (Scripted) Disintegrate include/linux/spi

    Linus Torvalds
     
  • Pull OpenRISC uapi disintegration from Jonas Bonn:
    "OpenRISC UAPI disintegration work from David Howells"

    * tag 'openrisc-uapi' of git://openrisc.net/jonas/linux:
    UAPI: (Scripted) Disintegrate arch/openrisc/include/asm

    Linus Torvalds
     
  • Pull user namespace compile fixes from Eric W Biederman:
    "This tree contains three trivial fixes. One compiler warning, one
    thinko fix, and one build fix"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
    btrfs: Fix compilation with user namespace support enabled
    userns: Fix posix_acl_file_xattr_userns gid conversion
    userns: Properly print bluetooth socket uids

    Linus Torvalds
     
  • Pull md updates from NeilBrown:
    - "discard" support, some dm-raid improvements and other assorted bits
    and pieces.

    * tag 'md-3.7' of git://neil.brown.name/md: (29 commits)
    md: refine reporting of resync/reshape delays.
    md/raid5: be careful not to resize_stripes too big.
    md: make sure manual changes to recovery checkpoint are saved.
    md/raid10: use correct limit variable
    md: writing to sync_action should clear the read-auto state.
    Subject: [PATCH] md:change resync_mismatches to atomic64_t to avoid races
    md/raid5: make sure to_read and to_write never go negative.
    md: When RAID5 is dirty, force reconstruct-write instead of read-modify-write.
    md/raid5: protect debug message against NULL derefernce.
    md/raid5: add some missing locking in handle_failed_stripe.
    MD: raid5 avoid unnecessary zero page for trim
    MD: raid5 trim support
    md/bitmap:Don't use IS_ERR to judge alloc_page().
    md/raid1: Don't release reference to device while handling read error.
    raid: replace list_for_each_continue_rcu with new interface
    add further __init annotations to crypto/xor.c
    DM RAID: Fix for "sync" directive ineffectiveness
    DM RAID: Fix comparison of index and quantity for "rebuild" parameter
    DM RAID: Add rebuild capability for RAID10
    DM RAID: Move 'rebuild' checking code to its own function
    ...

    Linus Torvalds
     
  • Russell King
     
  • The large platform selection choice should be sorted by option string
    so it's easy to find the platform you're looking for. Fix the few
    options which are out of this order.

    Acked-by: Tony Lindgren
    Signed-off-by: Russell King

    Russell King
     
  • As suggested by Andrew Morton:

    This is a pet peeve of mine. Any time there's a long list of items
    (header file inclusions, kconfig entries, array initalisers, etc) and
    someone wants to add a new item, they *always* go and stick it at the
    end of the list.

    Guys, don't do this. Either put the new item into a randomly-chosen
    position or, probably better, alphanumerically sort the list.

    lets sort all our select statements alphanumerically. This commit was
    created by the following perl:

    while (<>) {
    while (/\\\s*$/) {
    $_ .= <>;
    }
    undef %selects if /^\s*config\s+/;
    if (/^\s+select\s+(\w+).*/) {
    if (defined($selects{$1})) {
    if ($selects{$1} eq $_) {
    print STDERR "Warning: removing duplicated $1 entry\n";
    } else {
    print STDERR "Error: $1 differently selected\n".
    "\tOld: $selects{$1}\n".
    "\tNew: $_\n";
    exit 1;
    }
    }
    $selects{$1} = $_;
    next;
    }
    if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or
    /^endif/ or /^endchoice/)) {
    foreach $k (sort (keys %selects)) {
    print "$selects{$k}";
    }
    undef %selects;
    }
    print;
    }
    if (%selects) {
    foreach $k (sort (keys %selects)) {
    print "$selects{$k}";
    }
    }

    It found two duplicates:

    Warning: removing duplicated S5P_SETUP_MIPIPHY entry
    Warning: removing duplicated HARDIRQS_SW_RESEND entry

    and they are identical duplicates, hence the shrinkage in the diffstat
    of two lines.

    We have four testers reporting success of this change (Tony, Stephen,
    Linus and Sekhar.)

    Acked-by: Jason Cooper
    Acked-by: Tony Lindgren
    Acked-by: Stephen Warren
    Acked-by: Linus Walleij
    Acked-by: Sekhar Nori
    Signed-off-by: Russell King

    Russell King
     

13 Oct, 2012

5 commits