mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
Merge 5.4.156 into android11-5.4-lts
Changes in 5.4.156 parisc: math-emu: Fix fall-through warnings net: switchdev: do not propagate bridge updates across bridges tee: optee: Fix missing devices unregister during optee_remove ARM: dts: at91: sama5d2_som1_ek: disable ISC node by default xtensa: xtfpga: use CONFIG_USE_OF instead of CONFIG_OF xtensa: xtfpga: Try software restart before simulating CPU reset NFSD: Keep existing listeners on portlist error dma-debug: fix sg checks in debug_dma_map_sg() ASoC: wm8960: Fix clock configuration on slave mode netfilter: ipvs: make global sysctl readonly in non-init netns lan78xx: select CRC32 net: dsa: lantiq_gswip: fix register definition NIOS2: irqflags: rename a redefined register name net: hns3: reset DWRR of unused tc to zero net: hns3: add limit ets dwrr bandwidth cannot be 0 net: hns3: disable sriov before unload hclge layer net: stmmac: Fix E2E delay mechanism net: enetc: fix ethtool counter name for PM0_TERR can: rcar_can: fix suspend/resume can: peak_usb: pcan_usb_fd_decode_status(): fix back to ERROR_ACTIVE state notification can: peak_pci: peak_pci_remove(): fix UAF can: j1939: j1939_tp_rxtimer(): fix errant alert in j1939_tp_rxtimer can: j1939: j1939_netdev_start(): fix UAF for rx_kref of j1939_priv can: j1939: j1939_xtp_rx_dat_one(): cancel session if receive TP.DT with error length can: j1939: j1939_xtp_rx_rts_session_new(): abort TP less than 9 bytes ceph: fix handling of "meta" errors ocfs2: fix data corruption after conversion from inline format ocfs2: mount fails with buffer overflow in strlen elfcore: correct reference to CONFIG_UML vfs: check fd has read access in kernel_read_file_from_fd() ALSA: usb-audio: Provide quirk for Sennheiser GSP670 Headset ALSA: hda/realtek: Add quirk for Clevo PC50HS ASoC: DAPM: Fix missing kctl change notifications audit: fix possible null-pointer dereference in audit_filter_rules powerpc64/idle: Fix SP offsets when saving GPRs KVM: PPC: Book3S HV: Fix stack handling in idle_kvm_start_guest() KVM: PPC: Book3S HV: Make idle_kvm_start_guest() return 0 if it went to guest powerpc/idle: Don't corrupt back chain when going idle mm, slub: fix mismatch between reconstructed freelist depth and cnt mm, slub: fix potential memoryleak in kmem_cache_open() nfc: nci: fix the UAF of rf_conn_info object isdn: cpai: check ctr->cnr to avoid array index out of bound netfilter: Kconfig: use 'default y' instead of 'm' for bool config option selftests: netfilter: remove stray bash debug line gcc-plugins/structleak: add makefile var for disabling structleak btrfs: deal with errors when checking if a dir entry exists during log replay net: stmmac: add support for dwmac 3.40a ARM: dts: spear3xx: Fix gmac node isdn: mISDN: Fix sleeping function called from invalid context platform/x86: intel_scu_ipc: Update timeout value in comment ALSA: hda: avoid write to STATESTS if controller is in reset Input: snvs_pwrkey - add clk handling scsi: core: Fix shost->cmd_per_lun calculation in scsi_add_host_with_dma() net: mdiobus: Fix memory leak in __mdiobus_register tracing: Have all levels of checks prevent recursion ARM: 9122/1: select HAVE_FUTEX_CMPXCHG pinctrl: stm32: use valid pin identifier in stm32_pinctrl_resume() Linux 5.4.156 Signed-off-by: Greg Kroah-Hartman <[email protected]> Change-Id: Ieddfb50beffee79c5ff9e9fc1d3241aa754929d0
This commit is contained in:
commit
5f1f361447
65 changed files with 490 additions and 279 deletions
|
|
@ -2249,7 +2249,6 @@ static int unsafe_request_wait(struct inode *inode)
|
|||
|
||||
int ceph_fsync(struct file *file, loff_t start, loff_t end, int datasync)
|
||||
{
|
||||
struct ceph_file_info *fi = file->private_data;
|
||||
struct inode *inode = file->f_mapping->host;
|
||||
struct ceph_inode_info *ci = ceph_inode(inode);
|
||||
u64 flush_tid;
|
||||
|
|
@ -2280,14 +2279,9 @@ int ceph_fsync(struct file *file, loff_t start, loff_t end, int datasync)
|
|||
if (err < 0)
|
||||
ret = err;
|
||||
|
||||
if (errseq_check(&ci->i_meta_err, READ_ONCE(fi->meta_err))) {
|
||||
spin_lock(&file->f_lock);
|
||||
err = errseq_check_and_advance(&ci->i_meta_err,
|
||||
&fi->meta_err);
|
||||
spin_unlock(&file->f_lock);
|
||||
if (err < 0)
|
||||
ret = err;
|
||||
}
|
||||
err = file_check_and_advance_wb_err(file);
|
||||
if (err < 0)
|
||||
ret = err;
|
||||
out:
|
||||
dout("fsync %p%s result=%d\n", inode, datasync ? " datasync" : "", ret);
|
||||
return ret;
|
||||
|
|
|
|||
|
|
@ -234,7 +234,6 @@ static int ceph_init_file_info(struct inode *inode, struct file *file,
|
|||
fi->fmode = fmode;
|
||||
spin_lock_init(&fi->rw_contexts_lock);
|
||||
INIT_LIST_HEAD(&fi->rw_contexts);
|
||||
fi->meta_err = errseq_sample(&ci->i_meta_err);
|
||||
fi->filp_gen = READ_ONCE(ceph_inode_to_client(inode)->filp_gen);
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -515,8 +515,6 @@ struct inode *ceph_alloc_inode(struct super_block *sb)
|
|||
|
||||
ceph_fscache_inode_init(ci);
|
||||
|
||||
ci->i_meta_err = 0;
|
||||
|
||||
return &ci->vfs_inode;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1272,7 +1272,6 @@ static void cleanup_session_requests(struct ceph_mds_client *mdsc,
|
|||
{
|
||||
struct ceph_mds_request *req;
|
||||
struct rb_node *p;
|
||||
struct ceph_inode_info *ci;
|
||||
|
||||
dout("cleanup_session_requests mds%d\n", session->s_mds);
|
||||
mutex_lock(&mdsc->mutex);
|
||||
|
|
@ -1281,16 +1280,10 @@ static void cleanup_session_requests(struct ceph_mds_client *mdsc,
|
|||
struct ceph_mds_request, r_unsafe_item);
|
||||
pr_warn_ratelimited(" dropping unsafe request %llu\n",
|
||||
req->r_tid);
|
||||
if (req->r_target_inode) {
|
||||
/* dropping unsafe change of inode's attributes */
|
||||
ci = ceph_inode(req->r_target_inode);
|
||||
errseq_set(&ci->i_meta_err, -EIO);
|
||||
}
|
||||
if (req->r_unsafe_dir) {
|
||||
/* dropping unsafe directory operation */
|
||||
ci = ceph_inode(req->r_unsafe_dir);
|
||||
errseq_set(&ci->i_meta_err, -EIO);
|
||||
}
|
||||
if (req->r_target_inode)
|
||||
mapping_set_error(req->r_target_inode->i_mapping, -EIO);
|
||||
if (req->r_unsafe_dir)
|
||||
mapping_set_error(req->r_unsafe_dir->i_mapping, -EIO);
|
||||
__unregister_request(mdsc, req);
|
||||
}
|
||||
/* zero r_attempts, so kick_requests() will re-send requests */
|
||||
|
|
@ -1436,7 +1429,7 @@ static int remove_session_caps_cb(struct inode *inode, struct ceph_cap *cap,
|
|||
spin_unlock(&mdsc->cap_dirty_lock);
|
||||
|
||||
if (dirty_dropped) {
|
||||
errseq_set(&ci->i_meta_err, -EIO);
|
||||
mapping_set_error(inode->i_mapping, -EIO);
|
||||
|
||||
if (ci->i_wrbuffer_ref_head == 0 &&
|
||||
ci->i_wr_ref == 0 &&
|
||||
|
|
|
|||
|
|
@ -402,8 +402,6 @@ struct ceph_inode_info {
|
|||
struct fscache_cookie *fscache;
|
||||
u32 i_fscache_gen;
|
||||
#endif
|
||||
errseq_t i_meta_err;
|
||||
|
||||
struct inode vfs_inode; /* at end */
|
||||
};
|
||||
|
||||
|
|
@ -712,7 +710,6 @@ struct ceph_file_info {
|
|||
spinlock_t rw_contexts_lock;
|
||||
struct list_head rw_contexts;
|
||||
|
||||
errseq_t meta_err;
|
||||
u32 filp_gen;
|
||||
atomic_t num_locks;
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in a new issue