19 Jan, 2012

1 commit

  • * git://git.infradead.org/users/willy/linux-nvme: (105 commits)
    NVMe: Set number of queues correctly
    NVMe: Version 0.8
    NVMe: Set queue flags correctly
    NVMe: Simplify nvme_unmap_user_pages
    NVMe: Mark the end of the sg list
    NVMe: Fix DMA mapping for admin commands
    NVMe: Rename IO_TIMEOUT to NVME_IO_TIMEOUT
    NVMe: Merge the nvme_bio and nvme_prp data structures
    NVMe: Change nvme_completion_fn to take a dev
    NVMe: Change get_nvmeq to take a dev instead of a namespace
    NVMe: Simplify completion handling
    NVMe: Update Identify Controller data structure
    NVMe: Implement doorbell stride capability
    NVMe: Version 0.7
    NVMe: Don't probe namespace 0
    Fix calculation of number of pages in a PRP List
    NVMe: Create nvme_identify and nvme_get_features functions
    NVMe: Fix memory leak in nvme_dev_add()
    NVMe: Fix calls to dma_unmap_sg
    NVMe: Correct sg list setup in nvme_map_user_pages
    ...

    Linus Torvalds
     

18 Jan, 2012

24 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (47 commits)
    tg3: Fix single-vector MSI-X code
    openvswitch: Fix multipart datapath dumps.
    ipv6: fix per device IP snmp counters
    inetpeer: initialize ->redirect_genid in inet_getpeer()
    net: fix NULL-deref in WARN() in skb_gso_segment()
    net: WARN if skb_checksum_help() is called on skb requiring segmentation
    caif: Remove bad WARN_ON in caif_dev
    caif: Fix typo in Vendor/Product-ID for CAIF modems
    bnx2x: Disable AN KR work-around for BCM57810
    bnx2x: Remove AutoGrEEEn for BCM84833
    bnx2x: Remove 100Mb force speed for BCM84833
    bnx2x: Fix PFC setting on BCM57840
    bnx2x: Fix Super-Isolate mode for BCM84833
    net: fix some sparse errors
    net: kill duplicate included header
    net: sh-eth: Fix build error by the value which is not defined
    net: Use device model to get driver name in skb_gso_segment()
    bridge: BH already disabled in br_fdb_cleanup()
    net: move sock_update_memcg outside of CONFIG_INET
    mwl8k: Fixing Sparse ENDIAN CHECK warning
    ...

    Linus Torvalds
     
  • * 'next' of git://git.infradead.org/users/vkoul/slave-dma: (53 commits)
    ARM: mach-shmobile: specify CHCLR registers on SH7372
    dma: shdma: fix runtime PM: clear channel buffers on reset
    dma/imx-sdma: save irq flags when use spin_lock in sdma_tx_submit
    dmaengine/ste_dma40: clear LNK on channel startup
    dmaengine: intel_mid_dma: remove legacy pm interface
    ASoC: mxs: correct 'direction' of device_prep_dma_cyclic
    dmaengine: intel_mid_dma: error path fix
    dmaengine: intel_mid_dma: locking and freeing fixes
    mtd: gpmi-nand: move to dma_transfer_direction
    mtd: fix compile error for gpmi-nand
    mmc: mxs-mmc: fix the dma_transfer_direction migration
    dmaengine: add DMA_TRANS_NONE to dma_transfer_direction
    dma: mxs-dma: Don't use CLKGATE bits in CTRL0 to disable DMA channels
    dma: mxs-dma: make mxs_dma_prep_slave_sg() multi user safe
    dma: mxs-dma: Always leave mxs_dma_init() with the clock disabled.
    dma: mxs-dma: fix a typo in comment
    DMA: PL330: Remove pm_runtime_xxx calls from pl330 probe/remove
    video i.MX IPU: Fix display connections
    i.MX IPU DMA: Fix wrong burstsize settings
    dmaengine/ste_dma40: allow fixed physical channel
    ...

    Fix up conflicts in drivers/dma/{Kconfig,mxs-dma.c,pl330.c}

    The conflicts looked pretty trivial, but I'll ask people to verify them.

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
    integrity: digital signature config option name change
    lib: Removed MPILIB, MPILIB_EXTRA, and SIGNATURE prompts
    lib: MPILIB Kconfig description update
    lib: digital signature dependency fix
    lib: digital signature config option name change
    encrypted-keys: fix rcu and sparse messages
    keys: fix trusted/encrypted keys sparse rcu_assign_pointer messages
    KEYS: Add missing smp_rmb() primitives to the keyring search code
    TOMOYO: Accept \000 as a valid character.
    security: update MAINTAINERS file with new git repo

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit: (29 commits)
    audit: no leading space in audit_log_d_path prefix
    audit: treat s_id as an untrusted string
    audit: fix signedness bug in audit_log_execve_info()
    audit: comparison on interprocess fields
    audit: implement all object interfield comparisons
    audit: allow interfield comparison between gid and ogid
    audit: complex interfield comparison helper
    audit: allow interfield comparison in audit rules
    Kernel: Audit Support For The ARM Platform
    audit: do not call audit_getname on error
    audit: only allow tasks to set their loginuid if it is -1
    audit: remove task argument to audit_set_loginuid
    audit: allow audit matching on inode gid
    audit: allow matching on obj_uid
    audit: remove audit_finish_fork as it can't be called
    audit: reject entry,always rules
    audit: inline audit_free to simplify the look of generic code
    audit: drop audit_set_macxattr as it doesn't do anything
    audit: inline checks for not needing to collect aux records
    audit: drop some potentially inadvisable likely notations
    ...

    Use evil merge to fix up grammar mistakes in Kconfig file.

    Bad speling and horrible grammar (and copious swearing) is to be
    expected, but let's keep it to commit messages and comments, rather than
    expose it to users in config help texts or printouts.

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (62 commits)
    Btrfs: use larger system chunks
    Btrfs: add a delalloc mutex to inodes for delalloc reservations
    Btrfs: space leak tracepoints
    Btrfs: protect orphan block rsv with spin_lock
    Btrfs: add allocator tracepoints
    Btrfs: don't call btrfs_throttle in file write
    Btrfs: release space on error in page_mkwrite
    Btrfs: fix btrfsck error 400 when truncating a compressed
    Btrfs: do not use btrfs_end_transaction_throttle everywhere
    Btrfs: add balance progress reporting
    Btrfs: allow for resuming restriper after it was paused
    Btrfs: allow for canceling restriper
    Btrfs: allow for pausing restriper
    Btrfs: add skip_balance mount option
    Btrfs: recover balance on mount
    Btrfs: save balance parameters to disk
    Btrfs: soft profile changing mode (aka soft convert)
    Btrfs: implement online profile changing
    Btrfs: do not reduce profile in do_chunk_alloc()
    Btrfs: virtual address space subset filter
    ...

    Fix up trivial conflict in fs/btrfs/ioctl.c due to the use of the new
    mnt_drop_write_file() helper.

    Linus Torvalds
     
  • It was reported that DIGSIG is confusing name for digital signature
    module. It was suggested to rename DIGSIG to SIGNATURE.

    Requested-by: Linus Torvalds
    Suggested-by: Pavel Machek
    Signed-off-by: Dmitry Kasatkin
    Signed-off-by: James Morris

    Dmitry Kasatkin
     
  • Define rcu_assign_keypointer(), which uses the key payload.rcudata instead
    of payload.data, to resolve the CONFIG_SPARSE_RCU_POINTER message:
    "incompatible types in comparison expression (different address spaces)"

    Replace the rcu_assign_pointer() calls in encrypted/trusted keys with
    rcu_assign_keypointer().

    Signed-off-by: Mimi Zohar
    Signed-off-by: David Howells
    Signed-off-by: James Morris

    Mimi Zohar
     
  • This set of build failures just started appearing on parisc:

    In file included from drivers/input/serio/serio_raw.c:12:
    include/linux/kref.h: In function 'kref_get':
    include/linux/kref.h:40: error: 'TAINT_WARN' undeclared (first use in this function)
    include/linux/kref.h:40: error: (Each undeclared identifier is reported only once
    include/linux/kref.h:40: error: for each function it appears in.)
    include/linux/kref.h: In function 'kref_sub':
    include/linux/kref.h:65: error: 'TAINT_WARN' undeclared (first use in this function)

    It happens because TAINT_WARN is defined in kernel.h and this particular
    compile doesn't seem to include it (no idea why it's just manifesting ..
    probably some #include file untangling exposed it).

    Fix by adding

    #include

    to linux/kref.h

    Signed-off-by: James Bottomley
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Linus Torvalds

    James Bottomley
     
  • This allows audit to specify rules in which we compare two fields of a
    process. Such as is the running process uid != to the running process
    euid?

    Signed-off-by: Peter Moody
    Signed-off-by: Eric Paris

    Peter Moody
     
  • This completes the matrix of interfield comparisons between uid/gid
    information for the current task and the uid/gid information for inodes.
    aka I can audit based on differences between the euid of the process and
    the uid of fs objects.

    Signed-off-by: Peter Moody
    Signed-off-by: Eric Paris

    Peter Moody
     
  • Allow audit rules to compare the gid of the running task to the gid of the
    inode in question.

    Signed-off-by: Eric Paris

    Eric Paris
     
  • We wish to be able to audit when a uid=500 task accesses a file which is
    uid=0. Or vice versa. This patch introduces a new audit filter type
    AUDIT_FIELD_COMPARE which takes as an 'enum' which indicates which fields
    should be compared. At this point we only define the task->uid vs
    inode->uid, but other comparisons can be added.

    Signed-off-by: Eric Paris

    Eric Paris
     
  • The function always deals with current. Don't expose an option
    pretending one can use it for something. You can't.

    Signed-off-by: Eric Paris

    Eric Paris
     
  • Much like the ability to filter audit on the uid of an inode collected, we
    should be able to filter on the gid of the inode.

    Signed-off-by: Eric Paris

    Eric Paris
     
  • Allow syscall exit filter matching based on the uid of the owner of an
    inode used in a syscall. aka:

    auditctl -a always,exit -S open -F obj_uid=0 -F perm=wa

    Signed-off-by: Eric Paris

    Eric Paris
     
  • Audit entry,always rules are not allowed and are automatically changed in
    exit,always rules in userspace. The kernel refuses to load such rules.

    Thus a task in the middle of a syscall (and thus in audit_finish_fork())
    can only be in one of two states: AUDIT_BUILD_CONTEXT or AUDIT_DISABLED.
    Since the current task cannot be in AUDIT_RECORD_CONTEXT we aren't every
    going to actually use the code in audit_finish_fork() since it will
    return without doing anything. Thus drop the code.

    Signed-off-by: Eric Paris

    Eric Paris
     
  • make the conditional a static inline instead of doing it in generic code.

    Signed-off-by: Eric Paris

    Eric Paris
     
  • unused. deleted.

    Signed-off-by: Eric Paris

    Eric Paris
     
  • A number of audit hooks make function calls before they determine that
    auxilary records do not need to be collected. Do those checks as static
    inlines since the most common case is going to be that records are not
    needed and we can skip the function call overhead.

    Signed-off-by: Eric Paris

    Eric Paris
     
  • Every arch calls:

    if (unlikely(current->audit_context))
    audit_syscall_entry()

    which requires knowledge about audit (the existance of audit_context) in
    the arch code. Just do it all in static inline in audit.h so that arch's
    can remain blissfully ignorant.

    Signed-off-by: Eric Paris

    Eric Paris
     
  • The audit system previously expected arches calling to audit_syscall_exit to
    supply as arguments if the syscall was a success and what the return code was.
    Audit also provides a helper AUDITSC_RESULT which was supposed to simplify things
    by converting from negative retcodes to an audit internal magic value stating
    success or failure. This helper was wrong and could indicate that a valid
    pointer returned to userspace was a failed syscall. The fix is to fix the
    layering foolishness. We now pass audit_syscall_exit a struct pt_reg and it
    in turns calls back into arch code to collect the return value and to
    determine if the syscall was a success or failure. We also define a generic
    is_syscall_success() macro which determines success/failure based on if the
    value is < -MAX_ERRNO. This works for arches like x86 which do not use a
    separate mechanism to indicate syscall failure.

    We make both the is_syscall_success() and regs_return_value() static inlines
    instead of macros. The reason is because the audit function must take a void*
    for the regs. (uml calls theirs struct uml_pt_regs instead of just struct
    pt_regs so audit_syscall_exit can't take a struct pt_regs). Since the audit
    function takes a void* we need to use static inlines to cast it back to the
    arch correct structure to dereference it.

    The other major change is that on some arches, like ia64, MIPS and ppc, we
    change regs_return_value() to give us the negative value on syscall failure.
    THE only other user of this macro, kretprobe_example.c, won't notice and it
    makes the value signed consistently for the audit functions across all archs.

    In arch/sh/kernel/ptrace_64.c I see that we were using regs[9] in the old
    audit code as the return value. But the ptrace_64.h code defined the macro
    regs_return_value() as regs[3]. I have no idea which one is correct, but this
    patch now uses the regs_return_value() function, so it now uses regs[3].

    For powerpc we previously used regs->result but now use the
    regs_return_value() function which uses regs->gprs[3]. regs->gprs[3] is
    always positive so the regs_return_value(), much like ia64 makes it negative
    before calling the audit code when appropriate.

    Signed-off-by: Eric Paris
    Acked-by: H. Peter Anvin [for x86 portion]
    Acked-by: Tony Luck [for ia64]
    Acked-by: Richard Weinberger [for uml]
    Acked-by: David S. Miller [for sparc]
    Acked-by: Ralf Baechle [for mips]
    Acked-by: Benjamin Herrenschmidt [for ppc]

    Eric Paris
     
  • The audit system likes to collect information about processes that end
    abnormally (SIGSEGV) as this may me useful intrusion detection information.
    This patch adds audit support to collect information when seccomp forces a
    task to exit because of misbehavior in a similar way.

    Signed-off-by: Eric Paris

    Eric Paris
     
  • This field is unused since 2.6.28 (commit fe6e29fdb1a7: "tty: simplify
    ktermios allocation", to be exact)

    Signed-off-by: Konstantin Khlebnikov
    Signed-off-by: Linus Torvalds

    Konstantin Khlebnikov
     
  • David S. Miller
     

17 Jan, 2012

4 commits


16 Jan, 2012

5 commits

  • This patch partially reverts:
    3d058d7 netfilter: rework user-space expectation helper support
    that was applied during the 3.2 development cycle.

    After this patch, the tree remains just like before patch bc01bef,
    that initially added the preliminary infrastructure.

    I decided to partially revert this patch because the approach
    that I proposed to resolve this problem is broken in NAT setups.
    Moreover, a new infrastructure will be submitted for the 3.3.x
    development cycle that resolve the existing issues while
    providing a neat solution.

    Since nobody has been seriously using this infrastructure in
    user-space, the removal of this feature should affect any know
    FOSS project (to my knowledge).

    Signed-off-by: Pablo Neira Ayuso

    Pablo Neira Ayuso
     
  • * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (655 commits)
    [media] revert patch: HDIC HD29L2 DMB-TH USB2.0 reference design driver
    mb86a20s: Add a few more register settings at the init seq
    mb86a20s: Group registers into the same line
    [media] [PATCH] don't reset the delivery system on DTV_CLEAR
    [media] [BUG] it913x-fe fix typo error making SNR levels unstable
    [media] cx23885: Query the CX25840 during enum_input for status
    [media] cx25840: Add support for g_input_status
    [media] rc-videomate-m1f.c Rename to match remote controler name
    [media] drivers: media: au0828: Fix dependency for VIDEO_AU0828
    [media] convert drivers/media/* to use module_platform_driver()
    [media] drivers: video: cx231xx: Fix dependency for VIDEO_CX231XX_DVB
    [media] Exynos4 JPEG codec v4l2 driver
    [media] doc: v4l: selection: choose pixels as units for selection rectangles
    [media] v4l: s5p-tv: mixer: fix setup of VP scaling
    [media] v4l: s5p-tv: mixer: add support for selection API
    [media] v4l: emulate old crop API using extended crop/compose API
    [media] doc: v4l: add documentation for selection API
    [media] doc: v4l: add binary images for selection API
    [media] v4l: add support for selection api
    [media] hd29l2: fix review findings
    ...

    Linus Torvalds
     
  • * 'for-3.3/drivers' of git://git.kernel.dk/linux-block:
    mtip32xx: do rebuild monitoring asynchronously
    xen-blkfront: Use kcalloc instead of kzalloc to allocate array
    mtip32xx: uninitialized variable in mtip_quiesce_io()
    mtip32xx: updates based on feedback
    xen-blkback: convert hole punching to discard request on loop devices
    xen/blkback: Move processing of BLKIF_OP_DISCARD from dispatch_rw_block_io
    xen/blk[front|back]: Enhance discard support with secure erasing support.
    xen/blk[front|back]: Squash blkif_request_rw and blkif_request_discard together
    mtip32xx: update to new ->make_request() API
    mtip32xx: add module.h include to avoid conflict with moduleh tree
    mtip32xx: mark a few more items static
    mtip32xx: ensure that all local functions are static
    mtip32xx: cleanup compat ioctl handling
    mtip32xx: fix warnings/errors on 32-bit compiles
    block: Add driver for Micron RealSSD pcie flash cards

    Linus Torvalds
     
  • * 'for-3.3/core' of git://git.kernel.dk/linux-block: (37 commits)
    Revert "block: recursive merge requests"
    block: Stop using macro stubs for the bio data integrity calls
    blockdev: convert some macros to static inlines
    fs: remove unneeded plug in mpage_readpages()
    block: Add BLKROTATIONAL ioctl
    block: Introduce blk_set_stacking_limits function
    block: remove WARN_ON_ONCE() in exit_io_context()
    block: an exiting task should be allowed to create io_context
    block: ioc_cgroup_changed() needs to be exported
    block: recursive merge requests
    block, cfq: fix empty queue crash caused by request merge
    block, cfq: move icq creation and rq->elv.icq association to block core
    block, cfq: restructure io_cq creation path for io_context interface cleanup
    block, cfq: move io_cq exit/release to blk-ioc.c
    block, cfq: move icq cache management to block core
    block, cfq: move io_cq lookup to blk-ioc.c
    block, cfq: move cfqd->icq_list to request_queue and add request->elv.icq
    block, cfq: reorganize cfq_io_context into generic and cfq specific parts
    block: remove elevator_queue->ops
    block: reorder elevator switch sequence
    ...

    Fix up conflicts in:
    - block/blk-cgroup.c
    Switch from can_attach_task to can_attach
    - block/cfq-iosched.c
    conflict with now removed cic index changes (we now use q->id instead)

    Linus Torvalds
     
  • * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (39 commits)
    perf tools: Fix compile error on x86_64 Ubuntu
    perf report: Fix --stdio output alignment when --showcpuutilization used
    perf annotate: Get rid of field_sep check
    perf annotate: Fix usage string
    perf kmem: Fix a memory leak
    perf kmem: Add missing closedir() calls
    perf top: Add error message for EMFILE
    perf test: Change type of '-v' option to INCR
    perf script: Add missing closedir() calls
    tracing: Fix compile error when static ftrace is enabled
    recordmcount: Fix handling of elf64 big-endian objects.
    perf tools: Add const.h to MANIFEST to make perf-tar-src-pkg work again
    perf tools: Add support for guest/host-only profiling
    perf kvm: Do guest-only counting by default
    perf top: Don't update total_period on process_sample
    perf hists: Stop using 'self' for struct hist_entry
    perf hists: Rename total_session to total_period
    x86: Add counter when debug stack is used with interrupts enabled
    x86: Allow NMIs to hit breakpoints in i386
    x86: Keep current stack in NMI breakpoints
    ...

    Linus Torvalds
     

15 Jan, 2012

6 commits

  • * 'for-linus' of git://selinuxproject.org/~jmorris/linux-security:
    capabilities: remove __cap_full_set definition
    security: remove the security_netlink_recv hook as it is equivalent to capable()
    ptrace: do not audit capability check when outputing /proc/pid/stat
    capabilities: remove task_ns_* functions
    capabitlies: ns_capable can use the cap helpers rather than lsm call
    capabilities: style only - move capable below ns_capable
    capabilites: introduce new has_ns_capabilities_noaudit
    capabilities: call has_ns_capability from has_capability
    capabilities: remove all _real_ interfaces
    capabilities: introduce security_capable_noaudit
    capabilities: reverse arguments to security_capable
    capabilities: remove the task from capable LSM hook entirely
    selinux: sparse fix: fix several warnings in the security server cod
    selinux: sparse fix: fix warnings in netlink code
    selinux: sparse fix: eliminate warnings for selinuxfs
    selinux: sparse fix: declare selinux_disable() in security.h
    selinux: sparse fix: move selinux_complete_init
    selinux: sparse fix: make selinux_secmark_refcount static
    SELinux: Fix RCU deref check warning in sel_netport_insert()

    Manually fix up a semantic mis-merge wrt security_netlink_recv():

    - the interface was removed in commit fd7784615248 ("security: remove
    the security_netlink_recv hook as it is equivalent to capable()")

    - a new user of it appeared in commit a38f7907b926 ("crypto: Add
    userspace configuration API")

    causing no automatic merge conflict, but Eric Paris pointed out the
    issue.

    Linus Torvalds
     
  • Kmemleak patches

    Main features:
    - Handle percpu memory allocations (only scanning them, not actually
    reporting).
    - Memory hotplug support.

    Usability improvements:
    - Show the origin of early allocations.
    - Report previously found leaks even if kmemleak has been disabled by
    some error.

    * tag 'kmemleak' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux:
    kmemleak: Add support for memory hotplug
    kmemleak: Handle percpu memory allocation
    kmemleak: Report previously found leaks even after an error
    kmemleak: When the early log buffer is exceeded, report the actual number
    kmemleak: Show where early_log issues come from

    Linus Torvalds
     
  • * 'for-next' of git://git.infradead.org/users/dhowells/linux-headers:
    UAPI: Split trivial #if defined(__KERNEL__) && X conditionals
    UAPI: Don't have a #elif clause in a __KERNEL__ guard in linux/soundcard.h
    UAPI: Fix AHZ multiple inclusion when __KERNEL__ is removed
    UAPI: Make linux/patchkey.h easier to parse
    UAPI: Fix nested __KERNEL__ guards in video/edid.h
    UAPI: Alter the S390 asm include guards to be recognisable by the UAPI splitter
    UAPI: Guard linux/cuda.h
    UAPI: Guard linux/pmu.h
    UAPI: Guard linux/isdn_divertif.h
    UAPI: Guard linux/sound.h
    UAPI: Rearrange definition of HZ in asm-generic/param.h
    UAPI: Make FRV use asm-generic/param.h
    UAPI: Make M32R use asm-generic/param.h
    UAPI: Make MN10300 use asm-generic/param.h
    UAPI: elf_read_implies_exec() is a kernel-only feature - so hide from userspace
    UAPI: Don't include linux/compat.h in sparc's asm/siginfo.h
    UAPI: Fix arch/mips/include/asm/Kbuild to have separate header-y lines

    Linus Torvalds
     
  • * 'fbdev-next' of git://github.com/schandinat/linux-2.6: (175 commits)
    module_param: make bool parameters really bool (drivers/video/i810)
    Revert "atmel_lcdfb: Adjust HFP calculation so it matches the manual."
    OMAPDSS: HDMI: Disable DDC internal pull up
    OMAPDSS: HDMI: Move duplicate code from boardfile
    OMAPDSS: add OrtusTech COM43H4M10XTC display support
    OMAP: DSS2: Support for UMSH-8173MD TFT panel
    ASoC: OMAP: HDMI: Move HDMI codec trigger function to generic HDMI driver
    OMAPDSS: HDMI: Create function to enable HDMI audio
    ASoC: OMAP: HDMI: Correct signature of ASoC functions
    ASoC: OMAP: HDMI: Introduce driver data for audio codec
    grvga: fix section mismatch warnings
    video: s3c-fb: Don't keep device runtime active when open
    video: s3c-fb: Hold runtime PM references when touching registers
    video: s3c-fb: Take a runtime PM reference when unblanked
    video: s3c-fb: Disable runtime PM in error paths from probe
    video: s3c-fb: Use s3c_fb_enable() to enable the framebuffer
    video: s3c-fb: Make runtime PM functional again
    drivers/video: fsl-diu-fb: merge fsl_diu_alloc() into map_video_memory()
    drivers/video: fsl-diu-fb: add default platform ops functions
    drivers/video: fsl-diu-fb: remove broken reference count enabling the display
    ...

    Linus Torvalds
     
  • Linux allows executing the SG_IO ioctl on a partition or LVM volume, and
    will pass the command to the underlying block device. This is
    well-known, but it is also a large security problem when (via Unix
    permissions, ACLs, SELinux or a combination thereof) a program or user
    needs to be granted access only to part of the disk.

    This patch lets partitions forward a small set of harmless ioctls;
    others are logged with printk so that we can see which ioctls are
    actually sent. In my tests only CDROM_GET_CAPABILITY actually occurred.
    Of course it was being sent to a (partition on a) hard disk, so it would
    have failed with ENOTTY and the patch isn't changing anything in
    practice. Still, I'm treating it specially to avoid spamming the logs.

    In principle, this restriction should include programs running with
    CAP_SYS_RAWIO. If for example I let a program access /dev/sda2 and
    /dev/sdb, it still should not be able to read/write outside the
    boundaries of /dev/sda2 independent of the capabilities. However, for
    now programs with CAP_SYS_RAWIO will still be allowed to send the
    ioctls. Their actions will still be logged.

    This patch does not affect the non-libata IDE driver. That driver
    however already tests for bd != bd->bd_contains before issuing some
    ioctl; it could be restricted further to forbid these ioctls even for
    programs running with CAP_SYS_ADMIN/CAP_SYS_RAWIO.

    Cc: linux-scsi@vger.kernel.org
    Cc: Jens Axboe
    Cc: James Bottomley
    Signed-off-by: Paolo Bonzini
    [ Make it also print the command name when warning - Linus ]
    Signed-off-by: Linus Torvalds

    Paolo Bonzini
     
  • Introduce a wrapper around scsi_cmd_ioctl that takes a block device.

    The function will then be enhanced to detect partition block devices
    and, in that case, subject the ioctls to whitelisting.

    Cc: linux-scsi@vger.kernel.org
    Cc: Jens Axboe
    Cc: James Bottomley
    Signed-off-by: Paolo Bonzini
    Signed-off-by: Linus Torvalds

    Paolo Bonzini