Linux 4.19.278
Greg Kroah-Hartman
maintainerI'm announcing the release of the 4.19.278 kernel.
All users of the 4.19 kernel series must upgrade.
The updated 4.19.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.19.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/alpha/kernel/module.c | 4 - arch/mips/include/asm/mach-rc32434/pci.h | 2 arch/x86/kernel/cpu/amd.c | 9 +++ drivers/gpu/drm/i915/intel_ringbuffer.c | 4 - drivers/macintosh/windfarm_lm75_sensor.c | 4 - drivers/macintosh/windfarm_smu_sensors.c | 4 - drivers/media/i2c/ov5640.c | 2 drivers/nfc/fdp/i2c.c | 4 + drivers/scsi/hosts.c | 2 drivers/staging/mt7621-spi/spi-mt7621.c | 8 ++- fs/ext4/fsmap.c | 2 fs/ext4/inline.c | 1 fs/ext4/inode.c | 7 ++ fs/ext4/ioctl.c | 1 fs/ext4/namei.c | 13 ++--- fs/ext4/xattr.c | 3 + fs/file.c | 1 fs/udf/directory.c | 2 fs/udf/file.c | 7 +- fs/udf/ialloc.c | 14 ++--- fs/udf/inode.c | 76 +++++++++++++++++++++---------- fs/udf/misc.c | 6 +- fs/udf/namei.c | 7 +- fs/udf/partition.c | 2 fs/udf/super.c | 12 ++++ fs/udf/symlink.c | 2 fs/udf/udf_i.h | 12 ++-- include/linux/pci_ids.h | 2 net/caif/caif_usb.c | 3 + net/ipv6/ila/ila_xlat.c | 1 net/nfc/netlink.c | 2 net/tipc/socket.c | 2 scripts/Makefile.build | 4 + 34 files changed, 149 insertions(+), 78 deletions(-)
Alvaro Karsz (1):
PCI: Add SolidRun vendor ID
Andrew Cooper (1):
x86/CPU/AMD: Disable XSAVES on AMD family 0x17
Bart Van Assche (1):
scsi: core: Remove the /proc/scsi/${proc_name} directory earlierDarrick J. Wong (1):
ext4: fix another off-by-one fsmap error on 1k block filesystems
Edward Humes (1):
alpha: fix R_ALPHA_LITERAL reloc for large modules
Eric Dumazet (1):
ila: do not generate empty messages in ila_xlat_nl_cmd_get_mapping()
Eric Whitney (1):
ext4: fix RENAME_WHITEOUT handling for inline directories
Fedor Pchelkin (1):
nfc: change order inside nfc_se_io error path
Greg Kroah-Hartman (1):
Linux 4.19.278
Jan Kara (4):
udf: Explain handling of load_nls() failure
udf: Remove pointless union in udf_inode_info
udf: Preserve link count of system files
udf: Detect system inodes linked into directory hierarchy
John Harrison (1):
drm/i915: Don't use BAR mappings for ring buffers with LLC
Kang Chen (1):
nfc: fdp: add null check of devm_kmalloc_array in fdp_nci_i2c_read_device_properties
Masahiro Yamada (2):
kbuild: fix false-positive need-builtin calculation
kbuild: generate modules.order only in directories visited by obj-y/m
Nathan Chancellor (1):
macintosh: windfarm: Use unsigned type for 1-bit bitfields
Nobuhiro Iwamatsu (1):
Revert "spi: mt7621: Fix an error message in mt7621_spi_probe()"
Paul Elder (1):
media: ov5640: Fix analogue gain control
Shigeru Yoshida (1):
net: caif: Fix use-after-free in cfusbl_device_notify()
Steven J. Magnani (1):
udf: reduce leakage of blocks related to named streams
Theodore Ts'o (1):
fs: prevent out-of-bounds array speculation when closing a file descriptor
Tung Nguyen (1):
tipc: improve function tipc_wait_for_cond()
Ye Bin (2):
ext4: move where set the MAY_INLINE_DATA flag is set
ext4: fix WARNING in ext4_update_inline_data
Zhihao Cheng (1):
ext4: zero i_disksize when initializing the bootloader inode
xurui (1):
MIPS: Fix a compilation issue
Greg Kroah-Hartman
maintainerMakefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 4 PATCHLEVEL = 19 -SUBLEVEL = 277 +SUBLEVEL = 278 EXTRAVERSION = NAME = "People's Front"
arch/alpha/kernel/module.c +1 -3
@@ -158,10 +158,8 @@ apply_relocate_add(Elf64_Shdr *sechdrs, const char *strtab, base = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr; symtab = (Elf64_Sym *)sechdrs[symindex].sh_addr; -/* The small sections were sorted to the end of the segment. -The following should definitely cover them. */ - gp = (u64 )me->core_layout.base + me->core_layout.size -0x8000 ; got = sechdrs[me->arch.gotsecindex].sh_addr; + gp = got +0x8000 ;for (i =0 ; i < n; i++) {unsigned long r_sym =ELF64_R_SYM (rela[i].r_info);
arch/mips/include/asm/mach-rc32434/pci.h +1 -1
@@ -377,7 +377,7 @@ struct pci_msu { PCI_CFG04_STAT_SSE | \ PCI_CFG04_STAT_PE) -#define KORINA_CNFG1 ((KORINA_STAT<<16)|KORINA_CMD) +#define KORINA_CNFG1 (KORINA_STAT | KORINA_CMD)#define KORINA_REVID 0#define KORINA_CLASS_CODE 0
arch/x86/kernel/cpu/amd.c +9 -0
@@ -199,6 +199,15 @@ static void init_amd_k6(struct cpuinfo_x86 *c) return; }#endif +/* +* Work around Erratum 1386. The XSAVES instruction malfunctions in +* certain circumstances on Zen1/2 uarch, and not all parts have had +* updated microcode at the time of writing (March 2023). +* +* Affected parts all have no supervisor XSAVE states, meaning that +* the XSAVEC instruction (which works fine) is equivalent. +*/ +clear_cpu_cap (c,X86_FEATURE_XSAVES ); }static void init_amd_k7 (struct cpuinfo_x86 *c)
drivers/gpu/drm/i915/intel_ringbuffer.c +2 -2
@@ -1083,7 +1083,7 @@ int intel_ring_pin(struct intel_ring *ring,if (unlikely (ret))return ret; -if (i915_vma_is_map_and_fenceable (vma)) +if (i915_vma_is_map_and_fenceable (vma) && !HAS_LLC (vma->vm->i915)) addr = (void __force *)i915_vma_pin_iomap (vma);else addr =i915_gem_object_pin_map (vma->obj, map);
@@ -1118,7 +1118,7 @@ void intel_ring_unpin(struct intel_ring *ring)/* Discard any unused bytes beyond that submitted to hw. */ intel_ring_reset (ring, ring->tail); -if (i915_vma_is_map_and_fenceable (ring->vma)) +if (i915_vma_is_map_and_fenceable (ring->vma) && !HAS_LLC (ring->vma->vm->i915))i915_vma_unpin_iomap (ring->vma);else i915_gem_object_unpin_map (ring->vma->obj);
drivers/macintosh/windfarm_lm75_sensor.c +2 -2
@@ -35,8 +35,8 @@#endif struct wf_lm75_sensor { -int ds1775 :1 ; -int inited :1 ; +unsigned int ds1775 :1 ; +unsigned int inited :1 ;struct i2c_client *i2c;struct wf_sensor sens; };
drivers/macintosh/windfarm_smu_sensors.c +2 -2
@@ -275,8 +275,8 @@ struct smu_cpu_power_sensor {struct list_head link;struct wf_sensor *volts;struct wf_sensor *amps; - int fake_volts : 1; - int quadratic : 1; + unsigned int fake_volts : 1; + unsigned int quadratic : 1;struct wf_sensor sens; };#define to_smu_cpu_power (c) container_of(c, struct smu_cpu_power_sensor, sens)
drivers/media/i2c/ov5640.c +1 -1
@@ -2447,7 +2447,7 @@ static int ov5640_init_controls(struct ov5640_dev *sensor)/* Auto/manual gain */ ctrls->auto_gain =v4l2_ctrl_new_std (hdl, ops,V4L2_CID_AUTOGAIN ,0 ,1 ,1 ,1 ); - ctrls->gain =v4l2_ctrl_new_std (hdl, ops,V4L2_CID_GAIN , + ctrls->gain =v4l2_ctrl_new_std (hdl, ops,V4L2_CID_ANALOGUE_GAIN ,0 ,1023 ,1 ,0 ); ctrls->saturation = v4l2_ctrl_new_std(hdl, ops, V4L2_CID_SATURATION,
drivers/nfc/fdp/i2c.c +4 -0
@@ -263,6 +263,9 @@ static void fdp_nci_i2c_read_device_properties(struct device *dev, len,sizeof (**fw_vsc_cfg), GFP_KERNEL); +if (!*fw_vsc_cfg) + goto alloc_err; + r =device_property_read_u8_array (dev,FDP_DP_FW_VSC_CFG_NAME , *fw_vsc_cfg, len);
@@ -276,6 +279,7 @@ static void fdp_nci_i2c_read_device_properties(struct device *dev, *fw_vsc_cfg =NULL ; } +alloc_err:dev_dbg (dev,"Clock type: %d, clock frequency: %d, VSC: %s" , *clock_type, *clock_freq, *fw_vsc_cfg !=NULL ?"yes" :"no" ); }
drivers/scsi/hosts.c +2 -0
@@ -178,6 +178,7 @@ void scsi_remove_host(struct Scsi_Host *shost)scsi_forget_host (shost);mutex_unlock (&shost->scan_mutex);scsi_proc_host_rm (shost); +scsi_proc_hostdir_rm (shost->hostt);spin_lock_irqsave (shost->host_lock, flags);if (scsi_host_set_state (shost,SHOST_DEL ))
@@ -329,6 +330,7 @@ static void scsi_host_dev_release(struct device *dev)struct Scsi_Host *shost =dev_to_shost (dev);struct device *parent = dev->parent; +/* In case scsi_remove_host() has not been called. */ scsi_proc_hostdir_rm (shost->hostt);/* Wait for functions invoked through call_rcu(&shost->rcu, ...) */
drivers/staging/mt7621-spi/spi-mt7621.c +5 -3
@@ -442,9 +442,11 @@ static int mt7621_spi_probe(struct platform_device *pdev)return PTR_ERR (base); clk =devm_clk_get (&pdev->dev,NULL ); -if (IS_ERR (clk)) -return dev_err_probe (&pdev->dev,PTR_ERR (clk), -"unable to get SYS clock\n" ); +if (IS_ERR (clk)) { +dev_err (&pdev->dev,"unable to get SYS clock, err=%d\n" , + status); +return PTR_ERR (clk); + } status =clk_prepare_enable (clk);if (status)
fs/ext4/fsmap.c +2 -0
@@ -486,6 +486,8 @@ static int ext4_getfsmap_datadev(struct super_block *sb, keys[0 ].fmr_physical = bofs;if (keys[1 ].fmr_physical >= eofs) keys[1 ].fmr_physical = eofs -1 ; +if (keys[1 ].fmr_physical < keys[0 ].fmr_physical) +return 0 ; start_fsb = keys[0 ].fmr_physical; end_fsb = keys[1 ].fmr_physical;
fs/ext4/inline.c +0 -1
@@ -157,7 +157,6 @@ int ext4_find_inline_data_nolock(struct inode *inode) (void *)ext4_raw_inode(&is.iloc));EXT4_I (inode)->i_inline_size =EXT4_MIN_INLINE_DATA_SIZE +le32_to_cpu (is.s.here->e_value_size); -ext4_set_inode_state (inode,EXT4_STATE_MAY_INLINE_DATA ); } out:brelse (is.iloc.bh);
fs/ext4/inode.c +6 -1
@@ -4865,8 +4865,13 @@ static inline int ext4_iget_extra_inode(struct inode *inode,if (EXT4_INODE_HAS_XATTR_SPACE (inode) && *magic ==cpu_to_le32 (EXT4_XATTR_MAGIC )) { +int err; +ext4_set_inode_state (inode,EXT4_STATE_XATTR ); -return ext4_find_inline_data_nolock (inode); + err =ext4_find_inline_data_nolock (inode); +if (!err &&ext4_has_inline_data (inode)) +ext4_set_inode_state (inode,EXT4_STATE_MAY_INLINE_DATA ); +return err; }else EXT4_I (inode)->i_inline_off =0 ;return 0 ;
fs/ext4/ioctl.c +1 -0
@@ -178,6 +178,7 @@ static long swap_inode_boot_loader(struct super_block *sb, ei_bl->i_flags =0 ;inode_set_iversion (inode_bl,1 );i_size_write (inode_bl,0 ); +EXT4_I (inode_bl)->i_disksize = inode_bl->i_size; inode_bl->i_mode =S_IFREG ;if (ext4_has_feature_extents (sb)) {ext4_set_inode_flag (inode_bl,EXT4_INODE_EXTENTS );
fs/ext4/namei.c +7 -6
@@ -1419,11 +1419,10 @@ static struct buffer_head *__ext4_find_entry(struct inode *dir,int has_inline_data =1 ; ret =ext4_find_inline_entry (dir, fname, res_dir, &has_inline_data); -if (has_inline_data) { -if (inlined) - *inlined =1 ; +if (inlined) + *inlined = has_inline_data; +if (has_inline_data) goto cleanup_and_exit; - } } if ((namelen <= 2) && (name[0] == '.') &&
@@ -3515,7 +3514,8 @@ static void ext4_resetent(handle_t *handle, struct ext4_renament *ent,* so the old->de may no longer valid and need to find it again * before reset old inode info. */ - old.bh =ext4_find_entry (old.dir, &old.dentry->d_name, &old.de,NULL ); + old.bh =ext4_find_entry (old.dir, &old.dentry->d_name, &old.de, + &old.inlined);if (IS_ERR (old.bh)) retval =PTR_ERR (old.bh);if (!old.bh)
@@ -3677,7 +3677,8 @@ static int ext4_rename(struct inode *old_dir, struct dentry *old_dentry,return retval; } - old.bh =ext4_find_entry (old.dir, &old.dentry->d_name, &old.de,NULL ); + old.bh =ext4_find_entry (old.dir, &old.dentry->d_name, &old.de, + &old.inlined);if (IS_ERR (old.bh))return PTR_ERR (old.bh);/*
fs/ext4/xattr.c +3 -0
@@ -2823,6 +2823,9 @@ int ext4_expand_extra_isize_ea(struct inode *inode, int new_extra_isize, (void *)header, total_ino);EXT4_I (inode)->i_extra_isize = new_extra_isize; +if (ext4_has_inline_data (inode)) + error =ext4_find_inline_data_nolock (inode); + cleanup:if (error && (mnt_count !=le16_to_cpu (sbi->s_es->s_mnt_count))) { ext4_warning(inode->i_sb, "Unable to expand inode %lu. Delete some EAs or run e2fsck.",
fs/file.c +1 -0
@@ -627,6 +627,7 @@ int __close_fd(struct files_struct *files, unsigned fd) fdt =files_fdtable (files);if (fd >= fdt->max_fds) goto out_unlock; + fd =array_index_nospec (fd, fdt->max_fds); file = fdt->fd[fd];if (!file) goto out_unlock;
fs/udf/directory.c +1 -1
@@ -34,7 +34,7 @@ struct fileIdentDesc *udf_fileident_read(struct inode *dir, loff_t *nf_pos, fibh->soffset = fibh->eoffset;if (iinfo->i_alloc_type ==ICBTAG_FLAG_AD_IN_ICB ) { - fi = udf_get_fileident(iinfo->i_ext.i_data - + fi = udf_get_fileident(iinfo->i_data - (iinfo->i_efe ? sizeof(struct extendedFileEntry) : sizeof(struct fileEntry)),
fs/udf/file.c +3 -4
@@ -50,7 +50,7 @@ static void __udf_adinicb_readpage(struct page *page)* So just sample it once and use the same value everywhere. */ kaddr =kmap_atomic (page); -memcpy (kaddr, iinfo->i_ext.i_data + iinfo->i_lenEAttr, isize); +memcpy (kaddr, iinfo->i_data + iinfo->i_lenEAttr, isize);memset (kaddr + isize,0 ,PAGE_SIZE - isize);flush_dcache_page (page);SetPageUptodate (page);
@@ -76,8 +76,7 @@ static int udf_adinicb_writepage(struct page *page,BUG_ON (!PageLocked (page)); kaddr =kmap_atomic (page); -memcpy (iinfo->i_ext.i_data + iinfo->i_lenEAttr, kaddr, -i_size_read (inode)); +memcpy (iinfo->i_data + iinfo->i_lenEAttr, kaddr,i_size_read (inode));SetPageUptodate (page);kunmap_atomic (kaddr);mark_inode_dirty (inode);
@@ -213,7 +212,7 @@ long udf_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)return put_user (UDF_I (inode)->i_lenEAttr, (int __user *)arg);case UDF_GETEABLOCK :return copy_to_user ((char __user *)arg, -UDF_I (inode)->i_ext.i_data, +UDF_I (inode)->i_data,UDF_I (inode)->i_lenEAttr) ? -EFAULT :0 ;default :return -ENOIOCTLCMD ;
fs/udf/ialloc.c +7 -7
@@ -67,16 +67,16 @@ struct inode *udf_new_inode(struct inode *dir, umode_t mode) iinfo->i_efe =1 ;if (UDF_VERS_USE_EXTENDED_FE > sbi->s_udfrev) sbi->s_udfrev =UDF_VERS_USE_EXTENDED_FE ; - iinfo->i_ext.i_data =kzalloc (inode->i_sb->s_blocksize - -sizeof (struct extendedFileEntry ), -GFP_KERNEL ); + iinfo->i_data =kzalloc (inode->i_sb->s_blocksize - +sizeof (struct extendedFileEntry ), +GFP_KERNEL ); }else { iinfo->i_efe =0 ; - iinfo->i_ext.i_data =kzalloc (inode->i_sb->s_blocksize - -sizeof (struct fileEntry ), -GFP_KERNEL ); + iinfo->i_data =kzalloc (inode->i_sb->s_blocksize - +sizeof (struct fileEntry ), +GFP_KERNEL ); } -if (!iinfo->i_ext.i_data) { +if (!iinfo->i_data) {iput (inode);return ERR_PTR (-ENOMEM ); }
fs/udf/inode.c +53 -23
201 lines not on this page · raw message
fs/udf/misc.c +3 -3
@@ -52,9 +52,9 @@ struct genericFormat *udf_add_extendedattr(struct inode *inode, uint32_t size,uint16_t crclen;struct udf_inode_info *iinfo =UDF_I (inode); - ea = iinfo->i_ext.i_data; + ea = iinfo->i_data;if (iinfo->i_lenEAttr) { - ad = iinfo->i_ext.i_data + iinfo->i_lenEAttr; + ad = iinfo->i_data + iinfo->i_lenEAttr; }else { ad = ea; size +=sizeof (struct extendedAttrHeaderDesc );
@@ -153,7 +153,7 @@ struct genericFormat *udf_get_extendedattr(struct inode *inode, uint32_t type,uint32_t offset;struct udf_inode_info *iinfo =UDF_I (inode); - ea = iinfo->i_ext.i_data; + ea = iinfo->i_data;if (iinfo->i_lenEAttr) {struct extendedAttrHeaderDesc *eahd;
fs/udf/namei.c +3 -4
@@ -478,8 +478,7 @@ static struct fileIdentDesc *udf_add_entry(struct inode *dir,if (dinfo->i_alloc_type ==ICBTAG_FLAG_AD_IN_ICB ) { block = dinfo->i_location.logicalBlockNum; fi = (struct fileIdentDesc *) - (dinfo->i_ext.i_data + - fibh->soffset - + (dinfo->i_data + fibh->soffset -udf_ext0_offset (dir) + dinfo->i_lenEAttr); }else {
@@ -962,7 +961,7 @@ static int udf_symlink(struct inode *dir, struct dentry *dentry,mark_buffer_dirty_inode (epos.bh, inode); ea = epos.bh->b_data +udf_ext0_offset (inode); }else - ea = iinfo->i_ext.i_data + iinfo->i_lenEAttr; + ea = iinfo->i_data + iinfo->i_lenEAttr; eoffset = sb->s_blocksize -udf_ext0_offset (inode); pc = (struct pathComponent *)ea;
@@ -1142,7 +1141,7 @@ static int udf_rename(struct inode *old_dir, struct dentry *old_dentry, retval = -EIO ;if (old_iinfo->i_alloc_type ==ICBTAG_FLAG_AD_IN_ICB ) { dir_fi = udf_get_fileident( - old_iinfo->i_ext.i_data - + old_iinfo->i_data - (old_iinfo->i_efe ? sizeof(struct extendedFileEntry) : sizeof(struct fileEntry)),
fs/udf/partition.c +1 -1
@@ -65,7 +65,7 @@ uint32_t udf_get_pblock_virt15(struct super_block *sb, uint32_t block, }if (iinfo->i_alloc_type ==ICBTAG_FLAG_AD_IN_ICB ) { - loc =le32_to_cpu (((__le32 *)(iinfo->i_ext.i_data + + loc =le32_to_cpu (((__le32 *)(iinfo->i_data + vdata->s_start_offset))[block]); goto translate; }
fs/udf/super.c +10 -2
@@ -146,9 +146,12 @@ static struct inode *udf_alloc_inode(struct super_block *sb) ei->i_unique =0 ; ei->i_lenExtents =0 ; + ei->i_lenStreams =0 ; ei->i_next_alloc_block =0 ; ei->i_next_alloc_goal =0 ; ei->i_strat4096 =0 ; + ei->i_streamdir =0 ; + ei->i_hidden =0 ;init_rwsem (&ei->i_data_sem); ei->cached_extent.lstart =-1 ;spin_lock_init (&ei->i_extent_cache_lock);
@@ -172,7 +175,7 @@ static void init_once(void *foo) {struct udf_inode_info *ei = (struct udf_inode_info *)foo; - ei->i_ext.i_data =NULL ; + ei->i_data =NULL ;inode_init_once (&ei->vfs_inode); }
@@ -572,6 +575,11 @@ static int udf_parse_options(char *options, struct udf_options *uopt,if (!remount) {if (uopt->nls_map)unload_nls (uopt->nls_map); +/* +* load_nls() failure is handled later in +* udf_fill_super() after all options are +* parsed. +*/ uopt->nls_map =load_nls (args[0 ].from); uopt->flags |= (1 <<UDF_FLAG_NLS_MAP ); }
@@ -1200,7 +1208,7 @@ static int udf_load_vat(struct super_block *sb, int p_index, int type1_index) vat20 = (struct virtualAllocationTable20 *)bh->b_data; }else { vat20 = (struct virtualAllocationTable20 *) - vati->i_ext.i_data; + vati->i_data; } map->s_type_specific.s_virtual.s_start_offset =
fs/udf/symlink.c +1 -1
@@ -122,7 +122,7 @@ static int udf_symlink_filler(struct file *file, struct page *page)down_read (&iinfo->i_data_sem);if (iinfo->i_alloc_type ==ICBTAG_FLAG_AD_IN_ICB ) { - symlink = iinfo->i_ext.i_data + iinfo->i_lenEAttr; + symlink = iinfo->i_data + iinfo->i_lenEAttr; }else { bh =sb_bread (inode->i_sb, pos);
fs/udf/udf_i.h +6 -6
@@ -42,12 +42,12 @@ struct udf_inode_info { unsigned i_efe : 1; /* extendedFileEntry */ unsigned i_use : 1; /* unallocSpaceEntry */ unsigned i_strat4096 : 1; - unsigned reserved : 26; -union { -struct short_ad *i_sad; -struct long_ad *i_lad; -__u8 *i_data; - } i_ext; + unsigned i_streamdir : 1; + unsigned i_hidden : 1; /* hidden system inode */ + unsigned reserved : 24; +__u8 *i_data; +struct kernel_lb_addr i_locStreamdir; +__u64 i_lenStreams;struct rw_semaphore i_data_sem;struct udf_ext_cache cached_extent;/* Spinlock for protecting extent cache */
include/linux/pci_ids.h +2 -0
@@ -3097,6 +3097,8 @@#define PCI_VENDOR_ID_3COM_2 0xa727 +#define PCI_VENDOR_ID_SOLIDRUN 0xd063 +#define PCI_VENDOR_ID_DIGIUM 0xd161#define PCI_DEVICE_ID_DIGIUM_HFC4S 0xb410
net/caif/caif_usb.c +3 -0
@@ -135,6 +135,9 @@ static int cfusbl_device_notify(struct notifier_block *me, unsigned long what,struct usb_device *usbdev;int res; +if (what ==NETDEV_UNREGISTER && dev->reg_state >=NETREG_UNREGISTERED ) +return 0 ; +/* Check whether we have a NCM device, and find its VID/PID. */ if (!(dev->dev.parent && dev->dev.parent->driver &&strcmp (dev->dev.parent->driver->name,"cdc_ncm" ) ==0 ))
net/ipv6/ila/ila_xlat.c +1 -0
@@ -480,6 +480,7 @@ int ila_xlat_nl_cmd_get_mapping(struct sk_buff *skb, struct genl_info *info)rcu_read_lock (); + ret = -ESRCH ; ila =ila_lookup_by_params (&xp, ilan);if (ila) { ret = ila_dump_info(ila,
net/nfc/netlink.c +1 -1
@@ -1464,8 +1464,8 @@ static int nfc_se_io(struct nfc_dev *dev, u32 se_idx,return rc; error: -kfree (cb_context);device_unlock (&dev->dev); +kfree (cb_context);return rc; }
net/tipc/socket.c +1 -1
@@ -388,7 +388,7 @@ static int tipc_sk_sock_err(struct socket *sock, long *timeout) rc_ =tipc_sk_sock_err ((sock_), timeo_); \if (rc_) \break ; \ -prepare_to_wait (sk_sleep (sk_), &wait_,TASK_INTERRUPTIBLE ); \ +add_wait_queue (sk_sleep (sk_), &wait_); \release_sock (sk_); \ *(timeo_) =wait_woken (&wait_,TASK_INTERRUPTIBLE , *(timeo_)); \sched_annotate_sleep (); \
scripts/Makefile.build +3 -1
@@ -541,7 +541,9 @@ targets += $(call intermediate_targets, .asn1.o, .asn1.c .asn1.h) \ PHONY += $(subdir-ym) $(subdir-ym): - $(Q)$(MAKE) $(build)=$@ need-builtin=$(if $(findstring $@,$(subdir-obj-y)),1) + $(Q)$(MAKE) $(build)=$@ \ + need-builtin=$(if $(filter $@/built-in.a, $(subdir-obj-y)),1) \ + need-modorder=$(if $(need-modorder),$(if $(filter $@/modules.order, $(modorder)),1)) # Add FORCE to the prequisites of a target to force it to be always rebuilt. # ---------------------------------------------------------------------------