07 Nov, 2011

1 commit

  • * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
    Revert "tracing: Include module.h in define_trace.h"
    irq: don't put module.h into irq.h for tracking irqgen modules.
    bluetooth: macroize two small inlines to avoid module.h
    ip_vs.h: fix implicit use of module_get/module_put from module.h
    nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
    include: replace linux/module.h with "struct module" wherever possible
    include: convert various register fcns to macros to avoid include chaining
    crypto.h: remove unused crypto_tfm_alg_modname() inline
    uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
    pm_runtime.h: explicitly requires notifier.h
    linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
    miscdevice.h: fix up implicit use of lists and types
    stop_machine.h: fix implicit use of smp.h for smp_processor_id
    of: fix implicit use of errno.h in include/linux/of.h
    of_platform.h: delete needless include
    acpi: remove module.h include from platform/aclinux.h
    miscdevice.h: delete unnecessary inclusion of module.h
    device_cgroup.h: delete needless include
    net: sch_generic remove redundant use of
    net: inet_timewait_sock doesnt need
    ...

    Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
    - drivers/media/dvb/frontends/dibx000_common.c
    - drivers/media/video/{mt9m111.c,ov6650.c}
    - drivers/mfd/ab3550-core.c
    - include/linux/dmaengine.h

    Linus Torvalds
     

06 Nov, 2011

1 commit

  • This was introduced by 'ALSA: control: add support for ENUMERATED user
    space controls' which adds a u64 variable that gets cast to a pointer:

    sound/core/control.c: In function 'snd_ctl_elem_init_enum_names':
    sound/core/control.c:1089: warning: cast to pointer from integer of different size

    Cast to uintptr_t before casting to pointer to avoid the warning.

    Signed-off-by: Olof Johansson
    [cl: replace long with uintptr_t]
    Signed-off-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Olof Johansson
     

01 Nov, 2011

1 commit


09 Oct, 2011

1 commit


24 Aug, 2011

2 commits


26 May, 2011

1 commit


22 Mar, 2011

1 commit

  • Add a function to dynamically replace a given control. If the
    control does not already exist, a third parameter is used to determine
    whether to actually add that control. This is useful in cases where
    downloadable firmware at runtime can add or replace existing controls.
    A separate patch needs to be made to allow ALSA Mixer to render the
    replaced controls on the fly.

    Signed-off-by: Dimitris Papastamos
    Signed-off-by: Takashi Iwai

    Dimitris Papastamos
     

18 Mar, 2011

1 commit


11 Mar, 2011

1 commit


08 Mar, 2011

2 commits

  • The return value of snd_ctl_hole_check() is used only to detect whether
    to continue the loop in snd_ctl_find_hole() or not, so we can simplify
    the code by changing this return type to a boolean. Also rename this
    function to better show what it actually does.

    Signed-off-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     
  • The purpose of the snd_ctl_hole_check() function is to find conflicts
    between the numerical IDs of the new control and those of any existing
    controls. However, it would fail to detect an existing control whose
    count is smaller than the new control's count and whose interval of IDs
    is entirely contained in the interval of the new control's IDs.

    To fix this, use the correct formula to detect overlapping intervals,
    which happens to simplify the condition.

    This problem was not encountered so far because ALSA does not yet allow
    drivers to allocate specific control IDs.

    Signed-off-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     

10 Jan, 2011

1 commit


29 Sep, 2010

1 commit

  • The snd_ctl_new() function in sound/core/control.c allocates space for a
    snd_kcontrol struct by performing arithmetic operations on a
    user-provided size without checking for integer overflow. If a user
    provides a large enough size, an overflow will occur, the allocated
    chunk will be too small, and a second user-influenced value will be
    written repeatedly past the bounds of this chunk. This code is
    reachable by unprivileged users who have permission to open
    a /dev/snd/controlC* device (on many distros, this is group "audio") via
    the SNDRV_CTL_IOCTL_ELEM_ADD and SNDRV_CTL_IOCTL_ELEM_REPLACE ioctls.

    Signed-off-by: Dan Rosenberg
    Cc:
    Signed-off-by: Takashi Iwai

    Dan Rosenberg
     

13 Apr, 2010

1 commit

  • Set no_llseek to llseek file ops of each sound component (but for hwdep).
    This avoids the implicit BKL invocation via generic_file_llseek() used
    as default when fops.llseek is NULL.

    Also call nonseekable_open() at each open ops to ensure the file flags
    have no seek bit.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

01 Feb, 2010

2 commits


04 Dec, 2009

1 commit


18 Nov, 2009

1 commit

  • This function is only called from snd_ctl_ioctl() and the file parameter
    can never be null so there is no need to check it here.

    We dereference file at the start of the function:
    struct snd_card *card = file->card;
    and it confuses static checkers to dereference a pointer before
    checking it.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Takashi Iwai

    Dan Carpenter
     

06 Nov, 2009

2 commits


17 Aug, 2009

4 commits


14 Apr, 2009

1 commit


16 Mar, 2009

1 commit

  • Most fasync implementations do something like:

    return fasync_helper(...);

    But fasync_helper() will return a positive value at times - a feature used
    in at least one place. Thus, a number of other drivers do:

    err = fasync_helper(...);
    if (err < 0)
    return err;
    return 0;

    In the interests of consistency and more concise code, it makes sense to
    map positive return values onto zero where ->fasync() is called.

    Cc: Al Viro
    Signed-off-by: Jonathan Corbet

    Jonathan Corbet
     

02 Nov, 2008

1 commit

  • As it is, all instances of ->release() for files that have ->fasync()
    need to remember to evict file from fasync lists; forgetting that
    creates a hole and we actually have a bunch that *does* forget.

    So let's keep our lives simple - let __fput() check FASYNC in
    file->f_flags and call ->fasync() there if it's been set. And lose that
    crap in ->release() instances - leaving it there is still valid, but we
    don't have to bother anymore.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     

29 Oct, 2008

1 commit


09 Sep, 2008

1 commit


13 Aug, 2008

1 commit


13 Jun, 2008

1 commit


01 Feb, 2008

2 commits

  • This header file exists only for some hacks to adapt alsa-driver
    tree. It's useless for building in the kernel. Let's move a few
    lines in it to sound/core.h and remove it.
    With this patch, sound/driver.h isn't removed but has just a single
    compile warning to include it. This should be really killed in
    future.

    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Takashi Iwai
     
  • This patch removes the indirect control access to the control elements.
    The indirect access has never been used and is even broken on 32bit
    ioctl wrapper. Let's clean it up.
    The pointers still remain in snd_ctl_elem_* structs just to make sure
    that the struct size won't change. Once after checking the size
    consistency, we can get rid of them, too.

    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Takashi Iwai
     

23 Oct, 2007

1 commit


16 Oct, 2007

3 commits


09 May, 2007

1 commit


13 Feb, 2007

1 commit

  • Many struct file_operations in the kernel can be "const". Marking them const
    moves these to the .rodata section, which avoids false sharing with potential
    dirty data. In addition it'll catch accidental writes at compile time to
    these shared resources.

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arjan van de Ven