Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b5bb9a01 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge 3.18.84 into android-3.18



Changes in 3.18.84
	ipv6/dccp: do not inherit ipv6_mc_list from parent
	net/sctp: Always set scope_id in sctp_inet6_skb_msgname
	tcp: do not mangle skb->cb[] in tcp_make_synack()
	netfilter/ipvs: clear ipvs_property flag when SKB net namespace changed
	sctp: do not peel off an assoc from one netns to another one
	fealnx: Fix building error on MIPS
	af_netlink: ensure that NLMSG_DONE never fails in dumps
	vlan: fix a use-after-free in vlan_device_event()
	ima: do not update security.ima if appraisal status is not INTEGRITY_PASS
	ocfs2: should wait dio before inode lock in ocfs2_setattr()
	ipmi: fix unsigned long underflow
	coda: fix 'kernel memory exposure attempt' in fsync
	Linux 3.18.84

Change-Id: I84ba8fd138233eeec72291634a1fb5e4e701c0e1
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parents 3cbb683d 7166ceea
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
VERSION = 3
PATCHLEVEL = 18
SUBLEVEL = 83
SUBLEVEL = 84
EXTRAVERSION =
NAME = Diseased Newt

+6 −4
Original line number Diff line number Diff line
@@ -4010,7 +4010,8 @@ smi_from_recv_msg(ipmi_smi_t intf, struct ipmi_recv_msg *recv_msg,
}

static void check_msg_timeout(ipmi_smi_t intf, struct seq_table *ent,
			      struct list_head *timeouts, long timeout_period,
			      struct list_head *timeouts,
			      unsigned long timeout_period,
			      int slot, unsigned long *flags,
			      unsigned int *waiting_msgs)
{
@@ -4023,8 +4024,8 @@ static void check_msg_timeout(ipmi_smi_t intf, struct seq_table *ent,
	if (!ent->inuse)
		return;

	if (timeout_period < ent->timeout) {
		ent->timeout -= timeout_period;
	if (ent->timeout > 0) {
		(*waiting_msgs)++;
		return;
	}
@@ -4091,7 +4092,8 @@ static void check_msg_timeout(ipmi_smi_t intf, struct seq_table *ent,
	}
}

static unsigned int ipmi_timeout_handler(ipmi_smi_t intf, long timeout_period)
static unsigned int ipmi_timeout_handler(ipmi_smi_t intf,
					 unsigned long timeout_period)
{
	struct list_head     timeouts;
	struct ipmi_recv_msg *msg, *msg2;
+3 −3
Original line number Diff line number Diff line
@@ -257,8 +257,8 @@ enum rx_desc_status_bits {
	RXFSD = 0x00000800,	/* first descriptor */
	RXLSD = 0x00000400,	/* last descriptor */
	ErrorSummary = 0x80,	/* error summary */
	RUNT = 0x40,		/* runt packet received */
	LONG = 0x20,		/* long packet received */
	RUNTPKT = 0x40,		/* runt packet received */
	LONGPKT = 0x20,		/* long packet received */
	FAE = 0x10,		/* frame align error */
	CRC = 0x08,		/* crc error */
	RXER = 0x04,		/* receive error */
@@ -1633,7 +1633,7 @@ static int netdev_rx(struct net_device *dev)
					       dev->name, rx_status);

				dev->stats.rx_errors++;	/* end of a packet. */
				if (rx_status & (LONG | RUNT))
				if (rx_status & (LONGPKT | RUNTPKT))
					dev->stats.rx_length_errors++;
				if (rx_status & RXER)
					dev->stats.rx_frame_errors++;
+1 −2
Original line number Diff line number Diff line
@@ -446,8 +446,7 @@ int venus_fsync(struct super_block *sb, struct CodaFid *fid)
	UPARG(CODA_FSYNC);

	inp->coda_fsync.VFid = *fid;
	error = coda_upcall(coda_vcp(sb), sizeof(union inputArgs),
			    &outsize, inp);
	error = coda_upcall(coda_vcp(sb), insize, &outsize, inp);

	CODA_FREE(inp, insize);
	return error;
+7 −2
Original line number Diff line number Diff line
@@ -1151,6 +1151,13 @@ int ocfs2_setattr(struct dentry *dentry, struct iattr *attr)
		dquot_initialize(inode);
	size_change = S_ISREG(inode->i_mode) && attr->ia_valid & ATTR_SIZE;
	if (size_change) {
		/*
		 * Here we should wait dio to finish before inode lock
		 * to avoid a deadlock between ocfs2_setattr() and
		 * ocfs2_dio_end_io_write()
		 */
		inode_dio_wait(inode);

		status = ocfs2_rw_lock(inode, 1);
		if (status < 0) {
			mlog_errno(status);
@@ -1170,8 +1177,6 @@ int ocfs2_setattr(struct dentry *dentry, struct iattr *attr)
		if (status)
			goto bail_unlock;

		inode_dio_wait(inode);

		if (i_size_read(inode) >= attr->ia_size) {
			if (ocfs2_should_order_data(inode)) {
				status = ocfs2_begin_ordered_truncate(inode,
Loading