lkml.org 
[lkml]   [2020]   [Apr]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patches in this message
    /
    From
    Subject[PATCH 4.19 020/131] kernel/gcov/fs.c: gcov_seq_next() should increase position index
    Date
    From: Vasily Averin <vvs@virtuozzo.com>

    [ Upstream commit f4d74ef6220c1eda0875da30457bef5c7111ab06 ]

    If seq_file .next function does not change position index, read after
    some lseek can generate unexpected output.

    https://bugzilla.kernel.org/show_bug.cgi?id=206283
    Signed-off-by: Vasily Averin <vvs@virtuozzo.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Acked-by: Peter Oberparleiter <oberpar@linux.ibm.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Davidlohr Bueso <dave@stgolabs.net>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Manfred Spraul <manfred@colorfullife.com>
    Cc: NeilBrown <neilb@suse.com>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Waiman Long <longman@redhat.com>
    Link: http://lkml.kernel.org/r/f65c6ee7-bd00-f910-2f8a-37cc67e4ff88@virtuozzo.com
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    kernel/gcov/fs.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/kernel/gcov/fs.c b/kernel/gcov/fs.c
    index 6e40ff6be083d..291e0797125b6 100644
    --- a/kernel/gcov/fs.c
    +++ b/kernel/gcov/fs.c
    @@ -109,9 +109,9 @@ static void *gcov_seq_next(struct seq_file *seq, void *data, loff_t *pos)
    {
    struct gcov_iterator *iter = data;

    + (*pos)++;
    if (gcov_iter_next(iter))
    return NULL;
    - (*pos)++;

    return iter;
    }
    --
    2.20.1


    sizeof(kctl->id.name));
    +
    + if (check_mapped_name(map, kctl->id.name, sizeof(kctl->id.name)))
    + strlcat(kctl->id.name, " Jack", sizeof(kctl->id.name));
    + else
    + get_connector_control_name(mixer, term, is_input, kctl->id.name,
    + sizeof(kctl->id.name));
    kctl->private_free = snd_usb_mixer_elem_free;
    snd_usb_mixer_add_control(&cval->head, kctl);
    }
    diff --git a/sound/usb/mixer_maps.c b/sound/usb/mixer_maps.c
    index b4e77000f441e..fb2c4a992951b 100644
    --- a/sound/usb/mixer_maps.c
    +++ b/sound/usb/mixer_maps.c
    @@ -369,6 +369,24 @@ static const struct usbmix_name_map asus_rog_map[] = {
    {}
    };

    +/* TRX40 mobos with Realtek ALC1220-VB */
    +static const struct usbmix_name_map trx40_mobo_map[] = {
    + { 18, NULL }, /* OT, IEC958 - broken response, disabled */
    + { 19, NULL, 12 }, /* FU, Input Gain Pad - broken response, disabled */
    + { 16, "Speaker" }, /* OT */
    + { 22, "Speaker Playback" }, /* FU */
    + { 7, "Line" }, /* IT */
    + { 19, "Line Capture" }, /* FU */
    + { 17, "Front Headphone" }, /* OT */
    + { 23, "Front Headphone Playback" }, /* FU */
    + { 8, "Mic" }, /* IT */
    + { 20, "Mic Capture" }, /* FU */
    + { 9, "Front Mic" }, /* IT */
    + { 21, "Front Mic Capture" }, /* FU */
    + { 24, "IEC958 Playback" }, /* FU */
    + {}
    +};
    +
    /*
    * Control map entries
    */
    @@ -500,7 +518,7 @@ static const struct usbmix_ctl_map usbmix_ctl_maps[] = {
    },
    { /* Gigabyte TRX40 Aorus Pro WiFi */
    .id = USB_ID(0x0414, 0xa002),
    - .map = asus_rog_map,
    + .map = trx40_mobo_map,
    },
    { /* ASUS ROG Zenith II */
    .id = USB_ID(0x0b05, 0x1916),
    @@ -512,11 +530,11 @@ static const struct usbmix_ctl_map usbmix_ctl_maps[] = {
    },
    { /* MSI TRX40 Creator */
    .id = USB_ID(0x0db0, 0x0d64),
    - .map = asus_rog_map,
    + .map = trx40_mobo_map,
    },
    { /* MSI TRX40 */
    .id = USB_ID(0x0db0, 0x543d),
    - .map = asus_rog_map,
    + .map = trx40_mobo_map,
    },
    { 0 } /* terminator */
    };
    diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
    index dcaf9eed9a415..8c2f5c23e1b43 100644
    --- a/sound/usb/quirks-table.h
    +++ b/sound/usb/quirks-table.h
    @@ -3635,4 +3635,18 @@ AU0828_DEVICE(0x2040, 0x7270, "Hauppauge", "HVR-950Q"),
    }
    },

    +#define ALC1220_VB_DESKTOP(vend, prod) { \
    + USB_DEVICE(vend, prod), \
    + .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { \
    + .vendor_name = "Realtek", \
    + .product_name = "ALC1220-VB-DT", \
    + .profile_name = "Realtek-ALC1220-VB-Desktop", \
    + .ifnum = QUIRK_NO_INTERFACE \
    + } \
    +}
    +ALC1220_VB_DESKTOP(0x0414, 0xa002), /* Gigabyte TRX40 Aorus Pro WiFi */
    +ALC1220_VB_DESKTOP(0x0db0, 0x0d64), /* MSI TRX40 Creator */
    +ALC1220_VB_DESKTOP(0x0db0, 0x543d), /* MSI TRX40 */
    +#undef ALC1220_VB_DESKTOP
    +
    #undef USB_DEVICE_VENDOR_SPEC
    --
    2.20.1


    \
     
     \ /
      Last update: 2020-04-28 20:58    [W:3.147 / U:0.188 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site