05 Aug, 2010

33 commits

  • We change the sysfs functions to take struct load_info, and call
    them all in mod_sysfs_setup().

    We also clean up the #ifdefs a little.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • layout_and_allocate() does everything up to and including the final
    struct module placement inside the allocated module memory. We have
    to store the symbol layout information in our struct load_info though.

    This avoids the nasty code we had before where 'mod' pointed first
    to the version inside the temporary allocation containing the entire
    file, then later was moved to point to the real struct module: now
    the main code only ever sees the final module address.

    (Includes fix for the Tony Luck-found Linus-diagnosed failure path
    error).

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • Andrew had the sole pleasure of tickling this bug in linux-next; when we set
    up "info->strtab" it's pointing into the temporary copy of the module. For
    most uses that is fine, but kallsyms keeps a pointer around during module
    load (inside mod->strtab).

    If we oops for some reason inside a module's init function, kallsyms will use
    the mod->strtab pointer into the now-freed temporary module copy.

    (Later oopses work fine: after init we overwrite mod->strtab to point to a
    compacted core-only strtab).

    Reported-by: Andrew "Grumpy" Morton
    Signed-off-by: Rusty "Buggy" Russell
    Tested-by: Andrew "Happy" Morton
    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • Simple refactor causes us to lift struct definition to top of file.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • We can't do the find_sec after removing the SHF_ALLOC flags; it won't
    find the sections.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • Put all the "rewrite and check section headers" in one place. This
    adds another iteration over the sections, but it's far clearer. We
    iterate once for every find_section() so we already iterate over many
    times.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • Btw, here's a patch that _looks_ large, but it really pretty trivial, and
    sets things up so that it would be way easier to split off pieces of the
    module loading.

    The reason it looks large is that it creates a "module_info" structure
    that contains all the module state that we're building up while loading,
    instead of having individual variables for all the indices etc.

    So the patch ends up being large, because every "symindex" access instead
    becomes "info.index.sym" etc. That may be a few characters longer, but it
    then means that we can just pass a pointer to that "info" structure
    around. and let all the pieces fill it in very naturally.

    As an example of that, the patch also moves the initialization of all
    those convenience variables into a "setup_module_info()" function. And at
    this point it really does become very natural to start to peel off some of
    the error labels and move them into the helper functions - now the
    "truncated" case is gone, and is handled inside that setup function
    instead.

    So maybe you don't like this approach, and it does make the variable
    accesses a bit longer, but I don't think unreadably so. And the patch
    really does look big and scary, but there really should be absolutely no
    semantic changes - most of it was a trivial and mindless rename.

    In fact, it was so mindless that I on purpose kept the existing helper
    functions looking like this:

    - err = check_modinfo(mod, sechdrs, infoindex, versindex);
    + err = check_modinfo(mod, info.sechdrs, info.index.info, info.index.vers);

    rather than changing them to just take the "info" pointer. IOW, a second
    phase (if you think the approach is ok) would change that calling
    convention to just do

    err = check_modinfo(mod, &info);

    (and same for "layout_sections()", "layout_symtabs()" etc.) Similarly,
    while right now it makes things _look_ bigger, with things like this:

    versindex = find_sec(hdr, sechdrs, secstrings, "__versions");

    becoming

    info->index.vers = find_sec(info->hdr, info->sechdrs, info->secstrings, "__versions");

    in the new "setup_module_info()" function, that's again just a result of
    it being a search-and-replace patch. By using the 'info' pointer, we could
    just change the 'find_sec()' interface so that it ends up being

    info->index.vers = find_sec(info, "__versions");

    instead, and then we'd actually have a shorter and more readable line. So
    for a lot of those mindless variable name expansions there's would be room
    for separate cleanups.

    I didn't move quite everything in there - if we do this to layout_symtabs,
    for example, we'd want to move the percpu, symoffs, stroffs, *strmap
    variables to be fields in that module_info structure too. But that's a
    much smaller patch, I moved just the really core stuff that is currently
    being set up and used in various parts.

    But even in this rough form, it removes close to 70 lines from that
    function (but adds 22 lines overall, of course - the structure definition,
    the helper function declarations and call-sites etc etc).

    Signed-off-by: Linus Torvalds
    Signed-off-by: Rusty Russell

    Linus Torvalds
     
  • And now that I'm looking at that call-chain (to see if it would make sense
    to use some other more specific lock - doesn't look like it: all the
    readers are using RCU and this is the only writer), I also give you this
    trivial one-liner. It changes each_symbol() to not put that constant array
    on the stack, resulting in changing

    movq $C.388.31095, %rsi #, tmp85
    subq $376, %rsp #,
    movq %rdi, %rbx # fn, fn
    leaq -208(%rbp), %rdi #, tmp84
    movq %rbx, %rdx # fn,
    rep movsl
    xorl %esi, %esi #
    leaq -208(%rbp), %rdi #, tmp87
    movq %r12, %rcx # data,
    call each_symbol_in_section.clone.0 #

    into

    xorl %esi, %esi #
    subq $216, %rsp #,
    movq %rdi, %rbx # fn, fn
    movq $arr.31078, %rdi #,
    call each_symbol_in_section.clone.0 #

    which is not so much about being obviously shorter and simpler because we
    don't unnecessarily copy that constant array around onto the stack, but
    also about having a much smaller stack footprint (376 vs 216 bytes - see
    the update of 'rsp').

    Signed-off-by: Linus Torvalds
    Signed-off-by: Rusty Russell

    Linus Torvalds
     
  • 1) Extract out the relocation loop into apply_relocations
    2) Extract license and version checks into check_module_license_and_versions
    3) Extract icache flushing into flush_module_icache
    4) Move __obsparm warning into find_module_sections
    5) Move license setting into check_modinfo.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • Allocate references inside module_unload_init(), clean up inside
    module_unload_free().

    This version fixed to do allocation before __this_cpu_write, thanks to
    bug reports from linux-next from Dave Young
    and Stephen Rothwell .

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • Extract out the allocation and copying in from userspace, and the
    first set of modinfo checks.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • Here's a second one. It's slightly less trivial - since we now have error
    cases - and equally untested so it may well be totally broken. But it also
    cleans up a bit more, and avoids one of the goto targets, because the
    "move_module()" helper now does both allocations or none.

    Signed-off-by: Linus Torvalds
    Signed-off-by: Rusty Russell

    Linus Torvalds
     
  • I'd start from the trivial stuff. There's a fair amount of straight-line
    code that just makes the function hard to read just because you have to
    page up and down so far. Some of it is trivial to just create a helper
    function for.

    Signed-off-by: Linus Torvalds
    Signed-off-by: Rusty Russell

    Linus Torvalds
     
  • No need to clear mod->refptr in module_unload_init(), since
    alloc_percpu() already clears allocated chunks.

    Signed-off-by: Eric Dumazet
    Signed-off-by: Rusty Russell (removed unused var)

    Eric Dumazet
     
  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (48 commits)
    Documentation: update broken web addresses.
    fix comment typo "choosed" -> "chosen"
    hostap:hostap_hw.c Fix typo in comment
    Fix spelling contorller -> controller in comments
    Kconfig.debug: FAIL_IO_TIMEOUT: typo Faul -> Fault
    fs/Kconfig: Fix typo Userpace -> Userspace
    Removing dead MACH_U300_BS26
    drivers/infiniband: Remove unnecessary casts of private_data
    fs/ocfs2: Remove unnecessary casts of private_data
    libfc: use ARRAY_SIZE
    scsi: bfa: use ARRAY_SIZE
    drm: i915: use ARRAY_SIZE
    drm: drm_edid: use ARRAY_SIZE
    synclink: use ARRAY_SIZE
    block: cciss: use ARRAY_SIZE
    comment typo fixes: charater => character
    fix comment typos concerning "challenge"
    arm: plat-spear: fix typo in kerneldoc
    reiserfs: typo comment fix
    update email address
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (30 commits)
    Revert "HID: add support for the Wacom Intuos 4 wireless"
    HID: fix up Kconfig entry for ACRUX driver
    HID: add ACRUX game controller force feedback support
    HID: Force input registration for "VEC footpedal"
    HID: add HID_QUIRK_HIDINPUT_FORCE
    HID: hid-input.c: indentation fixes
    HID: hiddev: use usb_find_interface, get rid of BKL
    HID: ignore digitizer usage Undefined (0x00)
    HID: Add support for Conceptronic CLLRCMCE
    HID: hid-ids.h: Whitespace fixup, align using TABs
    HID: picolcd: implement refcounting of framebuffer
    HID: picolcd: do not reallocate memory on depth change
    HID: picolcd: Add minimal palette required by fbcon on 8bpp
    HID: magicmouse: Correct parsing of large X and Y motions.
    HID: magicmouse: report last touch up
    HID: picolcd: fix deferred_io init/cleanup to fb ordering
    HID: hid-ids.h: keep vendor ids in alphabetical order
    HID: add proper support for Elecom BM084 bluetooth mouse
    HID: magicmouse: enable horizontal scrolling
    HID: magicmouse: add param for scroll speed
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (39 commits)
    random: Reorder struct entropy_store to remove padding on 64bits
    padata: update API documentation
    padata: Remove padata_get_cpumask
    crypto: pcrypt - Update pcrypt cpumask according to the padata cpumask notifier
    crypto: pcrypt - Rename pcrypt_instance
    padata: Pass the padata cpumasks to the cpumask_change_notifier chain
    padata: Rearrange set_cpumask functions
    padata: Rename padata_alloc functions
    crypto: pcrypt - Dont calulate a callback cpu on empty callback cpumask
    padata: Check for valid cpumasks
    padata: Allocate cpumask dependend recources in any case
    padata: Fix cpu index counting
    crypto: geode_aes - Convert pci_table entries to PCI_VDEVICE (if PCI_ANY_ID is used)
    pcrypt: Added sysfs interface to pcrypt
    padata: Added sysfs primitives to padata subsystem
    padata: Make two separate cpumasks
    padata: update documentation
    padata: simplify serialization mechanism
    padata: make padata_do_parallel to return zero on success
    padata: Handle empty padata cpumasks
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
    percpu: allow limited allocation before slab is online
    percpu: make @dyn_size always mean min dyn_size in first chunk init functions

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (276 commits)
    [SCSI] zfcp: Trigger logging in the FCP channel on qdio error conditions
    [SCSI] zfcp: Introduce experimental support for DIF/DIX
    [SCSI] zfcp: Enable data division support for FCP devices
    [SCSI] zfcp: Prevent access on uninitialized memory.
    [SCSI] zfcp: Post events through FC transport class
    [SCSI] zfcp: Cleanup QDIO attachment and improve processing.
    [SCSI] zfcp: Cleanup function parameters for sbal value.
    [SCSI] zfcp: Use correct width for timer_interval field
    [SCSI] zfcp: Remove SCSI device when removing unit
    [SCSI] zfcp: Use memdup_user and kstrdup
    [SCSI] zfcp: Fix retry after failed "open port" erp action
    [SCSI] zfcp: Fail erp after timeout
    [SCSI] zfcp: Use forced_reopen in terminate_rport_io callback
    [SCSI] zfcp: Register SCSI devices after successful fc_remote_port_add
    [SCSI] zfcp: Do not try "forced close" when port is already closed
    [SCSI] zfcp: Do not unblock rport from REOPEN_PORT_FORCED
    [SCSI] sd: add support for runtime PM
    [SCSI] implement runtime Power Management
    [SCSI] convert to the new PM framework
    [SCSI] Unify SAM_ and SAM_STAT_ macros
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1443 commits)
    phy/marvell: add 88ec048 support
    igb: Program MDICNFG register prior to PHY init
    e1000e: correct MAC-PHY interconnect register offset for 82579
    hso: Add new product ID
    can: Add driver for esd CAN-USB/2 device
    l2tp: fix export of header file for userspace
    can-raw: Fix skb_orphan_try handling
    Revert "net: remove zap_completion_queue"
    net: cleanup inclusion
    phy/marvell: add 88e1121 interface mode support
    u32: negative offset fix
    net: Fix a typo from "dev" to "ndev"
    igb: Use irq_synchronize per vector when using MSI-X
    ixgbevf: fix null pointer dereference due to filter being set for VLAN 0
    e1000e: Fix irq_synchronize in MSI-X case
    e1000e: register pm_qos request on hardware activation
    ip_fragment: fix subtracting PPPOE_SES_HLEN from mtu twice
    net: Add getsockopt support for TCP thin-streams
    cxgb4: update driver version
    cxgb4: add new PCI IDs
    ...

    Manually fix up conflicts in:
    - drivers/net/e1000e/netdev.c: due to pm_qos registration
    infrastructure changes
    - drivers/net/phy/marvell.c: conflict between adding 88ec048 support
    and cleaning up the IDs
    - drivers/net/wireless/ipw2x00/ipw2100.c: trivial ipw2100_pm_qos_req
    conflict (registration change vs marking it static)

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft-2.6:
    ibft: Use IBFT_SIGN instead of open-coding the search string.
    ibft: convert iscsi_ibft module to iscsi boot lib
    ibft: separate ibft parsing from sysfs interface
    ibft: For UEFI machines actually do scan ACPI for iBFT.
    ibft: Update iBFT handling for v1.03 of the spec.

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
    amd64_edac: Minor formatting fix
    amd64_edac: Fix operator precendence error
    edac, mc: Improve scrub rate handling
    amd64_edac: Correct scrub rate setting
    amd64_edac: Fix DCT base address selector
    amd64_edac: Remove polling mechanism
    x86, mce: Notify about corrected events too
    amd64_edac: Remove unneeded defines
    edac: Remove EDAC_DEBUG_VERBOSE
    amd64_edac: Sanitize syndrome extraction

    Linus Torvalds
     
  • Commit 8f92054e7ca1 ("CRED: Fix __task_cred()'s lockdep check and banner
    comment") fixed the lockdep checks on __task_cred(). This has shown up
    a place in the signalling code where a lock should be held - namely that
    check_kill_permission() requires its callers to hold the RCU lock.

    Fix group_send_sig_info() to get the RCU read lock around its call to
    check_kill_permission().

    Without this patch, the following warning can occur:

    ===================================================
    [ INFO: suspicious rcu_dereference_check() usage. ]
    ---------------------------------------------------
    kernel/signal.c:660 invoked rcu_dereference_check() without protection!
    ...

    Reported-by: Tetsuo Handa
    Signed-off-by: David Howells
    Acked-by: Oleg Nesterov
    Signed-off-by: Linus Torvalds

    David Howells
     
  • bd_prepare_to_claim() incorrectly allowed multiple attempts for
    exclusive open to progress in parallel if the attempting holders are
    identical. This triggered BUG_ON() as reported in the following bug.

    https://bugzilla.kernel.org/show_bug.cgi?id=16393

    __bd_abort_claiming() is used to finish claiming blocks and doesn't
    work if multiple openers are inside a claiming block. Allowing
    multiple parallel open attempts to continue doesn't gain anything as
    those are serialized down in the call chain anyway. Fix it by always
    allowing only single open attempt in a claiming block.

    This problem can easily be reproduced by adding a delay after
    bd_prepare_to_claim() and attempting to mount two partitions of a
    disk.

    stable: only applicable to v2.6.35

    Signed-off-by: Tejun Heo
    Reported-by: Markus Trippelsdorf
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Tejun Heo
     
  • The firmware handles '\t' internally, so stop trying to emulate it
    (which, incidentally, had a bug in it.)

    Fixes a really weird hang at bootup in rcu_bootup_announce, which,
    as far as I can tell, is the first printk in the core kernel to use
    a tab as the first character.

    Cc: stable@kernel.org
    Signed-off-by: Kyle McMartin
    Signed-off-by: Linus Torvalds

    Kyle McMartin
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
    PM / Runtime: Add runtime PM statistics (v3)
    PM / Runtime: Make runtime_status attribute not debug-only (v. 2)
    PM: Do not use dynamically allocated objects in pm_wakeup_event()
    PM / Suspend: Fix ordering of calls in suspend error paths
    PM / Hibernate: Fix snapshot error code path
    PM / Hibernate: Fix hibernation_platform_enter()
    pm_qos: Get rid of the allocation in pm_qos_add_request()
    pm_qos: Reimplement using plists
    plist: Add plist_last
    PM: Make it possible to avoid races between wakeup and system sleep
    PNPACPI: Add support for remote wakeup
    PM: describe kernel policy regarding wakeup defaults (v. 2)
    PM / Hibernate: Fix typos in comments in kernel/power/swap.c

    Linus Torvalds
     
  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
    [CPUFREQ] Remove pointless printk from p4-clockmod.
    [CPUFREQ] Fix section mismatch for powernow_cpu_init in powernow-k7.c
    [CPUFREQ] Fix section mismatch for longhaul_cpu_init.
    [CPUFREQ] Fix section mismatch for longrun_cpu_init.
    [CPUFREQ] powernow-k8: Fix misleading variable naming
    [CPUFREQ] Convert pci_table entries to PCI_VDEVICE (if PCI_ANY_ID is used)
    [CPUFREQ] arch/x86/kernel/cpu/cpufreq: use for_each_pci_dev()
    [CPUFREQ] fix brace coding style issue.
    [CPUFREQ] x86 cpufreq: Make trace_power_frequency cpufreq driver independent
    [CPUFREQ] acpi-cpufreq: Fix CPU_ANY CPUFREQ_{PRE,POST}CHANGE notification
    [CPUFREQ] ondemand: don't synchronize sample rate unless multiple cpus present
    [CPUFREQ] unexport (un)lock_policy_rwsem* functions
    [CPUFREQ] ondemand: Refactor frequency increase code
    [CPUFREQ] powernow-k8: On load failure, remind the user to enable support in BIOS setup
    [CPUFREQ] powernow-k8: Limit Pstate transition latency check
    [CPUFREQ] Fix PCC driver error path
    [CPUFREQ] fix double freeing in error path of pcc-cpufreq
    [CPUFREQ] pcc driver should check for pcch method before calling _OSC
    [CPUFREQ] fix memory leak in cpufreq_add_dev
    [CPUFREQ] revert "[CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second call site)"

    Manually fix up non-data merge conflict introduced by new calling
    conventions for trace_power_start() in commit 6f4f2723d085 ("x86
    cpufreq: Make trace_power_frequency cpufreq driver independent"), which
    didn't update the intel_idle native hardware cpuidle driver.

    Linus Torvalds
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: (88 commits)
    ips driver: make it less chatty
    intel_scu_ipc: fix size field for intel_scu_ipc_command
    intel_scu_ipc: return -EIO for error condition in busy_loop
    intel_scu_ipc: fix data packing of PMIC command on Moorestown
    Clean up command packing on MRST.
    zero the stack buffer before giving random garbage to the SCU
    Fix stack buffer size for IPC writev messages
    intel_scu_ipc: Use the new cpu identification function
    intel_scu_ipc: tidy up unused bits
    Remove indirect read write api support.
    intel_scu_ipc: Support Medfield processors
    intel_scu_ipc: detect CPU type automatically
    x86 plat: limit x86 platform driver menu to X86
    acpi ec_sys: Be more cautious about ec write access
    acpi ec: Fix possible double io port registration
    hp-wmi: acpi_drivers.h is already included through acpi.h two lines below
    hp-wmi: Fix mixing up of and/or directive
    dell-laptop: make dell_laptop_i8042_filter() static
    asus-laptop: fix asus_input_init error path
    msi-wmi: make needlessly global symbols static
    ...

    Linus Torvalds
     
  • * 'kvm-updates/2.6.36' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (198 commits)
    KVM: VMX: Fix host GDT.LIMIT corruption
    KVM: MMU: using __xchg_spte more smarter
    KVM: MMU: cleanup spte set and accssed/dirty tracking
    KVM: MMU: don't atomicly set spte if it's not present
    KVM: MMU: fix page dirty tracking lost while sync page
    KVM: MMU: fix broken page accessed tracking with ept enabled
    KVM: MMU: add missing reserved bits check in speculative path
    KVM: MMU: fix mmu notifier invalidate handler for huge spte
    KVM: x86 emulator: fix xchg instruction emulation
    KVM: x86: Call mask notifiers from pic
    KVM: x86: never re-execute instruction with enabled tdp
    KVM: Document KVM_GET_SUPPORTED_CPUID2 ioctl
    KVM: x86: emulator: inc/dec can have lock prefix
    KVM: MMU: Eliminate redundant temporaries in FNAME(fetch)
    KVM: MMU: Validate all gptes during fetch, not just those used for new pages
    KVM: MMU: Simplify spte fetch() function
    KVM: MMU: Add gpte_valid() helper
    KVM: MMU: Add validate_direct_spte() helper
    KVM: MMU: Add drop_large_spte() helper
    KVM: MMU: Use __set_spte to link shadow pages
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (57 commits)
    Input: adp5588-keypad - fix NULL dereference in adp5588_gpio_add()
    Input: cy8ctmg110 - capacitive touchscreen support
    Input: keyboard - also match braille-only keyboards
    Input: adp5588-keys - export unused GPIO pins
    Input: xpad - add product ID for Hori Fighting Stick EX2
    Input: adxl34x - fix leak and use after free
    Input: samsung-keypad - Add samsung keypad driver
    Input: i8042 - reset keyboard controller wehen resuming from S2R
    Input: synaptics - set min/max for finger width
    Input: synaptics - only report width on hardware that supports it
    Input: evdev - signal that device is writable in evdev_poll()
    Input: mousedev - signal that device is writable in mousedev_poll()
    Input: change input handlers to use bool when possible
    Input: document the MT event slot protocol
    Input: introduce MT event slots
    Input: usbtouchscreen - implement reset_resume
    Input: usbtouchscreen - implement runtime power management
    Input: usbtouchscreen - implement basic suspend/resume
    Input: Add ATMEL QT602240 touchscreen driver
    Input: fix signedness warning in input_set_keycode()
    ...

    Linus Torvalds
     
  • * 'v4l_for_2.6.35' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (243 commits)
    V4L/DVB: sms: Convert IR support to use the Remote Controller core
    V4L/DVB: sms: properly initialize IR phys and IR name
    V4L/DVB: standardize names at rc-dib0700 tables
    V4L/DVB: smsusb: enable IR port for Hauppauge WinTV MiniStick
    V4L/DVB: dib0700: Fix RC protocol logic to properly handle NEC/NECx and RC-5
    V4L/DVB: dib0700: properly implement IR change_protocol
    V4L/DVB: dib0700: break keytable into NEC and RC-5 variants
    V4L/DVB: dib0700: avoid bad repeat
    V4L/DVB: Port dib0700 to rc-core
    V4L/DVB: Add a keymap file with dib0700 table
    V4L/DVB: dvb-usb: add support for rc-core mode
    V4L/DVB: dvb-usb: prepare drivers for using rc-core
    V4L/DVB: dvb-usb: get rid of struct dvb_usb_rc_key
    V4L/DVB: rj54n1cb0c: fix a comment in the driver
    V4L/DVB: V4L2: sh_vou: VOU does support the full PAL resolution too
    V4L/DVB: V4L2: sh_mobile_camera_ceu: add support for CSI2
    V4L/DVB: V4L2: soc-camera: add a MIPI CSI-2 driver for SH-Mobile platforms
    V4L/DVB: V4L2: soc-camera: export soc-camera bus type for notifications
    V4L/DVB: V4L2: mediabus: add 12-bit Bayer and YUV420 pixel formats
    V4L/DVB: mediabus: fix ambiguous pixel code names
    ...

    Linus Torvalds
     
  • …/git/konrad/swiotlb-2.6

    * 'stable/swiotlb-0.8.3' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb-2.6:
    swiotlb: Make swiotlb bookkeeping functions visible in the header file.
    swiotlb: search and replace "int dir" with "enum dma_data_direction dir"
    swiotlb: Make internal bookkeeping functions have 'swiotlb_tbl' prefix.
    swiotlb: add the swiotlb initialization function with iotlb memory
    swiotlb: add swiotlb_tbl_map_single library function

    Linus Torvalds
     
  • …s/security-testing-2.6

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (90 commits)
    AppArmor: fix build warnings for non-const use of get_task_cred
    selinux: convert the policy type_attr_map to flex_array
    AppArmor: Enable configuring and building of the AppArmor security module
    TOMOYO: Use pathname specified by policy rather than execve()
    AppArmor: update path_truncate method to latest version
    AppArmor: core policy routines
    AppArmor: policy routines for loading and unpacking policy
    AppArmor: mediation of non file objects
    AppArmor: LSM interface, and security module initialization
    AppArmor: Enable configuring and building of the AppArmor security module
    AppArmor: update Maintainer and Documentation
    AppArmor: functions for domain transitions
    AppArmor: file enforcement routines
    AppArmor: userspace interfaces
    AppArmor: dfa match engine
    AppArmor: contexts used in attaching policy to system objects
    AppArmor: basic auditing infrastructure.
    AppArmor: misc. base functions and defines
    TOMOYO: Update version to 2.3.0
    TOMOYO: Fix quota check.
    ...

    Linus Torvalds
     

04 Aug, 2010

7 commits