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

Commit a5920a6e authored by Blagovest Kolenichev's avatar Blagovest Kolenichev Committed by Isaac J. Manjarres
Browse files

Merge android-4.14.49 into msm-4.14



* refs/heads/tmp-37f5b3d9
  Linux 4.14.49
  drm: set FMODE_UNSIGNED_OFFSET for drm files
  PCI: hv: Do not wait forever on a device that has disappeared
  cls_flower: Fix incorrect idr release when failing to modify rule
  rtnetlink: validate attributes in do_setlink()
  virtio-net: fix leaking page for gso packet during mergeable XDP
  net/mlx5e: When RXFCS is set, add FCS data into checksum calculation
  virtio-net: correctly check num_buf during err path
  tun: Fix NULL pointer dereference in XDP redirect
  net/mlx4: Fix irq-unsafe spinlock usage
  virtio-net: correctly transmit XDP buff after linearizing
  net-sysfs: Fix memory leak in XPS configuration
  net: phy: broadcom: Fix auxiliary control register reads
  ipv6: sr: fix memory OOB access in seg6_do_srh_encap/inline
  vrf: check the original netdevice for generating redirect
  vhost: synchronize IOTLB message with dev cleanup
  team: use netdev_features_t instead of u32
  sctp: not allow transport timeout value less than HZ/5 for hb_timer
  qed: Fix mask for physical address in ILT entry
  packet: fix reserve calculation
  net: usb: cdc_mbim: add flag FLAG_SEND_ZLP
  net: phy: broadcom: Fix bcm_write_exp()
  net/packet: refine check for priv area size
  net: metrics: add proper netlink validation
  net: ipv4: add missing RTA_TABLE to rtm_ipv4_policy
  netdev-FAQ: clarify DaveM's position for stable backports
  kcm: Fix use-after-free caused by clonned sockets
  isdn: eicon: fix a missing-check bug
  ipv6: omit traffic class when calculating flow hash
  ipv4: remove warning in ip_recv_error
  ipmr: properly check rhltable_init() return value
  ip6_tunnel: remove magic mtu value 0xFFF8
  ip6mr: only set ip6mr_table from setsockopt when ip6mr_new_table succeeds
  enic: set DMA mask to 47 bit
  dccp: don't free ccid2_hc_tx_sock struct in dccp_disconnect()
  bnx2x: use the right constant
  be2net: Fix error detection logic for BE3
  kconfig: Avoid format overflow warning from GCC 8.1
  btrfs: define SUPER_FLAG_METADUMP_V2
  mmap: relax file size limit for regular files
  mmap: introduce sane default mmap limits
  scsi: sd_zbc: Avoid that resetting a zone fails sporadically
  scsi: sd_zbc: Fix potential memory leak
  FROMLIST: f2fs: run fstrim asynchronously if runtime discard is on

Change-Id: I3b2bc1938bd99c73417b340af4ac523103e15775
Signed-off-by: default avatarBlagovest Kolenichev <bkolenichev@codeaurora.org>
Signed-off-by: default avatarIsaac J. Manjarres <isaacm@codeaurora.org>
parents 5faec11e 37f5b3d9
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -176,6 +176,15 @@ A: No. See above answer. In short, if you think it really belongs in
   dash marker line as described in Documentation/process/submitting-patches.rst to
   temporarily embed that information into the patch that you send.

Q: Are all networking bug fixes backported to all stable releases?

A: Due to capacity, Dave could only take care of the backports for the last
   2 stable releases. For earlier stable releases, each stable branch maintainer
   is supposed to take care of them. If you find any patch is missing from an
   earlier stable branch, please notify stable@vger.kernel.org with either a
   commit ID or a formal patch backported, and CC Dave and other relevant
   networking developers.

Q: Someone said that the comment style and coding convention is different
   for the networking content.  Is this true?

+1 −1
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
VERSION = 4
PATCHLEVEL = 14
SUBLEVEL = 48
SUBLEVEL = 49
EXTRAVERSION =
NAME = Petit Gorille

