Commit graph

598794 commits

Author SHA1 Message Date
Linux Build Service Account
08acb0dfc3 Merge "msm: ipa2: Fix IPA kernel NULL pointer dereference" 2018-04-05 18:47:22 -07:00
Linux Build Service Account
fa6082745d Merge "fbdev: msm: check buffer size before writing to user buffer" 2018-04-05 18:47:21 -07:00
Linux Build Service Account
8dc67c0f98 Merge "xhci: plat: Avoid xhci_resume if skip_resume flag is set" 2018-04-05 18:47:19 -07:00
Andy Sun
366c6fbe65 ais: report csid error event to user
Enable CSID error interrupts, and sending the error status
to user mode components as v4l2 event.

Change-Id: I62a08a88ebc39e1192136ba1c9179f709f5439f5
Signed-off-by: Andy Sun <bins@codeaurora.org>
2018-04-06 08:31:01 +08:00
Sanjay Singh
ee2e90e8fd Revert "msm: vidc: Add support for decoder STOP command"
This reverts commit 84d22be9dc ("msm: vidc: Add support for decoder
 STOP command")
There is regression for Video playback with this commit. Therefore,
it needs to be reverted.
Change-Id: Ibc4ca31c48e148063de60f59ea90d693d5657163
Signed-off-by: Sanjay Singh <sisanj@codeaurora.org>
2018-04-05 14:39:48 +05:30
Taniya Das
343f7e30c1 clk: msm: osm: Update maximum number of bytes to read from buffer
Currently the number of maximum bytes to be copied from buffer is
incorrectly using the size of buffer. Replace to use the count
which is the maximum number of bytes to be read.

Change-Id: I797c4dc0af626e347dfef43a754d0c469585ba55
Signed-off-by: Taniya Das <tdas@codeaurora.org>
2018-04-05 10:59:40 +05:30
Mohammed Javid
5b2f7c5ec7 msm: ipa2: Fix IPA kernel NULL pointer dereference
Add changes to fix IPA kernel NULL pointer dereference issue

Change-Id: I090d900688f13bc80616e7a3c49f7e1d6cf1be0b
Acked-by: Ashok Vuyyuru <avuyyuru@qti.qualcomm.com>
Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
2018-04-05 10:49:16 +05:30
Sameer Thalappil
9b96f692c0 icnss: Consider recovery as FW down
When WLAN driver encounters FW timeout scenarios, it may check if the
FW is down by calling icnss_is_fw_down() API. Recovery should also be
considered as FW down, as FW has not completely recovered and ready
for WLAN communication.

Change-Id: I4c9e15aacc5605dca823e2cfcbf6f87152aaa78e
CRs-Fixed: 2218795
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
2018-04-04 18:24:29 -07:00
Harsh Sahu
d24de74649 fbdev: msm: check buffer size before writing to user buffer
Check the number of bytes to copy against the size of the
user buffer before copy to user to avoid buffer overflow.

Change-Id: Icdd3d4e755deca19fa431e903620bd9e4c701c89
Signed-off-by: Harsh Sahu <hsahu@codeaurora.org>
2018-04-04 16:36:01 -07:00
Roman Kiryanov
e8cafbb537 ANDROID: add missing include to pdev_bus
Bug: 72886167
Change-Id: I23a875ae5ca325c11942b1174e0eca9d676f4bc4
Signed-off-by: Roman Kiryanov <rkir@google.com>
2018-04-04 15:42:17 -07:00
Linux Build Service Account
4be74d4c07 Merge "slimbus: Avoid uninitialized variable access" 2018-04-04 11:24:26 -07:00
Linux Build Service Account
8fd574794d Merge "msm: mdss: Fix for wrong length in copy_to_user" 2018-04-04 11:24:24 -07:00
Roman Kiryanov
71b3c043fe ANDROID: pdev_bus: replace writel with gf_write_ptr
We introduced a function that calls writel inside to simplify 64bit
support.

Bug: 72886167
Change-Id: I987891e0b331a0e205da4bbf4ee98c19edf087b7
Signed-off-by: Roman Kiryanov <rkir@google.com>
2018-04-04 15:15:40 +00:00
Roman Kiryanov
dac472216c ANDROID: Cleanup type casting in goldfish.h
Bug: 72886167
Change-Id: I506a24e6e659d83a9df5efa0f8f00229e0a4b2d4
Signed-off-by: Roman Kiryanov <rkir@google.com>
2018-04-04 15:03:59 +00:00
Roman Kiryanov
014fa364f8 ANDROID: Include missing headers in goldfish.h
Include headers to define 'dma_addr_t' and 'writel' symbols that
goldfish.h refers to.

Bug: 72886167
Change-Id: I0bb16d739e15edbedb779468bffc8ef46d9b6982
Signed-off-by: Roman Kiryanov <rkir@google.com>
2018-04-04 14:54:36 +00:00
Kiran Gunda
2db4db75bf leds: qpnp-flash-v2: Fix HW_STROBE configuration
As per the hardware recommendation, configure the LED1 to
HW_STROBE mode when LED2 or LED3 is configured in HW_STROBE
mode. This enables hardware strobe option working for LED2/3
channels.

CRs-Fixed: 2213325
Change-Id: I1ceaa7477b8d0c18e03fbdea9d5347d0e75fc0f0
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
2018-04-04 12:41:32 +05:30
Kiran Gunda
1a91cd330a leds: qpnp-flash-v2: Add support for multi-strobe
Multi-strobe option is used to enable/disable the LEDs
back-to-back without disabling the module in the HW_STROBE mode.
Hence, enable the multi-strobe option if the LED is configured
in HW_STROBE mode.

Change-Id: I3e16254c6dcb4c4ae0b295cd7eea4e8ee8e1c2c7
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
2018-04-04 10:40:46 +05:30
Connor O'Brien
f89b70f28f ANDROID: cpufreq: times: skip printing invalid frequencies
The header of /proc/uid_time_in_state should match the logic used for
the rest of the file by skipping invalid frequency table entries.

Test: Read /proc/uid_time_in_state and check for invalid frequencies
in header.
Signed-off-by: Connor O'Brien <connoro@google.com>

Change-Id: I96888e7b71f4928383ff7080c98c988d5fe1a95c
2018-04-03 16:59:42 -07:00
Linux Build Service Account
7405e11851 Merge "ARM: dts: msm: remove modem region reserved on APQ8096 ADP" 2018-04-03 14:37:36 -07:00
Linux Build Service Account
96d58750b8 Merge "usb: gsi: Don't disable endpoints as part of flow control" 2018-04-03 14:37:35 -07:00
Linux Build Service Account
635513cc1a Merge "wcnss: update the regulator parsing and config method" 2018-04-03 14:37:32 -07:00
Linux Build Service Account
1afa9c51ce Merge "input: touchscreen: Fix uninitialized variable usage in Atmel driver" 2018-04-03 14:37:30 -07:00
Linux Build Service Account
aae13ca421 Merge "msm: sde: check buffer size before writing to user buffer" 2018-04-03 14:37:29 -07:00
Linux Build Service Account
38ce262d11 Merge "u_ctrl_qti: Increase MAX_QTI_PKT_SIZE to 8K" 2018-04-03 14:37:26 -07:00
Sarada Prasanna Garnayak
93a468587d wcnss: update the regulator parsing and config method
Use the resource managed regulator API for the wcnss
regulator parsing and configuration.

CRs-Fixed: 2214888
Change-Id: Ib376893c26bb9aa797e7e9df25cc7302a84a3726
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2018-04-03 04:35:33 -07:00
Sarada Prasanna Garnayak
ec3266a99d wcnss: fix the wcnss power up sequence after ssr
Update the voltage regulator enable/disable status
during proxy vote and unvote request by wcnss wlan
module.

CRs-Fixed: 2211050
Change-Id: I334df98612b0915fe00d5390fbcd37c95e9f6509
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
2018-04-03 04:35:28 -07:00
Linux Build Service Account
660f3d97f2 Merge "adv7481: Enable ADV7481 driver on Auto CDP" 2018-04-03 01:19:59 -07:00
Harsh Sahu
54f1b8b469 msm: sde: check buffer size before writing to user buffer
Check the number of bytes to copy against the size of the
user buffer before copy to user to avoid buffer overflow.

Change-Id: I95083227cfefaf1a81815296145b0c370127e061
Signed-off-by: Harsh Sahu <hsahu@codeaurora.org>
2018-04-03 00:05:53 -07:00
Venkata Prahlad Valluru
4ff082fbfa input: touchscreen: Fix uninitialized variable usage in Atmel driver
Initialize variables that are passed by reference, so that
they can be used safely afterwards, irrespective of the
called function actions.

Change-Id: Ib7fa26b0682c719cabdb9cb94f206a93e3eaaf63
Signed-off-by: Venkata Prahlad Valluru <vvalluru@codeaurora.org>
2018-04-03 11:55:52 +05:30
Yimin Peng
bb5f7ce39e ARM: dts: msm: remove modem region reserved on APQ8096 ADP
DRAM diet requires to remove reserved modem memory.

Change-Id: I919ee1b9cc003d9851a7ec92ba116020044742cf
Signed-off-by: Yimin Peng <yiminp@codeaurora.org>
2018-04-03 14:11:27 +08:00
Nathan Chancellor
207b579e3d
ANDROID: xt_qtaguid: Remove unnecessary null checks to device's name
'name' will never be NULL since it isn't a plain pointer but an array
of char values.

../net/netfilter/xt_qtaguid.c:1195:27: warning: address of array
'(*el_dev)->name' will always evaluate to 'true'
[-Wpointer-bool-conversion]
        if (unlikely(!(*el_dev)->name)) {
                     ~~~~~~~~~~~~^~~~

Change-Id: If3b25f17829b43e8a639193fb9cd04ae45947200
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2018-04-02 12:36:21 -07:00
Nathan Chancellor
ffb6bfb300
ANDROID: xt_qtaguid: Remove unnecessary null checks to ifa_label
'ifa_label' will never be NULL since it isn't a plain pointer but an
array of char values.

../net/netfilter/xt_qtaguid.c:971:11: warning: address of array
'ifa->ifa_label' will always evaluate to 'true'
[-Wpointer-bool-conversion]
                        ifa->ifa_label ? ifa->ifa_label : "(null)");
                        ~~~~~^~~~~~~~~ ~
../net/netfilter/xt_qtaguid.c:972:13: warning: address of array
'ifa->ifa_label' will always evaluate to 'true'
[-Wpointer-bool-conversion]
                if (ifa->ifa_label && !strcmp(ifname, ifa->ifa_label))
                    ~~~~~^~~~~~~~~ ~~

Change-Id: I3c87a5d4b830aaa21a59e9c39cfe0a1d60d7f830
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2018-04-02 12:35:57 -07:00
Connor O'Brien
a89da170db ANDROID: cpufreq: times: allocate enough space for a uid_entry
since the variable called uid_entry is a pointer, need to use
sizeof(*uid_entry) to allocate enough space for a full uid_entry
struct.

Bug: 74338318
Change-Id: I488a7cab849398ef7b1f4712b7746f8cf645209d
Signed-off-by: Connor O'Brien <connoro@google.com>
2018-04-02 18:17:27 +00:00
Hardik Arya
4afc00eaff diag: Allocate DCI memory using vzalloc instead of kzalloc
Currently there is a possibility of kmalloc failing
when system is running low on memory condition.
The patch changes the dci memory allocation from
kzalloc to vzalloc.

CRs-Fixed: 2195818
Change-Id: I92b20d8e77ce5b2a96212f9d0757fbbff2703891
Signed-off-by: Hardik Arya <harya@codeaurora.org>
2018-04-02 15:45:50 +05:30
Linux Build Service Account
225f40883b Merge "diag: Remove hdlc status dependeny on session_info" 2018-04-02 01:45:30 -07:00
Linux Build Service Account
d3f27d035d Merge "soc: qcom: hab: refine hab driver's header files" 2018-04-02 01:45:28 -07:00
Linux Build Service Account
d83747f35c Merge "drm: msm: fix potential NULL pointer dereference" 2018-04-02 01:45:27 -07:00
Suprith Malligere Shankaregowda
169f31f159 adv7481: Enable ADV7481 driver on Auto CDP
Add DTSI entries for ADV7481 on Auto CDP. This is the
HDMI-CSI conversion bridge chip. Also enable the required
CSIDs in camera sensor DTSI.

Change-Id: I972cd2cd538cddf9012fc52400b2980930f77775
Signed-off-by: Suprith Malligere Shankaregowda <supgow@codeaurora.org>
2018-04-01 23:10:37 -07:00
Ajay Agarwal
38c3542e5b ARM: dts: msm: Allow pm_suspend in host mode for msm8996 Auto CDP
Add device tree flag to allow system suspend on automotive CDP
platforms with USB devices connected that do not support runtime
suspend.

Change-Id: Ia2c7cff130d811627ef7de24822b68506af37e01
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
2018-04-01 16:54:16 +05:30
Greg Kroah-Hartman
4deb13e291 This is the 4.4.126 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAlq/s3kACgkQONu9yGCS
 aT6dXRAAxx9C2YS1OGyuxsZ8najiUNcVi7xnvaCSEBUnGccIKlWGx61Ns5o0x5z8
 G6IMqXeAz257fZFWu7b4E18K4g+mQqdGei08BCRhHyFjDY4J+9Fyws5wJjWRGLjf
 z9ABzO0mj+I6xG+UGqQ0A+A0ve5FN4c++ztPmWUA9nlh0EF7v2fMBSKcsHF2RyiZ
 ewrCyByR/ViP0Gwzs534AtFYfxcauNOWumtxtf6IX5t/Tr2ppXOob07fC0W5yKKk
 DfzWAvOdmmCPFXxHK/7uLTRd3g1dlK0BZcowdYrWL/e+15y9OzjGCGPr6hRqhj86
 I9MxtqwwfEBvGGhl2GkhtY7sMHOIckPay6UrgZ644/MJKqCvDst0bxGOqKG0UZsm
 KYqrutbsgwRs1IN3fzVi2hJ8A3M2WkgkKSuSoYi7dDVlUnB18NXmgxUz0F9/K2nu
 CsenjdU6bi1YTMmVdtZ0hdd1B8lCinqBMJyNh2GhndFm2o64IhhuXiO4DtXc5mmd
 GJaRTBePdTbsxexcZS8aSRD32AkhQ+a6zoE13hPz1FpNNmpEWwc6aw6+it32tt8C
 MYPzA2UofER4UGQxr8jGhHedPAo+OUFv/cNEZJSHJ6uatKzDG5eiRf4aYko4hBIg
 iZWHbvKLSsLwfF3BcehPwN67BBxQD6zDA+ME4YDDbuiKCPh27uM=
 =J/QG
 -----END PGP SIGNATURE-----

Merge 4.4.126 into android-4.4

Changes in 4.4.126
	scsi: sg: don't return bogus Sg_requests
	Revert "genirq: Use irqd_get_trigger_type to compare the trigger type for shared IRQs"
	net: Fix hlist corruptions in inet_evict_bucket()
	dccp: check sk for closed state in dccp_sendmsg()
	ipv6: fix access to non-linear packet in ndisc_fill_redirect_hdr_option()
	l2tp: do not accept arbitrary sockets
	net: ethernet: arc: Fix a potential memory leak if an optional regulator is deferred
	net: ethernet: ti: cpsw: add check for in-band mode setting with RGMII PHY interface
	net/iucv: Free memory obtained by kzalloc
	netlink: avoid a double skb free in genlmsg_mcast()
	net: Only honor ifindex in IP_PKTINFO if non-0
	skbuff: Fix not waking applications when errors are enqueued
	team: Fix double free in error path
	s390/qeth: free netdevice when removing a card
	s390/qeth: when thread completes, wake up all waiters
	s390/qeth: lock read device while queueing next buffer
	s390/qeth: on channel error, reject further cmd requests
	ieee802154: 6lowpan: fix possible NULL deref in lowpan_device_event()
	net: fec: Fix unbalanced PM runtime calls
	net: systemport: Rewrite __bcm_sysport_tx_reclaim()
	Linux 4.4.126

Change-Id: Ieb8140451241cca4625f18a616568a1963ea8b01
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2018-03-31 18:48:13 +02:00
Greg Kroah-Hartman
8ff8cb8ec2 Linux 4.4.126 2018-03-31 18:12:35 +02:00
Florian Fainelli
cff88ba2a0 net: systemport: Rewrite __bcm_sysport_tx_reclaim()
[ Upstream commit 484d802d0f2f29c335563fcac2a8facf174a1bbc ]

There is no need for complex checking between the last consumed index
and current consumed index, a simple subtraction will do.

This also eliminates the possibility of a permanent transmit queue stall
under the following conditions:

- one CPU bursts ring->size worth of traffic (up to 256 buffers), to the
  point where we run out of free descriptors, so we stop the transmit
  queue at the end of bcm_sysport_xmit()

- because of our locking, we have the transmit process disable
  interrupts which means we can be blocking the TX reclamation process

- when TX reclamation finally runs, we will be computing the difference
  between ring->c_index (last consumed index by SW) and what the HW
  reports through its register

- this register is masked with (ring->size - 1) = 0xff, which will lead
  to stripping the upper bits of the index (register is 16-bits wide)

- we will be computing last_tx_cn as 0, which means there is no work to
  be done, and we never wake-up the transmit queue, leaving it
  permanently disabled

A practical example is e.g: ring->c_index aka last_c_index = 12, we
pushed 256 entries, HW consumer index = 268, we mask it with 0xff = 12,
so last_tx_cn == 0, nothing happens.

Fixes: 80105befdb ("net: systemport: add Broadcom SYSTEMPORT Ethernet MAC driver")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-31 18:12:34 +02:00
Florian Fainelli
5ebbc4521c net: fec: Fix unbalanced PM runtime calls
[ Upstream commit a069215cf5985f3aa1bba550264907d6bd05c5f7 ]

When unbinding/removing the driver, we will run into the following warnings:

[  259.655198] fec 400d1000.ethernet: 400d1000.ethernet supply phy not found, using dummy regulator
[  259.665065] fec 400d1000.ethernet: Unbalanced pm_runtime_enable!
[  259.672770] fec 400d1000.ethernet (unnamed net_device) (uninitialized): Invalid MAC address: 00:00:00:00:00:00
[  259.683062] fec 400d1000.ethernet (unnamed net_device) (uninitialized): Using random MAC address: f2:3e:93:b7:29:c1
[  259.696239] libphy: fec_enet_mii_bus: probed

Avoid these warnings by balancing the runtime PM calls during fec_drv_remove().

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-31 18:12:34 +02:00
Eric Dumazet
41462e8f61 ieee802154: 6lowpan: fix possible NULL deref in lowpan_device_event()
[ Upstream commit ca0edb131bdf1e6beaeb2b8289fd6b374b74147d ]

A tun device type can trivially be set to arbitrary value using
TUNSETLINK ioctl().

Therefore, lowpan_device_event() must really check that ieee802154_ptr
is not NULL.

Fixes: 2c88b5283f ("ieee802154: 6lowpan: remove check on null")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Alexander Aring <alex.aring@gmail.com>
Cc: Stefan Schmidt <stefan@osg.samsung.com>
Reported-by: syzbot <syzkaller@googlegroups.com>
Acked-by: Stefan Schmidt <stefan@osg.samsung.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-31 18:12:34 +02:00
Julian Wiedmann
bd01dd8b10 s390/qeth: on channel error, reject further cmd requests
[ Upstream commit a6c3d93963e4b333c764fde69802c3ea9eaa9d5c ]

When the IRQ handler determines that one of the cmd IO channels has
failed and schedules recovery, block any further cmd requests from
being submitted. The request would inevitably stall, and prevent the
recovery from making progress until the request times out.

This sort of error was observed after Live Guest Relocation, where
the pending IO on the READ channel intentionally gets terminated to
kick-start recovery. Simultaneously the guest executed SIOCETHTOOL,
triggering qeth to issue a QUERY CARD INFO command. The command
then stalled in the inoperabel WRITE channel.

Signed-off-by: Julian Wiedmann <jwi@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-31 18:12:34 +02:00
Julian Wiedmann
e960fa03f9 s390/qeth: lock read device while queueing next buffer
[ Upstream commit 17bf8c9b3d499d5168537c98b61eb7a1fcbca6c2 ]

For calling ccw_device_start(), issue_next_read() needs to hold the
device's ccwlock.
This is satisfied for the IRQ handler path (where qeth_irq() gets called
under the ccwlock), but we need explicit locking for the initial call by
the MPC initialization.

Signed-off-by: Julian Wiedmann <jwi@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-31 18:12:34 +02:00
Julian Wiedmann
f9b4ec9fb6 s390/qeth: when thread completes, wake up all waiters
[ Upstream commit 1063e432bb45be209427ed3f1ca3908e4aa3c7d7 ]

qeth_wait_for_threads() is potentially called by multiple users, make
sure to notify all of them after qeth_clear_thread_running_bit()
adjusted the thread_running_mask. With no timeout, callers would
otherwise stall.

Signed-off-by: Julian Wiedmann <jwi@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-31 18:12:34 +02:00
Julian Wiedmann
a45300dd7d s390/qeth: free netdevice when removing a card
[ Upstream commit 6be687395b3124f002a653c1a50b3260222b3cd7 ]

On removal, a qeth card's netdevice is currently not properly freed
because the call chain looks as follows:

qeth_core_remove_device(card)
	lx_remove_device(card)
		unregister_netdev(card->dev)
		card->dev = NULL			!!!
	qeth_core_free_card(card)
		if (card->dev)				!!!
			free_netdev(card->dev)

Fix it by free'ing the netdev straight after unregistering. This also
fixes the sysfs-driven layer switch case (qeth_dev_layer2_store()),
where the need to free the current netdevice was not considered at all.

Note that free_netdev() takes care of the netif_napi_del() for us too.

Fixes: 4a71df5004 ("qeth: new qeth device driver")
Signed-off-by: Julian Wiedmann <jwi@linux.vnet.ibm.com>
Reviewed-by: Ursula Braun <ubraun@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-31 18:12:34 +02:00
Arkadi Sharshevsky
24b90c696f team: Fix double free in error path
[ Upstream commit cbcc607e18422555db569b593608aec26111cb0b ]

The __send_and_alloc_skb() receives a skb ptr as a parameter but in
case it fails the skb is not valid:
- Send failed and released the skb internally.
- Allocation failed.

The current code tries to release the skb in case of failure which
causes redundant freeing.

Fixes: 9b00cf2d10 ("team: implement multipart netlink messages for options transfers")
Signed-off-by: Arkadi Sharshevsky <arkadis@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-31 18:12:34 +02:00
Vinicius Costa Gomes
32b36066cd skbuff: Fix not waking applications when errors are enqueued
[ Upstream commit 6e5d58fdc9bedd0255a8781b258f10bbdc63e975 ]

When errors are enqueued to the error queue via sock_queue_err_skb()
function, it is possible that the waiting application is not notified.

Calling 'sk->sk_data_ready()' would not notify applications that
selected only POLLERR events in poll() (for example).

Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Reported-by: Randy E. Witt <randy.e.witt@intel.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-31 18:12:33 +02:00