Linux 4.14.234
Greg Kroah-Hartman
maintainerMakefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 4 PATCHLEVEL = 14 -SUBLEVEL = 233 +SUBLEVEL = 234 EXTRAVERSION = NAME = Petit Gorille
arch/openrisc/kernel/setup.c +2 -0
@@ -260,6 +260,8 @@ void calibrate_delay(void)pr_cont ("%lu.%02lu BogoMIPS (lpj=%lu)\n" , loops_per_jiffy / (500000 /HZ ), (loops_per_jiffy / (5000 /HZ )) %100 , loops_per_jiffy); + +of_node_put (cpu); }void __init setup_arch (char **cmdline_p)
drivers/cdrom/gdrom.c +10 -3
@@ -775,6 +775,13 @@ static int probe_gdrom_setupqueue(void)static int probe_gdrom (struct platform_device *devptr) {int err; + +/* +* Ensure our "one" device is initialized properly in case of previous +* usages of it +*/ +memset (&gd,0 ,sizeof (gd)); +/* Start the device */ if (gdrom_execute_diagnostic () !=1 ) {pr_warning ("ATA Probe for GDROM failed\n" );
@@ -857,6 +864,8 @@ static int remove_gdrom(struct platform_device *devptr)if (gdrom_major)unregister_blkdev (gdrom_major,GDROM_DEV_NAME );unregister_cdrom (gd.cd_info); +kfree (gd.cd_info); +kfree (gd.toc);return 0 ; }
@@ -872,7 +881,7 @@ static struct platform_driver gdrom_driver = {static int __init init_gdrom (void ) {int rc; - gd.toc =NULL ; + rc =platform_driver_register (&gdrom_driver);if (rc)return rc;
@@ -888,8 +897,6 @@ static void __exit exit_gdrom(void) {platform_device_unregister (pd);platform_driver_unregister (&gdrom_driver); -kfree (gd.toc); -kfree (gd.cd_info); }module_init (init_gdrom);
drivers/hwmon/lm80.c +2 -9
@@ -630,7 +630,6 @@ static int lm80_probe(struct i2c_client *client,struct device *dev = &client->dev;struct device *hwmon_dev;struct lm80_data *data; -int rv; data =devm_kzalloc (dev,sizeof (struct lm80_data ),GFP_KERNEL );if (!data)
@@ -643,14 +642,8 @@ static int lm80_probe(struct i2c_client *client,lm80_init_client (client);/* A few vars need to be filled upon startup */ - rv =lm80_read_value (client,LM80_REG_FAN_MIN (1 )); -if (rv <0 ) -return rv; - data->fan[f_min][0 ] = rv; - rv =lm80_read_value (client,LM80_REG_FAN_MIN (2 )); -if (rv <0 ) -return rv; - data->fan[f_min][1 ] = rv; + data->fan[f_min][0 ] =lm80_read_value (client,LM80_REG_FAN_MIN (1 )); + data->fan[f_min][1 ] =lm80_read_value (client,LM80_REG_FAN_MIN (2 )); hwmon_dev =devm_hwmon_device_register_with_groups (dev, client->name, data, lm80_groups);
drivers/infiniband/sw/rxe/rxe_qp.c +7 -0
@@ -258,6 +258,7 @@ static int rxe_qp_init_req(struct rxe_dev *rxe, struct rxe_qp *qp,if (err) {vfree (qp->sq.queue->buf);kfree (qp->sq.queue); + qp->sq.queue =NULL ;return err; }
@@ -311,6 +312,7 @@ static int rxe_qp_init_resp(struct rxe_dev *rxe, struct rxe_qp *qp,if (err) {vfree (qp->rq.queue->buf);kfree (qp->rq.queue); + qp->rq.queue =NULL ;return err; } }
@@ -370,6 +372,11 @@ int rxe_qp_from_init(struct rxe_dev *rxe, struct rxe_qp *qp, struct rxe_pd *pd, err2:rxe_queue_cleanup (qp->sq.queue); err1: + qp->pd =NULL ; + qp->rcq =NULL ; + qp->scq =NULL ; + qp->srq =NULL ; +if (srq)rxe_drop_ref (srq);rxe_drop_ref (scq);
drivers/leds/leds-lp5523.c +1 -1
@@ -320,7 +320,7 @@ static int lp5523_init_program_engine(struct lp55xx_chip *chip)usleep_range (3000 ,6000 ); ret =lp55xx_read (chip,LP5523_REG_STATUS , &status);if (ret) -return ret; + goto out; status &=LP5523_ENG_STATUS_MASK ;if (status !=LP5523_ENG_STATUS_MASK ) {
drivers/md/dm-snap.c +1 -0
@@ -1286,6 +1286,7 @@ static int snapshot_ctr(struct dm_target *ti, unsigned int argc, char **argv)if (!s->store->chunk_size) { ti->error ="Chunk size not set" ; + r = -EINVAL ; goto bad_read_metadata; }
drivers/media/platform/rcar_drif.c +0 -1
@@ -915,7 +915,6 @@ static int rcar_drif_g_fmt_sdr_cap(struct file *file, void *priv, {struct rcar_drif_sdr *sdr =video_drvdata (file); -memset (f->fmt.sdr.reserved,0 ,sizeof (f->fmt.sdr.reserved)); f->fmt.sdr.pixelformat = sdr->fmt->pixelformat; f->fmt.sdr.buffersize = sdr->fmt->buffersize;
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c +2 -1
@@ -1048,7 +1048,7 @@ int qlcnic_do_lb_test(struct qlcnic_adapter *adapter, u8 mode)for (i =0 ; i <QLCNIC_NUM_ILB_PKT ; i++) { skb =netdev_alloc_skb (adapter->netdev,QLCNIC_ILB_PKT_SIZE );if (!skb) -break ; + goto error;qlcnic_create_loopback_buff (skb->data, adapter->mac_addr);skb_put (skb,QLCNIC_ILB_PKT_SIZE ); adapter->ahw->diag_cnt =0 ;
@@ -1072,6 +1072,7 @@ int qlcnic_do_lb_test(struct qlcnic_adapter *adapter, u8 mode) cnt++; }if (cnt != i) { +error:dev_err (&adapter->pdev->dev,"LB Test: failed, TX[%d], RX[%d]\n" , i, cnt);if (mode !=QLCNIC_ILB_MODE )
drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c +4 -4
@@ -39,7 +39,7 @@ struct sunxi_priv_data {static int sun7i_gmac_init (struct platform_device *pdev,void *priv) {struct sunxi_priv_data *gmac = priv; -int ret; +int ret =0 ;if (gmac->regulator) { ret =regulator_enable (gmac->regulator);
@@ -60,11 +60,11 @@ static int sun7i_gmac_init(struct platform_device *pdev, void *priv) }else {clk_set_rate (gmac->tx_clk,SUN7I_GMAC_MII_RATE ); ret =clk_prepare (gmac->tx_clk); -if (ret) -return ret; +if (ret && gmac->regulator) +regulator_disable (gmac->regulator); } -return 0 ; +return ret; }static void sun7i_gmac_exit (struct platform_device *pdev,void *priv)
drivers/net/ethernet/sun/niu.c +20 -12
@@ -8164,10 +8164,10 @@ static int niu_pci_vpd_scan_props(struct niu *np, u32 start, u32 end)"VPD_SCAN: Reading in property [%s] len[%d]\n" , namebuf, prop_len);for (i =0 ; i < prop_len; i++) { - err =niu_pci_eeprom_read (np, off + i); -if (err >=0 ) - *prop_buf = err; - ++prop_buf; + err =niu_pci_eeprom_read (np, off + i); +if (err <0 ) +return err; + *prop_buf++ = err; } }
@@ -8178,14 +8178,14 @@ static int niu_pci_vpd_scan_props(struct niu *np, u32 start, u32 end) }/* ESPC_PIO_EN_ENABLE must be set */ -static void niu_pci_vpd_fetch (struct niu *np,u32 start) +static int niu_pci_vpd_fetch (struct niu *np,u32 start) {u32 offset;int err; err =niu_pci_eeprom_read16_swp (np, start +1 );if (err <0 ) -return ; +return err; offset = err +3 ;
@@ -8194,12 +8194,14 @@ static void niu_pci_vpd_fetch(struct niu *np, u32 start)u32 end; err =niu_pci_eeprom_read (np, here); +if (err <0 ) +return err;if (err !=0x90 ) -return ; +return -EINVAL ; err =niu_pci_eeprom_read16_swp (np, here +1 );if (err <0 ) -return ; +return err; here = start + offset +3 ; end = start + offset + err;
@@ -8207,9 +8209,12 @@ static void niu_pci_vpd_fetch(struct niu *np, u32 start) offset += err; err =niu_pci_vpd_scan_props (np, here, end); -if (err <0 || err ==1 ) -return ; +if (err <0 ) +return err; +if (err ==1 ) +return -EINVAL ; } +return 0 ; }/* ESPC_PIO_EN_ENABLE must be set */
@@ -9300,8 +9305,11 @@ static int niu_get_invariants(struct niu *np) offset =niu_pci_vpd_offset (np);netif_printk (np, probe,KERN_DEBUG , np->dev,"%s() VPD offset [%08x]\n" , __func__, offset); -if (offset) -niu_pci_vpd_fetch (np, offset); +if (offset) { + err =niu_pci_vpd_fetch (np, offset); +if (err <0 ) +return err; + }nw64 (ESPC_PIO_EN ,0 );if (np->flags &NIU_FLAGS_VPD_VALID ) {
drivers/net/wireless/realtek/rtlwifi/base.c +9 -10
@@ -456,9 +456,14 @@ static void _rtl_init_mac80211(struct ieee80211_hw *hw) } } -static void _rtl_init_deferred_work (struct ieee80211_hw *hw) +static int _rtl_init_deferred_work (struct ieee80211_hw *hw) {struct rtl_priv *rtlpriv =rtl_priv (hw); +struct workqueue_struct *wq; + + wq =alloc_workqueue ("%s" ,0 ,0 , rtlpriv->cfg->name); +if (!wq) +return -ENOMEM ;/* <1> timer */ setup_timer(&rtlpriv->works.watchdog_timer,
@@ -467,11 +472,7 @@ static void _rtl_init_deferred_work(struct ieee80211_hw *hw) rtl_easy_concurrent_retrytimer_callback, (unsigned long)hw);/* <2> work queue */ rtlpriv->works.hw = hw; - rtlpriv->works.rtl_wq =alloc_workqueue ("%s" ,0 ,0 , rtlpriv->cfg->name); -if (unlikely (!rtlpriv->works.rtl_wq)) { -pr_err ("Failed to allocate work queue\n" ); -return ; - } + rtlpriv->works.rtl_wq = wq;INIT_DELAYED_WORK (&rtlpriv->works.watchdog_wq, (void *)rtl_watchdog_wq_callback);
@@ -485,7 +486,7 @@ static void _rtl_init_deferred_work(struct ieee80211_hw *hw) (void *)rtl_fwevt_wq_callback);INIT_DELAYED_WORK (&rtlpriv->works.c2hcmd_wq, (void *)rtl_c2hcmd_wq_callback); - +return 0 ; }void rtl_deinit_deferred_work (struct ieee80211_hw *hw,bool ips_wq)
@@ -585,9 +586,7 @@ int rtl_init_core(struct ieee80211_hw *hw) rtlmac->link_state =MAC80211_NOLINK ;/* <6> init deferred work */ -_rtl_init_deferred_work (hw); - -return 0 ; +return _rtl_init_deferred_work (hw); }EXPORT_SYMBOL_GPL (rtl_init_core);
drivers/rapidio/rio_cm.c +8 -9
@@ -2136,6 +2136,14 @@ static int riocm_add_mport(struct device *dev,return -ENODEV ; } + cm->rx_wq =create_workqueue (DRV_NAME "/rxq" ); +if (!cm->rx_wq) { +rio_release_inb_mbox (mport, cmbox); +rio_release_outb_mbox (mport, cmbox); +kfree (cm); +return -ENOMEM ; + } +/* * Allocate and register inbound messaging buffers to be ready * to receive channel and system management requests
@@ -2146,15 +2154,6 @@ static int riocm_add_mport(struct device *dev, cm->rx_slots =RIOCM_RX_RING_SIZE ;mutex_init (&cm->rx_lock);riocm_rx_fill (cm,RIOCM_RX_RING_SIZE ); - cm->rx_wq =create_workqueue (DRV_NAME "/rxq" ); -if (!cm->rx_wq) { -riocm_error ("failed to allocate IBMBOX_%d on %s" , - cmbox, mport->name); -rio_release_outb_mbox (mport, cmbox); -kfree (cm); -return -ENOMEM ; - } -INIT_WORK (&cm->rx_work, rio_ibmsg_handler); cm->tx_slot =0 ;
drivers/scsi/qla2xxx/qla_nx.c +2 -1
@@ -1107,7 +1107,8 @@ qla82xx_write_flash_dword(struct qla_hw_data *ha, uint32_t flashaddr,return ret; } -if (qla82xx_flash_set_write_enable (ha)) + ret =qla82xx_flash_set_write_enable (ha); +if (ret <0 ) goto done_write;qla82xx_wr_32 (ha,QLA82XX_ROMUSB_ROM_WDATA , data);
drivers/tty/vt/vt.c +1 -1
@@ -835,7 +835,7 @@ static inline int resize_screen(struct vc_data *vc, int width, int height,/* Resizes the resolution of the display adapater */ int err =0 ; -if (vc->vc_mode !=KD_GRAPHICS && vc->vc_sw->con_resize) +if (vc->vc_sw->con_resize) err = vc->vc_sw->con_resize (vc, width, height, user);return err;
drivers/tty/vt/vt_ioctl.c +3 -3
@@ -895,17 +895,17 @@ int vt_ioctl(struct tty_struct *tty,if (vcp) {int ret;int save_scan_lines = vcp->vc_scan_lines; -int save_font_height = vcp->vc_font.height; +int save_cell_height = vcp->vc_cell_height;if (v.v_vlin) vcp->vc_scan_lines = v.v_vlin;if (v.v_clin) - vcp->vc_font.height = v.v_clin; + vcp->vc_cell_height = v.v_clin; vcp->vc_resize_user =1 ; ret =vc_resize (vcp, v.v_cols, v.v_rows);if (ret) { vcp->vc_scan_lines = save_scan_lines; - vcp->vc_font.height = save_font_height; + vcp->vc_cell_height = save_cell_height;console_unlock ();return ret; }
drivers/video/console/vgacon.c +32 -24
119 lines not on this page · raw message
drivers/video/fbdev/core/fbcon.c +1 -1
@@ -2003,7 +2003,7 @@ static int fbcon_resize(struct vc_data *vc, unsigned int width,return -EINVAL ;DPRINTK ("resize now %ix%i\n" , var.xres, var.yres); -if (con_is_visible (vc)) { +if (con_is_visible (vc) && vc->vc_mode ==KD_TEXT ) { var.activate =FB_ACTIVATE_NOW |FB_ACTIVATE_FORCE ;fb_set_var (info, &var);
drivers/video/fbdev/hgafb.c +12 -9
@@ -286,7 +286,7 @@ static int hga_card_detect(void) hga_vram =ioremap (0xb0000 , hga_vram_len);if (!hga_vram) - goto error; +return -ENOMEM ;if (request_region (0x3b0 ,12 ,"hgafb" )) release_io_ports =1 ;
@@ -346,13 +346,18 @@ static int hga_card_detect(void) hga_type_name ="Hercules" ;break ; } -return 1 ; +return 0 ; error:if (release_io_ports)release_region (0x3b0 ,12 );if (release_io_port)release_region (0x3bf ,1 ); -return 0 ; + +iounmap (hga_vram); + +pr_err ("hgafb: HGA card not detected.\n" ); + +return -EINVAL ; }/**
@@ -550,13 +555,11 @@ static struct fb_ops hgafb_ops = {static int hgafb_probe (struct platform_device *pdev) {struct fb_info *info; +int ret; -if (!hga_card_detect ()) { -printk (KERN_INFO "hgafb: HGA card not detected.\n" ); -if (hga_vram) -iounmap (hga_vram); -return -EINVAL ; - } + ret =hga_card_detect (); +if (ret) +return ret;printk (KERN_INFO "hgafb: %s with %ldK of memory detected.\n" , hga_type_name, hga_vram_len/1024 );
drivers/video/fbdev/imsttfb.c +0 -5
@@ -1516,11 +1516,6 @@ static int imsttfb_probe(struct pci_dev *pdev, const struct pci_device_id *ent) info->fix.smem_start = addr; info->screen_base = (__u8 *)ioremap (addr, par->ramdac ==IBM ?0x400000 :0x800000 ); -if (!info->screen_base) { -release_mem_region (addr, size); -framebuffer_release (info); -return -ENOMEM ; - } info->fix.mmio_start = addr +0x800000 ; par->dc_regs =ioremap (addr +0x800000 ,0x1000 ); par->cmap_regs_phys = addr +0x840000 ;
drivers/xen/xen-pciback/xenbus.c +17 -5
@@ -358,7 +358,8 @@ static int xen_pcibk_publish_pci_root(struct xen_pcibk_device *pdev,return err; } -static int xen_pcibk_reconfigure (struct xen_pcibk_device *pdev) +static int xen_pcibk_reconfigure (struct xen_pcibk_device *pdev, +enum xenbus_state state) {int err =0 ;int num_devs;
@@ -372,9 +373,7 @@ static int xen_pcibk_reconfigure(struct xen_pcibk_device *pdev)dev_dbg (&pdev->xdev->dev,"Reconfiguring device ...\n" );mutex_lock (&pdev->dev_lock); -/* Make sure we only reconfigure once */ -if (xenbus_read_driver_state (pdev->xdev->nodename) != - XenbusStateReconfiguring) +if (xenbus_read_driver_state (pdev->xdev->nodename) != state) goto out; err = xenbus_scanf(XBT_NIL, pdev->xdev->nodename, "num_devs", "%d",
@@ -499,6 +498,10 @@ static int xen_pcibk_reconfigure(struct xen_pcibk_device *pdev) } } +if (state != XenbusStateReconfiguring) +/* Make sure we only reconfigure once. */ + goto out; + err =xenbus_switch_state (pdev->xdev, XenbusStateReconfigured);if (err) { xenbus_dev_fatal(pdev->xdev, err,
@@ -524,7 +527,7 @@ static void xen_pcibk_frontend_changed(struct xenbus_device *xdev,break ;case XenbusStateReconfiguring: -xen_pcibk_reconfigure (pdev); +xen_pcibk_reconfigure (pdev, XenbusStateReconfiguring);break ;case XenbusStateConnected:
@@ -663,6 +666,15 @@ static void xen_pcibk_be_watch(struct xenbus_watch *watch,xen_pcibk_setup_backend (pdev);break ; +case XenbusStateInitialised: +/* +* We typically move to Initialised when the first device was +* added. Hence subsequent devices getting added may need +* reconfiguring. +*/ +xen_pcibk_reconfigure (pdev, XenbusStateInitialised); +break ; +default :break ; }
fs/cifs/smb2ops.c +2 -0
@@ -885,6 +885,8 @@ smb2_copychunk_range(const unsigned int xid,cpu_to_le32 (min_t (u32, len, tcon->max_bytes_chunk));/* Request server copy to target from src identified by key */ +kfree (retbuf); + retbuf =NULL ; rc = SMB2_ioctl(xid, tcon, trgtfile->fid.persistent_fid, trgtfile->fid.volatile_fid, FSCTL_SRV_COPYCHUNK_WRITE, true /* is_fsctl */, false /* use_ipc */,
fs/ecryptfs/crypto.c +2 -4
@@ -339,10 +339,8 @@ static int crypt_scatterlist(struct ecryptfs_crypt_stat *crypt_stat,struct extent_crypt_result ecr;int rc =0 ; -if (!crypt_stat || !crypt_stat->tfm - || !(crypt_stat->flags &ECRYPTFS_STRUCT_INITIALIZED )) -return -EINVAL ; - +BUG_ON (!crypt_stat || !crypt_stat->tfm + || !(crypt_stat->flags &ECRYPTFS_STRUCT_INITIALIZED ));if (unlikely (ecryptfs_verbosity >0 )) {ecryptfs_printk (KERN_DEBUG ,"Key size [%zd]; key:\n" , crypt_stat->key_size);
include/linux/console_struct.h +1 -0
@@ -62,6 +62,7 @@ struct vc_data {unsigned int vc_rows;unsigned int vc_size_row;/* Bytes per row */ unsigned int vc_scan_lines;/* # of scan lines */ +unsigned int vc_cell_height;/* CRTC character cell height */ unsigned long vc_origin;/* [!] Start of real screen */ unsigned long vc_scr_end;/* [!] End of real screen */ unsigned long vc_visible_origin;/* [!] Top of visible window */
kernel/ptrace.c +17 -1
@@ -163,6 +163,21 @@ void __ptrace_unlink(struct task_struct *child)spin_unlock (&child->sighand->siglock); } +static bool looks_like_a_spurious_pid (struct task_struct *task) +{ +if (task->exit_code != ((PTRACE_EVENT_EXEC <<8 ) |SIGTRAP )) +return false; + +if (task_pid_vnr (task) == task->ptrace_message) +return false; +/* +* The tracee changed its pid but the PTRACE_EVENT_EXEC event +* was not wait()'ed, most probably debugger targets the old +* leader which was destroyed in de_thread(). +*/ +return true; +} +/* Ensure that nothing can wake it up, even SIGKILL */ static bool ptrace_freeze_traced (struct task_struct *task) {
@@ -173,7 +188,8 @@ static bool ptrace_freeze_traced(struct task_struct *task)return ret;spin_lock_irq (&task->sighand->siglock); -if (task_is_traced (task) && !__fatal_signal_pending (task)) { +if (task_is_traced (task) && !looks_like_a_spurious_pid (task) && + !__fatal_signal_pending (task)) { task->state = __TASK_TRACED; ret = true; }
net/bluetooth/smp.c +9 -0
@@ -2693,6 +2693,15 @@ static int smp_cmd_public_key(struct l2cap_conn *conn, struct sk_buff *skb)if (skb->len <sizeof (*key))return SMP_INVALID_PARAMS ; +/* Check if remote and local public keys are the same and debug key is +* not in use. +*/ +if (!test_bit (SMP_FLAG_DEBUG_KEY , &smp->flags) && + !crypto_memneq (key, smp->local_pk,64 )) { +bt_dev_err (hdev,"Remote and local public keys are identical" ); +return SMP_UNSPECIFIED ; + } +memcpy (smp->remote_pk, key,64 );if (test_bit (SMP_FLAG_REMOTE_OOB , &smp->flags)) {
sound/firewire/Kconfig +2 -2
@@ -37,7 +37,7 @@ config SND_OXFW * Mackie(Loud) Onyx 1640i (former model) * Mackie(Loud) Onyx Satellite * Mackie(Loud) Tapco Link.Firewire - * Mackie(Loud) d.2 pro/d.4 pro + * Mackie(Loud) d.4 pro * Mackie(Loud) U.420/U.420d * TASCAM FireOne * Stanton Controllers & Systems 1 Deck/Mixer
@@ -83,7 +83,7 @@ config SND_BEBOB * PreSonus FIREBOX/FIREPOD/FP10/Inspire1394 * BridgeCo RDAudio1/Audio5 * Mackie Onyx 1220/1620/1640 (FireWire I/O Card) - * Mackie d.2 (FireWire Option) + * Mackie d.2 (FireWire Option) and d.2 Pro * Stanton FinalScratch 2 (ScratchAmp) * Tascam IF-FW/DM * Behringer XENIX UFX 1204/1604
sound/firewire/bebob/bebob.c +1 -1
@@ -414,7 +414,7 @@ static const struct ieee1394_device_id bebob_id_table[] = {SND_BEBOB_DEV_ENTRY (VEN_BRIDGECO ,0x00010049 , &spec_normal),/* Mackie, Onyx 1220/1620/1640 (Firewire I/O Card) */ SND_BEBOB_DEV_ENTRY (VEN_MACKIE2 ,0x00010065 , &spec_normal), -/* Mackie, d.2 (Firewire Option) */ +// Mackie, d.2 (Firewire option card) and d.2 Pro (the card is built-in). SND_BEBOB_DEV_ENTRY (VEN_MACKIE1 ,0x00010067 , &spec_normal),/* Stanton, ScratchAmp */ SND_BEBOB_DEV_ENTRY(VEN_STANTON, 0x00000001, &spec_normal),
sound/firewire/oxfw/oxfw.c +0 -1
@@ -406,7 +406,6 @@ static const struct ieee1394_device_id oxfw_id_table[] = {* Onyx-i series (former models): 0x081216 * Mackie Onyx Satellite: 0x00200f * Tapco LINK.firewire 4x6: 0x000460 -* d.2 pro: Unknown * d.4 pro: Unknown * U.420: Unknown * U.420d: Unknown
sound/isa/sb/sb8.c +0 -4
@@ -111,10 +111,6 @@ static int snd_sb8_probe(struct device *pdev, unsigned int dev)/* block the 0x388 port to avoid PnP conflicts */ acard->fm_res =request_region (0x388 ,4 ,"SoundBlaster FM" ); -if (!acard->fm_res) { - err = -EBUSY ; - goto _err; - } if (port[dev] != SNDRV_AUTO_PORT) { if ((err = snd_sbdsp_create(card, port[dev], irq[dev],
sound/pci/hda/patch_realtek.c +4 -1
@@ -341,7 +341,6 @@ static void alc_fill_eapd_coef(struct hda_codec *codec)case 0x10ec0282 :case 0x10ec0283 :case 0x10ec0286 : -case 0x10ec0287 :case 0x10ec0288 :case 0x10ec0285 :case 0x10ec0298 :
@@ -352,6 +351,10 @@ static void alc_fill_eapd_coef(struct hda_codec *codec)case 0x10ec0275 :alc_update_coef_idx (codec,0xe ,0 ,1 <<0 );break ; +case 0x10ec0287 : +alc_update_coef_idx (codec,0x10 ,1 <<9 ,0 ); +alc_write_coef_idx (codec,0x8 ,0x4ab7 ); +break ;case 0x10ec0293 :alc_update_coef_idx (codec,0xa ,1 <<13 ,0 );break ;
sound/usb/line6/driver.c +4 -0
@@ -698,6 +698,10 @@ static int line6_init_cap_control(struct usb_line6 *line6) line6->buffer_message =kmalloc (LINE6_MIDI_MESSAGE_MAXLEN ,GFP_KERNEL );if (!line6->buffer_message)return -ENOMEM ; + + ret =line6_init_midi (line6); +if (ret <0 ) +return ret; }else { ret =line6_hwdep_init (line6);if (ret <0 )
sound/usb/line6/pod.c +0 -5
@@ -421,11 +421,6 @@ static int pod_init(struct usb_line6 *line6,if (err <0 )return err; -/* initialize MIDI subsystem: */ - err =line6_init_midi (line6); -if (err <0 ) -return err; -/* initialize PCM subsystem: */ err =line6_init_pcm (line6, &pod_pcm_properties);if (err <0 )
sound/usb/line6/variax.c +0 -6
@@ -217,7 +217,6 @@ static int variax_init(struct usb_line6 *line6, const struct usb_device_id *id) {struct usb_line6_variax *variax = (struct usb_line6_variax *) line6; -int err; line6->process_message = line6_variax_process_message; line6->disconnect = line6_variax_disconnect;
@@ -233,11 +232,6 @@ static int variax_init(struct usb_line6 *line6,if (variax->buffer_activate ==NULL )return -ENOMEM ; -/* initialize MIDI subsystem: */ - err =line6_init_midi (&variax->line6); -if (err <0 ) -return err; -/* initiate startup procedure: */ variax_startup1 (variax);return 0 ;
sound/usb/midi.c +4 -0
@@ -1867,8 +1867,12 @@ static int snd_usbmidi_get_ms_info(struct snd_usb_midi *umidi, ms_ep =find_usb_ms_endpoint_descriptor (hostep);if (!ms_ep)continue ; +if (ms_ep->bLength <=sizeof (*ms_ep)) +continue ;if (ms_ep->bNumEmbMIDIJack >0x10 )continue ; +if (ms_ep->bLength <sizeof (*ms_ep) + ms_ep->bNumEmbMIDIJack) +continue ;if (usb_endpoint_dir_out (ep)) {if (endpoints[epidx].out_ep) {if (++epidx >=MIDI_MAX_ENDPOINTS ) {
Greg Kroah-Hartman
maintainerI'm announcing the release of the 4.14.234 kernel.
All users of the 4.14 kernel series must upgrade.
The updated 4.14.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.14.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Makefile | 2 arch/openrisc/kernel/setup.c | 2 drivers/cdrom/gdrom.c | 13 +++- drivers/hwmon/lm80.c | 11 --- drivers/infiniband/sw/rxe/rxe_qp.c | 7 ++ drivers/leds/leds-lp5523.c | 2 drivers/md/dm-snap.c | 1 drivers/media/platform/rcar_drif.c | 1 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c | 3 - drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c | 8 +- drivers/net/ethernet/sun/niu.c | 32 +++++++---- drivers/net/wireless/realtek/rtlwifi/base.c | 19 +++--- drivers/rapidio/rio_cm.c | 17 ++---- drivers/scsi/qla2xxx/qla_nx.c | 3 - drivers/tty/vt/vt.c | 2 drivers/tty/vt/vt_ioctl.c | 6 +- drivers/video/console/vgacon.c | 56 +++++++++++--------- drivers/video/fbdev/core/fbcon.c | 2 drivers/video/fbdev/hgafb.c | 21 ++++--- drivers/video/fbdev/imsttfb.c | 5 - drivers/xen/xen-pciback/xenbus.c | 22 ++++++- fs/cifs/smb2ops.c | 2 fs/ecryptfs/crypto.c | 6 -- include/linux/console_struct.h | 1 kernel/ptrace.c | 18 ++++++ net/bluetooth/smp.c | 9 +++ sound/firewire/Kconfig | 4 - sound/firewire/bebob/bebob.c | 2 sound/firewire/oxfw/oxfw.c | 1 sound/isa/sb/sb8.c | 4 - sound/pci/hda/patch_realtek.c | 5 + sound/usb/line6/driver.c | 4 + sound/usb/line6/pod.c | 5 - sound/usb/line6/variax.c | 6 -- sound/usb/midi.c | 4 + 35 files changed, 181 insertions(+), 125 deletions(-)
Anirudh Rayabharam (3):
rapidio: handle create_workqueue() failure
net: stmicro: handle clk_prepare() failure during init
video: hgafb: correctly handle card detect failure during probe
Atul Gopinathan (1):
cdrom: gdrom: deallocate struct gdrom_unit fields in remove_gdrom
Christophe JAILLET (1):
openrisc: Fix a memory leak
Du Cheng (1):
ethernet: sun: niu: fix missing checks of niu_pci_eeprom_read()
Greg Kroah-Hartman (16):
Revert "ALSA: sb8: add a check for request_region"
Revert "rapidio: fix a NULL pointer dereference when create_workqueue() fails" Revert "video: hgafb: fix potential NULL pointer dereference" Revert "net: stmicro: fix a missing check of clk_prepare"
Revert "leds: lp5523: fix a missing check of return value of lp55xx_read" Revert "hwmon: (lm80) fix a missing check of bus read in lm80 probe" Revert "video: imsttfb: fix potential NULL pointer dereferences" Revert "ecryptfs: replace BUG_ON with error handling code" Revert "gdrom: fix a memory leak bug"
cdrom: gdrom: initialize global variable at init time
Revert "media: rcar_drif: fix a memory disclosure"
Revert "rtlwifi: fix a potential NULL pointer dereference" Revert "qlcnic: Avoid potential NULL pointer dereference"
Revert "niu: fix missing checks of niu_pci_eeprom_read"
net: rtlwifi: properly check for alloc_workqueue() failure
Linux 4.14.234
Hui Wang (1):
ALSA: hda/realtek: reset eapd coeff to default value for alc287
Igor Matheus Andrade Torrente (1):
video: hgafb: fix potential NULL pointer dereference
Jan Beulich (1):
xen-pciback: reconfigure also from backend watch handler
Leon Romanovsky (1):
RDMA/rxe: Clear all QP fields if creation failed
Luiz Augusto von Dentz (1):
Bluetooth: SMP: Fail if remote and local public keys are identical
Maciej W. Rozycki (2):
vgacon: Record video mode changes with VT_RESIZEX
vt: Fix character height handling with VT_RESIZEX
Mikulas Patocka (1):
dm snapshot: fix crash with transient storage and zero chunk size
Oleg Nesterov (1):
ptrace: make ptrace() fail if the tracee changed its pid unexpectedly
Phillip Potter (1):
leds: lp5523: check return value of lp5xx_read and jump to cleanup code
Ronnie Sahlberg (1):
cifs: fix memory leak in smb2_copychunk_range
Takashi Iwai (2):
ALSA: line6: Fix racy initialization of LINE6 MIDI
ALSA: usb-audio: Validate MS endpoint descriptors
Takashi Sakamoto (1):
ALSA: bebob/oxfw: fix Kconfig entry for Mackie d.2 Pro
Tetsuo Handa (1):
tty: vt: always invoke vc->vc_sw->con_resize callback
Tom Seewald (1):
qlcnic: Add null check after calling netdev_alloc_skb
Zhen Lei (1):
scsi: qla2xxx: Fix error return code in qla82xx_write_flash_dword()