+1 −0
Original line number Diff line number Diff line
@@ -212,6 +212,7 @@ static int drm_open_helper(struct file *filp, struct drm_minor *minor)
		return -ENOMEM;

	filp->private_data = priv;
	filp->f_mode |= FMODE_UNSIGNED_OFFSET;
	priv->filp = filp;
	priv->pid = get_pid(task_pid(current));
	priv->minor = minor;
+15 −7
Original line number Diff line number Diff line
@@ -388,10 +388,10 @@ void divasa_xdi_driver_unload(void)
**  Receive and process command from user mode utility
*/
void *diva_xdi_open_adapter(void *os_handle, const void __user *src,
			    int length,
			    int length, void *mptr,
			    divas_xdi_copy_from_user_fn_t cp_fn)
{
	diva_xdi_um_cfg_cmd_t msg;
	diva_xdi_um_cfg_cmd_t *msg = (diva_xdi_um_cfg_cmd_t *)mptr;
	diva_os_xdi_adapter_t *a = NULL;
	diva_os_spin_lock_magic_t old_irql;
	struct list_head *tmp;
@@ -401,21 +401,21 @@ void *diva_xdi_open_adapter(void *os_handle, const void __user *src,
			 length, sizeof(diva_xdi_um_cfg_cmd_t)))
			return NULL;
	}
	if ((*cp_fn) (os_handle, &msg, src, sizeof(msg)) <= 0) {
	if ((*cp_fn) (os_handle, msg, src, sizeof(*msg)) <= 0) {
		DBG_ERR(("A: A(?) open, write error"))
			return NULL;
	}
	diva_os_enter_spin_lock(&adapter_lock, &old_irql, "open_adapter");
	list_for_each(tmp, &adapter_queue) {
		a = list_entry(tmp, diva_os_xdi_adapter_t, link);
		if (a->controller == (int)msg.adapter)
		if (a->controller == (int)msg->adapter)
			break;
		a = NULL;
	}
	diva_os_leave_spin_lock(&adapter_lock, &old_irql, "open_adapter");

	if (!a) {
		DBG_ERR(("A: A(%d) open, adapter not found", msg.adapter))
		DBG_ERR(("A: A(%d) open, adapter not found", msg->adapter))
			}

	return (a);
@@ -437,8 +437,10 @@ void diva_xdi_close_adapter(void *adapter, void *os_handle)

int
diva_xdi_write(void *adapter, void *os_handle, const void __user *src,
	       int length, divas_xdi_copy_from_user_fn_t cp_fn)
	       int length, void *mptr,
	       divas_xdi_copy_from_user_fn_t cp_fn)
{
	diva_xdi_um_cfg_cmd_t *msg = (diva_xdi_um_cfg_cmd_t *)mptr;
	diva_os_xdi_adapter_t *a = (diva_os_xdi_adapter_t *) adapter;
	void *data;

@@ -459,7 +461,13 @@ diva_xdi_write(void *adapter, void *os_handle, const void __user *src,
			return (-2);
	}

	if (msg) {
		*(diva_xdi_um_cfg_cmd_t *)data = *msg;
		length = (*cp_fn) (os_handle, (char *)data + sizeof(*msg),
				   src + sizeof(*msg), length - sizeof(*msg));
	} else {
		length = (*cp_fn) (os_handle, data, src, length);
	}
	if (length > 0) {
		if ((*(a->interface.cmd_proc))
		    (a, (diva_xdi_um_cfg_cmd_t *) data, length)) {
+3 −2
Original line number Diff line number Diff line
@@ -20,10 +20,11 @@ int diva_xdi_read(void *adapter, void *os_handle, void __user *dst,
		  int max_length, divas_xdi_copy_to_user_fn_t cp_fn);

int diva_xdi_write(void *adapter, void *os_handle, const void __user *src,
		   int length, divas_xdi_copy_from_user_fn_t cp_fn);
		   int length, void *msg,
		   divas_xdi_copy_from_user_fn_t cp_fn);

void *diva_xdi_open_adapter(void *os_handle, const void __user *src,
			    int length,
			    int length, void *msg,
			    divas_xdi_copy_from_user_fn_t cp_fn);

void diva_xdi_close_adapter(void *adapter, void *os_handle);
Loading