]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/log
mirror_ubuntu-disco-kernel.git
5 years agothunderx: eliminate extra calls to put_page() for pages held for recycling
Dean Nelson [Tue, 26 Mar 2019 15:53:26 +0000 (11:53 -0400)]
thunderx: eliminate extra calls to put_page() for pages held for recycling

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit cd35ef91490ad8049dd180bb060aff7ee192eda9 ]

For the non-XDP case, commit 773225388dae15e72790 ("net: thunderx: Optimize
page recycling for XDP") added code to nicvf_free_rbdr() that, when releasing
the additional receive buffer page reference held for recycling, repeatedly
calls put_page() until the page's _refcount goes to zero. Which results in
the page being freed.

This is not okay if the page's _refcount was greater than 1 (in the non-XDP
case), because nicvf_free_rbdr() should not be subtracting more than what
nicvf_alloc_page() had previously added to the page's _refcount, which was
only 1 (in the non-XDP case).

This can arise if a received packet is still being processed and the receive
buffer (i.e., skb->head) has not yet been freed via skb_free_head() when
nicvf_free_rbdr() is spinning through the aforementioned put_page() loop.

If this should occur, when the received packet finishes processing and
skb_free_head() is called, various problems can ensue. Exactly what, depends on
whether the page has already been reallocated or not, anything from "BUG: Bad
page state ... ", to "Unable to handle kernel NULL pointer dereference ..." or
"Unable to handle kernel paging request...".

So this patch changes nicvf_free_rbdr() to only call put_page() once for pages
held for recycling (in the non-XDP case).

Fixes: 773225388dae ("net: thunderx: Optimize page recycling for XDP")
Signed-off-by: Dean Nelson <dnelson@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agothunderx: enable page recycling for non-XDP case
Dean Nelson [Tue, 26 Mar 2019 15:53:19 +0000 (11:53 -0400)]
thunderx: enable page recycling for non-XDP case

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit b3e208069477588c06f4d5d986164b435bb06e6d ]

Commit 773225388dae15e72790 ("net: thunderx: Optimize page recycling for XDP")
added code to nicvf_alloc_page() that inadvertently disables receive buffer
page recycling for the non-XDP case by always NULL'ng the page pointer.

This patch corrects two if-conditionals to allow for the recycling of non-XDP
mode pages by only setting the page pointer to NULL when the page is not ready
for recycling.

Fixes: 773225388dae ("net: thunderx: Optimize page recycling for XDP")
Signed-off-by: Dean Nelson <dnelson@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agovxlan: Don't call gro_cells_destroy() before device is unregistered
Zhiqiang Liu [Sat, 16 Mar 2019 09:02:54 +0000 (17:02 +0800)]
vxlan: Don't call gro_cells_destroy() before device is unregistered

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit cc4807bb609230d8959fd732b0bf3bd4c2de8eac ]

Commit ad6c9986bcb62 ("vxlan: Fix GRO cells race condition between
receive and link delete") fixed a race condition for the typical case a vxlan
device is dismantled from the current netns. But if a netns is dismantled,
vxlan_destroy_tunnels() is called to schedule a unregister_netdevice_queue()
of all the vxlan tunnels that are related to this netns.

In vxlan_destroy_tunnels(), gro_cells_destroy() is called and finished before
unregister_netdevice_queue(). This means that the gro_cells_destroy() call is
done too soon, for the same reasons explained in above commit.

So we need to fully respect the RCU rules, and thus must remove the
gro_cells_destroy() call or risk use after-free.

Fixes: 58ce31cca1ff ("vxlan: GRO support at tunnel layer")
Signed-off-by: Suanming.Mou <mousuanming@huawei.com>
Suggested-by: Eric Dumazet <eric.dumazet@gmail.com>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Reviewed-by: Zhiqiang Liu <liuzhiqiang26@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agovrf: prevent adding upper devices
Sabrina Dubroca [Tue, 26 Mar 2019 17:22:16 +0000 (18:22 +0100)]
vrf: prevent adding upper devices

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit 1017e0987117c32783ba7c10fe2e7ff1456ba1dc ]

VRF devices don't work with upper devices. Currently, it's possible to
add a VRF device to a bridge or team, and to create macvlan, macsec, or
ipvlan devices on top of a VRF (bond and vlan are prevented respectively
by the lack of an ndo_set_mac_address op and the NETIF_F_VLAN_CHALLENGED
feature flag).

Fix this by setting the IFF_NO_RX_HANDLER flag (introduced in commit
f5426250a6ec ("net: introduce IFF_NO_RX_HANDLER")).

Cc: David Ahern <dsahern@gmail.com>
Fixes: 193125dbd8eb ("net: Introduce VRF device driver")
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Acked-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agotun: properly test for IFF_UP
Eric Dumazet [Fri, 15 Mar 2019 03:19:47 +0000 (20:19 -0700)]
tun: properly test for IFF_UP

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit 4477138fa0ae4e1b699786ef0600863ea6e6c61c ]

Same reasons than the ones explained in commit 4179cb5a4c92
("vxlan: test dev->flags & IFF_UP before calling netif_rx()")

netif_rx_ni() or napi_gro_frags() must be called under a strict contract.

At device dismantle phase, core networking clears IFF_UP
and flush_all_backlogs() is called after rcu grace period
to make sure no incoming packet might be in a cpu backlog
and still referencing the device.

A similar protocol is used for gro layer.

Most drivers call netif_rx() from their interrupt handler,
and since the interrupts are disabled at device dismantle,
netif_rx() does not have to check dev->flags & IFF_UP

Virtual drivers do not have this guarantee, and must
therefore make the check themselves.

Fixes: 1bd4978a88ac ("tun: honor IFF_UP in tun_get_user()")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: syzbot <syzkaller@googlegroups.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agotipc: fix cancellation of topology subscriptions
Erik Hugne [Thu, 21 Mar 2019 08:11:59 +0000 (09:11 +0100)]
tipc: fix cancellation of topology subscriptions

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit 33872d79f5d1cbedaaab79669cc38f16097a9450 ]

When cancelling a subscription, we have to clear the cancel bit in the
request before iterating over any established subscriptions with memcmp.
Otherwise no subscription will ever be found, and it will not be
possible to explicitly unsubscribe individual subscriptions.

Fixes: 8985ecc7c1e0 ("tipc: simplify endianness handling in topology subscriber")
Signed-off-by: Erik Hugne <erik.hugne@gmail.com>
Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agotipc: change to check tipc_own_id to return in tipc_net_stop
Xin Long [Sat, 23 Mar 2019 16:48:22 +0000 (00:48 +0800)]
tipc: change to check tipc_own_id to return in tipc_net_stop

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit 9926cb5f8b0f0aea535735185600d74db7608550 ]

When running a syz script, a panic occurred:

[  156.088228] BUG: KASAN: use-after-free in tipc_disc_timeout+0x9c9/0xb20 [tipc]
[  156.094315] Call Trace:
[  156.094844]  <IRQ>
[  156.095306]  dump_stack+0x7c/0xc0
[  156.097346]  print_address_description+0x65/0x22e
[  156.100445]  kasan_report.cold.3+0x37/0x7a
[  156.102402]  tipc_disc_timeout+0x9c9/0xb20 [tipc]
[  156.106517]  call_timer_fn+0x19a/0x610
[  156.112749]  run_timer_softirq+0xb51/0x1090

It was caused by the netns freed without deleting the discoverer timer,
while later on the netns would be accessed in the timer handler.

The timer should have been deleted by tipc_net_stop() when cleaning up a
netns. However, tipc has been able to enable a bearer and start d->timer
without the local node_addr set since Commit 52dfae5c85a4 ("tipc: obtain
node identity from interface by default"), which caused the timer not to
be deleted in tipc_net_stop() then.

So fix it in tipc_net_stop() by changing to check local node_id instead
of local node_addr, as Jon suggested.

While at it, remove the calling of tipc_nametbl_withdraw() there, since
tipc_nametbl_stop() will take of the nametbl's freeing after.

Fixes: 52dfae5c85a4 ("tipc: obtain node identity from interface by default")
Reported-by: syzbot+a25307ad099309f1c2b9@syzkaller.appspotmail.com
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Ying Xue <ying.xue@windriver.com>
Acked-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agotipc: allow service ranges to be connect()'ed on RDM/DGRAM
Erik Hugne [Sun, 17 Mar 2019 17:46:42 +0000 (18:46 +0100)]
tipc: allow service ranges to be connect()'ed on RDM/DGRAM

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit ea239314fe42ace880bdd834256834679346c80e ]

We move the check that prevents connecting service ranges to after
the RDM/DGRAM check, and move address sanity control to a separate
function that also validates the service range.

Fixes: 23998835be98 ("tipc: improve address sanity check in tipc_connect()")
Signed-off-by: Erik Hugne <erik.hugne@gmail.com>
Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agotcp: do not use ipv6 header for ipv4 flow
Eric Dumazet [Tue, 19 Mar 2019 12:45:35 +0000 (05:45 -0700)]
tcp: do not use ipv6 header for ipv4 flow

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit 89e4130939a20304f4059ab72179da81f5347528 ]

When a dual stack tcp listener accepts an ipv4 flow,
it should not attempt to use an ipv6 header or tcp_v6_iif() helper.

Fixes: 1397ed35f22d ("ipv6: add flowinfo for tcp6 pkt_options for all cases")
Fixes: df3687ffc665 ("ipv6: add the IPV6_FL_F_REFLECT flag to IPV6_FL_A_GET")
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agosctp: use memdup_user instead of vmemdup_user
Xin Long [Wed, 20 Mar 2019 06:49:38 +0000 (14:49 +0800)]
sctp: use memdup_user instead of vmemdup_user

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit ef82bcfa671b9a635bab5fa669005663d8b177c5 ]

In sctp_setsockopt_bindx()/__sctp_setsockopt_connectx(), it allocates
memory with addrs_size which is passed from userspace. We used flag
GFP_USER to put some more restrictions on it in Commit cacc06215271
("sctp: use GFP_USER for user-controlled kmalloc").

However, since Commit c981f254cc82 ("sctp: use vmemdup_user() rather
than badly open-coding memdup_user()"), vmemdup_user() has been used,
which doesn't check GFP_USER flag when goes to vmalloc_*(). So when
addrs_size is a huge value, it could exhaust memory and even trigger
oom killer.

This patch is to use memdup_user() instead, in which GFP_USER would
work to limit the memory allocation with a huge addrs_size.

Note we can't fix it by limiting 'addrs_size', as there's no demand
for it from RFC.

Reported-by: syzbot+ec1b7575afef85a0e5ca@syzkaller.appspotmail.com
Fixes: c981f254cc82 ("sctp: use vmemdup_user() rather than badly open-coding memdup_user()")
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agosctp: get sctphdr by offset in sctp_compute_cksum
Xin Long [Mon, 18 Mar 2019 11:47:00 +0000 (19:47 +0800)]
sctp: get sctphdr by offset in sctp_compute_cksum

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit 273160ffc6b993c7c91627f5a84799c66dfe4dee ]

sctp_hdr(skb) only works when skb->transport_header is set properly.

But in Netfilter, skb->transport_header for ipv6 is not guaranteed
to be right value for sctphdr. It would cause to fail to check the
checksum for sctp packets.

So fix it by using offset, which is always right in all places.

v1->v2:
  - Fix the changelog.

Fixes: e6d8b64b34aa ("net: sctp: fix and consolidate SCTP checksumming code")
Reported-by: Li Shuang <shuali@redhat.com>
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agorhashtable: Still do rehash when we get EEXIST
Herbert Xu [Thu, 21 Mar 2019 01:39:52 +0000 (09:39 +0800)]
rhashtable: Still do rehash when we get EEXIST

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit 408f13ef358aa5ad56dc6230c2c7deb92cf462b1 ]

As it stands if a shrink is delayed because of an outstanding
rehash, we will go into a rescheduling loop without ever doing
the rehash.

This patch fixes this by still carrying out the rehash and then
rescheduling so that we can shrink after the completion of the
rehash should it still be necessary.

The return value of EEXIST captures this case and other cases
(e.g., another thread expanded/rehashed the table at the same
time) where we should still proceed with the rehash.

Fixes: da20420f83ea ("rhashtable: Add nested tables")
Reported-by: Josh Elsasser <jelsasser@appneta.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Tested-by: Josh Elsasser <jelsasser@appneta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agopackets: Always register packet sk in the same order
Maxime Chevallier [Sat, 16 Mar 2019 13:41:30 +0000 (14:41 +0100)]
packets: Always register packet sk in the same order

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit a4dc6a49156b1f8d6e17251ffda17c9e6a5db78a ]

When using fanouts with AF_PACKET, the demux functions such as
fanout_demux_cpu will return an index in the fanout socket array, which
corresponds to the selected socket.

The ordering of this array depends on the order the sockets were added
to a given fanout group, so for FANOUT_CPU this means sockets are bound
to cpus in the order they are configured, which is OK.

However, when stopping then restarting the interface these sockets are
bound to, the sockets are reassigned to the fanout group in the reverse
order, due to the fact that they were inserted at the head of the
interface's AF_PACKET socket list.

This means that traffic that was directed to the first socket in the
fanout group is now directed to the last one after an interface restart.

In the case of FANOUT_CPU, traffic from CPU0 will be directed to the
socket that used to receive traffic from the last CPU after an interface
restart.

This commit introduces a helper to add a socket at the tail of a list,
then uses it to register AF_PACKET sockets.

Note that this changes the order in which sockets are listed in /proc and
with sock_diag.

Fixes: dc99f600698d ("packet: Add fanout support")
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Acked-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agonet: usb: aqc111: Extend HWID table by QNAP device
Dmitry Bezrukov [Sat, 23 Mar 2019 13:59:53 +0000 (13:59 +0000)]
net: usb: aqc111: Extend HWID table by QNAP device

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit b7ebee2f95fb0fa2862d5ed2de707f872c311393 ]

New device of QNAP based on aqc111u
Add this ID to blacklist of cdc_ether driver as well

Signed-off-by: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agonet-sysfs: call dev_hold if kobject_init_and_add success
YueHaibing [Tue, 19 Mar 2019 02:16:53 +0000 (10:16 +0800)]
net-sysfs: call dev_hold if kobject_init_and_add success

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit a3e23f719f5c4a38ffb3d30c8d7632a4ed8ccd9e ]

In netdev_queue_add_kobject and rx_queue_add_kobject,
if sysfs_create_group failed, kobject_put will call
netdev_queue_release to decrease dev refcont, however
dev_hold has not be called. So we will see this while
unregistering dev:

unregister_netdevice: waiting for bcsh0 to become free. Usage count = -1

Reported-by: Hulk Robot <hulkci@huawei.com>
Fixes: d0d668371679 ("net: don't decrement kobj reference count on init failure")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agonet: stmmac: fix memory corruption with large MTUs
Aaro Koskinen [Mon, 18 Mar 2019 21:36:08 +0000 (23:36 +0200)]
net: stmmac: fix memory corruption with large MTUs

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit 223a960c01227e4dbcb6f9fa06b47d73bda21274 ]

When using 16K DMA buffers and ring mode, the DES3 refill is not working
correctly as the function is using a bogus pointer for checking the
private data. As a result stale pointers will remain in the RX descriptor
ring, so DMA will now likely overwrite/corrupt some already freed memory.

As simple reproducer, just receive some UDP traffic:

# ifconfig eth0 down; ifconfig eth0 mtu 9000; ifconfig eth0 up
# iperf3 -c 192.168.253.40 -u -b 0 -R

If you didn't crash by now check the RX descriptors to find non-contiguous
RX buffers:

cat /sys/kernel/debug/stmmaceth/eth0/descriptors_status
[...]
1 [0x2be5020]: 0xa3220321 0x9ffc1ffc 0x72d70082 0x130e207e
     ^^^^^^^^^^^^^^^^^^^^^
2 [0x2be5040]: 0xa3220321 0x9ffc1ffc 0x72998082 0x1311a07e
     ^^^^^^^^^^^^^^^^^^^^^

A simple ping test will now report bad data:

# ping -s 8200 192.168.253.40
PING 192.168.253.40 (192.168.253.40) 8200(8228) bytes of data.
8208 bytes from 192.168.253.40: icmp_seq=1 ttl=64 time=1.00 ms
wrong data byte #8144 should be 0xd0 but was 0x88

Fix the wrong pointer. Also we must refill DES3 only if the DMA buffer
size is 16K.

Fixes: 54139cf3bb33 ("net: stmmac: adding multiple buffers for rx")
Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Acked-by: Jose Abreu <joabreu@synopsys.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agonet: rose: fix a possible stack overflow
Eric Dumazet [Fri, 15 Mar 2019 17:41:14 +0000 (10:41 -0700)]
net: rose: fix a possible stack overflow

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit e5dcc0c3223c45c94100f05f28d8ef814db3d82c ]

rose_write_internal() uses a temp buffer of 100 bytes, but a manual
inspection showed that given arbitrary input, rose_create_facilities()
can fill up to 110 bytes.

Lets use a tailroom of 256 bytes for peace of mind, and remove
the bounce buffer : we can simply allocate a big enough skb
and adjust its length as needed.

syzbot report :

BUG: KASAN: stack-out-of-bounds in memcpy include/linux/string.h:352 [inline]
BUG: KASAN: stack-out-of-bounds in rose_create_facilities net/rose/rose_subr.c:521 [inline]
BUG: KASAN: stack-out-of-bounds in rose_write_internal+0x597/0x15d0 net/rose/rose_subr.c:116
Write of size 7 at addr ffff88808b1ffbef by task syz-executor.0/24854

CPU: 0 PID: 24854 Comm: syz-executor.0 Not tainted 5.0.0+ #97
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x172/0x1f0 lib/dump_stack.c:113
 print_address_description.cold+0x7c/0x20d mm/kasan/report.c:187
 kasan_report.cold+0x1b/0x40 mm/kasan/report.c:317
 check_memory_region_inline mm/kasan/generic.c:185 [inline]
 check_memory_region+0x123/0x190 mm/kasan/generic.c:191
 memcpy+0x38/0x50 mm/kasan/common.c:131
 memcpy include/linux/string.h:352 [inline]
 rose_create_facilities net/rose/rose_subr.c:521 [inline]
 rose_write_internal+0x597/0x15d0 net/rose/rose_subr.c:116
 rose_connect+0x7cb/0x1510 net/rose/af_rose.c:826
 __sys_connect+0x266/0x330 net/socket.c:1685
 __do_sys_connect net/socket.c:1696 [inline]
 __se_sys_connect net/socket.c:1693 [inline]
 __x64_sys_connect+0x73/0xb0 net/socket.c:1693
 do_syscall_64+0x103/0x610 arch/x86/entry/common.c:290
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x458079
Code: ad b8 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 7b b8 fb ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007f47b8d9dc78 EFLAGS: 00000246 ORIG_RAX: 000000000000002a
RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000000458079
RDX: 000000000000001c RSI: 0000000020000040 RDI: 0000000000000004
RBP: 000000000073bf00 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f47b8d9e6d4
R13: 00000000004be4a4 R14: 00000000004ceca8 R15: 00000000ffffffff

The buggy address belongs to the page:
page:ffffea00022c7fc0 count:0 mapcount:0 mapping:0000000000000000 index:0x0
flags: 0x1fffc0000000000()
raw: 01fffc0000000000 0000000000000000 ffffffff022c0101 0000000000000000
raw: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff88808b1ffa80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffff88808b1ffb00: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 00 00 00 03
>ffff88808b1ffb80: f2 f2 00 00 00 00 00 00 00 00 00 00 00 00 04 f3
                                                             ^
 ffff88808b1ffc00: f3 f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00
 ffff88808b1ffc80: 00 00 00 00 00 00 00 f1 f1 f1 f1 f1 f1 01 f2 01

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: syzbot <syzkaller@googlegroups.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agonet: phy: meson-gxl: fix interrupt support
Jerome Brunet [Thu, 14 Mar 2019 13:49:45 +0000 (14:49 +0100)]
net: phy: meson-gxl: fix interrupt support

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit daa5c4d0167a308306525fd5ab9a5e18e21f4f74 ]

If an interrupt is already pending when the interrupt is enabled on the
GXL phy, no IRQ will ever be triggered.

The fix is simply to make sure pending IRQs are cleared before setting
up the irq mask.

Fixes: cf127ff20af1 ("net: phy: meson-gxl: add interrupt support")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agonet/packet: Set __GFP_NOWARN upon allocation in alloc_pg_vec
Christoph Paasch [Tue, 19 Mar 2019 06:14:52 +0000 (23:14 -0700)]
net/packet: Set __GFP_NOWARN upon allocation in alloc_pg_vec

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit 398f0132c14754fcd03c1c4f8e7176d001ce8ea1 ]

Since commit fc62814d690c ("net/packet: fix 4gb buffer limit due to overflow check")
one can now allocate packet ring buffers >= UINT_MAX. However, syzkaller
found that that triggers a warning:

[   21.100000] WARNING: CPU: 2 PID: 2075 at mm/page_alloc.c:4584 __alloc_pages_nod0
[   21.101490] Modules linked in:
[   21.101921] CPU: 2 PID: 2075 Comm: syz-executor.0 Not tainted 5.0.0 #146
[   21.102784] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 0.5.1 01/01/2011
[   21.103887] RIP: 0010:__alloc_pages_nodemask+0x2a0/0x630
[   21.104640] Code: fe ff ff 65 48 8b 04 25 c0 de 01 00 48 05 90 0f 00 00 41 bd 01 00 00 00 48 89 44 24 48 e9 9c fe 3
[   21.107121] RSP: 0018:ffff88805e1cf920 EFLAGS: 00010246
[   21.107819] RAX: 0000000000000000 RBX: ffffffff85a488a0 RCX: 0000000000000000
[   21.108753] RDX: 0000000000000000 RSI: dffffc0000000000 RDI: 0000000000000000
[   21.109699] RBP: 1ffff1100bc39f28 R08: ffffed100bcefb67 R09: ffffed100bcefb67
[   21.110646] R10: 0000000000000001 R11: ffffed100bcefb66 R12: 000000000000000d
[   21.111623] R13: 0000000000000000 R14: ffff88805e77d888 R15: 000000000000000d
[   21.112552] FS:  00007f7c7de05700(0000) GS:ffff88806d100000(0000) knlGS:0000000000000000
[   21.113612] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   21.114405] CR2: 000000000065c000 CR3: 000000005e58e006 CR4: 00000000001606e0
[   21.115367] Call Trace:
[   21.115705]  ? __alloc_pages_slowpath+0x21c0/0x21c0
[   21.116362]  alloc_pages_current+0xac/0x1e0
[   21.116923]  kmalloc_order+0x18/0x70
[   21.117393]  kmalloc_order_trace+0x18/0x110
[   21.117949]  packet_set_ring+0x9d5/0x1770
[   21.118524]  ? packet_rcv_spkt+0x440/0x440
[   21.119094]  ? lock_downgrade+0x620/0x620
[   21.119646]  ? __might_fault+0x177/0x1b0
[   21.120177]  packet_setsockopt+0x981/0x2940
[   21.120753]  ? __fget+0x2fb/0x4b0
[   21.121209]  ? packet_release+0xab0/0xab0
[   21.121740]  ? sock_has_perm+0x1cd/0x260
[   21.122297]  ? selinux_secmark_relabel_packet+0xd0/0xd0
[   21.123013]  ? __fget+0x324/0x4b0
[   21.123451]  ? selinux_netlbl_socket_setsockopt+0x101/0x320
[   21.124186]  ? selinux_netlbl_sock_rcv_skb+0x3a0/0x3a0
[   21.124908]  ? __lock_acquire+0x529/0x3200
[   21.125453]  ? selinux_socket_setsockopt+0x5d/0x70
[   21.126075]  ? __sys_setsockopt+0x131/0x210
[   21.126533]  ? packet_release+0xab0/0xab0
[   21.127004]  __sys_setsockopt+0x131/0x210
[   21.127449]  ? kernel_accept+0x2f0/0x2f0
[   21.127911]  ? ret_from_fork+0x8/0x50
[   21.128313]  ? do_raw_spin_lock+0x11b/0x280
[   21.128800]  __x64_sys_setsockopt+0xba/0x150
[   21.129271]  ? lockdep_hardirqs_on+0x37f/0x560
[   21.129769]  do_syscall_64+0x9f/0x450
[   21.130182]  entry_SYSCALL_64_after_hwframe+0x49/0xbe

We should allocate with __GFP_NOWARN to handle this.

Cc: Kal Conley <kal.conley@dectris.com>
Cc: Andrey Konovalov <andreyknvl@google.com>
Fixes: fc62814d690c ("net/packet: fix 4gb buffer limit due to overflow check")
Signed-off-by: Christoph Paasch <cpaasch@apple.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agonet: datagram: fix unbounded loop in __skb_try_recv_datagram()
Paolo Abeni [Mon, 25 Mar 2019 13:18:06 +0000 (14:18 +0100)]
net: datagram: fix unbounded loop in __skb_try_recv_datagram()

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit 0b91bce1ebfc797ff3de60c8f4a1e6219a8a3187 ]

Christoph reported a stall while peeking datagram with an offset when
busy polling is enabled. __skb_try_recv_datagram() uses as the loop
termination condition 'queue empty'. When peeking, the socket
queue can be not empty, even when no additional packets are received.

Address the issue explicitly checking for receive queue changes,
as currently done by __skb_wait_for_more_packets().

Fixes: 2b5cd0dfa384 ("net: Change return type of sk_busy_loop from bool to void")
Reported-and-tested-by: Christoph Paasch <cpaasch@apple.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agonet: aquantia: fix rx checksum offload for UDP/TCP over IPv6
Dmitry Bogdanov [Sat, 16 Mar 2019 08:28:18 +0000 (08:28 +0000)]
net: aquantia: fix rx checksum offload for UDP/TCP over IPv6

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit a7faaa0c5dc7d091cc9f72b870d7edcdd6f43f12 ]

TCP/UDP checksum validity was propagated to skb
only if IP checksum is valid.
But for IPv6 there is no validity as there is no checksum in IPv6.
This patch propagates TCP/UDP checksum validity regardless of IP checksum.

Fixes: 018423e90bee ("net: ethernet: aquantia: Add ring support code")
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
Signed-off-by: Nikita Danilov <nikita.danilov@aquantia.com>
Signed-off-by: Dmitry Bogdanov <dmitry.bogdanov@aquantia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agomISDN: hfcpci: Test both vendor & device ID for Digium HFC4S
Bjorn Helgaas [Mon, 18 Mar 2019 13:51:06 +0000 (08:51 -0500)]
mISDN: hfcpci: Test both vendor & device ID for Digium HFC4S

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit fae846e2b7124d4b076ef17791c73addf3b26350 ]

The device ID alone does not uniquely identify a device.  Test both the
vendor and device ID to make sure we don't mistakenly think some other
vendor's 0xB410 device is a Digium HFC4S.  Also, instead of the bare hex
ID, use the same constant (PCI_DEVICE_ID_DIGIUM_HFC4S) used in the device
ID table.

No functional change intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agomac8390: Fix mmio access size probe
Finn Thain [Sat, 16 Mar 2019 03:21:19 +0000 (14:21 +1100)]
mac8390: Fix mmio access size probe

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit bb9e5c5bcd76f4474eac3baf643d7a39f7bac7bb ]

The bug that Stan reported is as follows. After a restart, a 16-bit NIC
may be incorrectly identified as a 32-bit NIC and stop working.

mac8390 slot.E: Memory length resource not found, probing
mac8390 slot.E: Farallon EtherMac II-C (type farallon)
mac8390 slot.E: MAC 00:00:c5:30:c2:99, IRQ 61, 32 KB shared memory at 0xfeed0000, 32-bit access.

The bug never arises after a cold start and only intermittently after a
warm start. (I didn't investigate why the bug is intermittent.)

It turns out that memcpy_toio() is deprecated and memcmp_withio() also
has issues. Replacing these calls with mmio accessors fixes the problem.

Reported-and-tested-by: Stan Johnson <userm57@yahoo.com>
Fixes: 2964db0f5904 ("m68k: Mac DP8390 update")
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoipv6: make ip6_create_rt_rcu return ip6_null_entry instead of NULL
Xin Long [Wed, 20 Mar 2019 06:45:48 +0000 (14:45 +0800)]
ipv6: make ip6_create_rt_rcu return ip6_null_entry instead of NULL

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit 1c87e79a002f6a159396138cd3f3ab554a2a8887 ]

Jianlin reported a crash:

  [  381.484332] BUG: unable to handle kernel NULL pointer dereference at 0000000000000068
  [  381.619802] RIP: 0010:fib6_rule_lookup+0xa3/0x160
  [  382.009615] Call Trace:
  [  382.020762]  <IRQ>
  [  382.030174]  ip6_route_redirect.isra.52+0xc9/0xf0
  [  382.050984]  ip6_redirect+0xb6/0xf0
  [  382.066731]  icmpv6_notify+0xca/0x190
  [  382.083185]  ndisc_redirect_rcv+0x10f/0x160
  [  382.102569]  ndisc_rcv+0xfb/0x100
  [  382.117725]  icmpv6_rcv+0x3f2/0x520
  [  382.133637]  ip6_input_finish+0xbf/0x460
  [  382.151634]  ip6_input+0x3b/0xb0
  [  382.166097]  ipv6_rcv+0x378/0x4e0

It was caused by the lookup function __ip6_route_redirect() returns NULL in
fib6_rule_lookup() when ip6_create_rt_rcu() returns NULL.

So we fix it by simply making ip6_create_rt_rcu() return ip6_null_entry
instead of NULL.

v1->v2:
  - move down 'fallback:' to make it more readable.

Fixes: e873e4b9cc7e ("ipv6: use fib6_info_hold_safe() when necessary")
Reported-by: Jianlin Shi <jishi@redhat.com>
Suggested-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Reviewed-by: David Ahern <dsahern@gmail.com>
Acked-by: Wei Wang <weiwan@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agogtp: change NET_UDP_TUNNEL dependency to select
Matteo Croce [Sat, 16 Mar 2019 00:00:50 +0000 (01:00 +0100)]
gtp: change NET_UDP_TUNNEL dependency to select

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit c22da36688d6298f2e546dcc43fdc1ad35036467 ]

Similarly to commit a7603ac1fc8c ("geneve: change NET_UDP_TUNNEL
dependency to select"), GTP has a dependency on NET_UDP_TUNNEL which
makes impossible to compile it if no other protocol depending on
NET_UDP_TUNNEL is selected.

Fix this by changing the depends to a select, and drop NET_IP_TUNNEL from
the select list, as it already depends on NET_UDP_TUNNEL.

Signed-off-by: Matteo Croce <mcroce@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agogenetlink: Fix a memory leak on error path
YueHaibing [Thu, 21 Mar 2019 07:02:50 +0000 (15:02 +0800)]
genetlink: Fix a memory leak on error path

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit ceabee6c59943bdd5e1da1a6a20dc7ee5f8113a2 ]

In genl_register_family(), when idr_alloc() fails,
we forget to free the memory we possibly allocate for
family->attrbuf.

Reported-by: Hulk Robot <hulkci@huawei.com>
Fixes: 2ae0f17df1cd ("genetlink: use idr to track families")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Reviewed-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agodccp: do not use ipv6 header for ipv4 flow
Eric Dumazet [Tue, 19 Mar 2019 12:46:18 +0000 (05:46 -0700)]
dccp: do not use ipv6 header for ipv4 flow

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit e0aa67709f89d08c8d8e5bdd9e0b649df61d0090 ]

When a dual stack dccp listener accepts an ipv4 flow,
it should not attempt to use an ipv6 header or
inet6_iif() helper.

Fixes: 3df80d9320bc ("[DCCP]: Introduce DCCPv6")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agonetfilter: nf_tables: fix set double-free in abort path
Pablo Neira Ayuso [Thu, 7 Mar 2019 23:58:53 +0000 (00:58 +0100)]
netfilter: nf_tables: fix set double-free in abort path

BugLink: https://bugs.launchpad.net/bugs/1823060
[ Upstream commit 40ba1d9b4d19796afc9b7ece872f5f3e8f5e2c13 ]

The abort path can cause a double-free of an anonymous set.
Added-and-to-be-aborted rule looks like this:

udp dport { 137, 138 } drop

The to-be-aborted transaction list looks like this:

newset
newsetelem
newsetelem
rule

This gets walked in reverse order, so first pass disables the rule, the
set elements, then the set.

After synchronize_rcu(), we then destroy those in same order: rule, set
element, set element, newset.

Problem is that the anonymous set has already been bound to the rule, so
the rule (lookup expression destructor) already frees the set, when then
cause use-after-free when trying to delete the elements from this set,
then try to free the set again when handling the newset expression.

Rule releases the bound set in first place from the abort path, this
causes the use-after-free on set element removal when undoing the new
element transactions. To handle this, skip new element transaction if
set is bound from the abort path.

This is still causes the use-after-free on set element removal.  To
handle this, remove transaction from the list when the set is already
bound.

Joint work with Florian Westphal.

Fixes: f6ac85858976 ("netfilter: nf_tables: unbind set in rule from commit path")
Bugzilla: https://bugzilla.netfilter.org/show_bug.cgi?id=1325
Acked-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRDMA/hns: Use GFP_ATOMIC in hns_roce_v2_modify_qp
YueHaibing [Mon, 4 Mar 2019 02:56:20 +0000 (10:56 +0800)]
RDMA/hns: Use GFP_ATOMIC in hns_roce_v2_modify_qp

BugLink: https://bugs.launchpad.net/bugs/1822897
The the below commit, hns_roce_v2_modify_qp is called inside spinlock
while using GFP_KERNEL. Change it to GFP_ATOMIC.

Fixes: 0425e3e6e0c7 ("RDMA/hns: Support flush cqe for hip08 in kernel space")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit 4e69cf1fe2c52d189acdd06c1fd99cc258aba61f)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRDMA/hns: Bugfix for set hem of SCC
Yangyang Li [Sat, 16 Feb 2019 12:10:25 +0000 (20:10 +0800)]
RDMA/hns: Bugfix for set hem of SCC

BugLink: https://bugs.launchpad.net/bugs/1822897
The method of set hem for scc context is different from other contexts. It
should notify the hardware with the detailed idx in bt0 for scc, while for
other contexts, it only need to notify the bt step and the hardware will
calculate the idx.

Here fixes the following error when unloading the hip08 driver:

[  123.570768] {1}[Hardware Error]: Hardware error from APEI Generic Hardware Error Source: 0
[  123.579023] {1}[Hardware Error]: event severity: recoverable
[  123.584670] {1}[Hardware Error]:  Error 0, type: recoverable
[  123.590317] {1}[Hardware Error]:   section_type: PCIe error
[  123.595877] {1}[Hardware Error]:   version: 4.0
[  123.600395] {1}[Hardware Error]:   command: 0x0006, status: 0x0010
[  123.606562] {1}[Hardware Error]:   device_id: 0000:7d:00.0
[  123.612034] {1}[Hardware Error]:   slot: 0
[  123.616120] {1}[Hardware Error]:   secondary_bus: 0x00
[  123.621245] {1}[Hardware Error]:   vendor_id: 0x19e5, device_id: 0xa222
[  123.627847] {1}[Hardware Error]:   class_code: 000002
[  123.632977] hns3 0000:7d:00.0: aer_status: 0x00000000, aer_mask: 0x00000000
[  123.639928] hns3 0000:7d:00.0: aer_layer=Transaction Layer, aer_agent=Receiver ID
[  123.647400] hns3 0000:7d:00.0: aer_uncor_severity: 0x00000000
[  123.653136] hns3 0000:7d:00.0: PCI error detected, state(=1)!!
[  123.658959] hns3 0000:7d:00.0: ROCEE uncorrected RAS error identified
[  123.665395] hns3 0000:7d:00.0: ROCEE RAS AXI rresp error
[  123.670713] hns3 0000:7d:00.0: requesting reset due to PCI error
[  123.676715] hns3 0000:7d:00.0: received reset event , reset type is 5
[  123.683147] hns3 0000:7d:00.0: AER: Device recovery successful
[  123.688978] hns3 0000:7d:00.0: PF Reset requested
[  123.693684] hns3 0000:7d:00.0: PF failed(=-5) to send mailbox message to VF
[  123.700633] hns3 0000:7d:00.0: inform reset to vf(1) failded -5!

Fixes: 6a157f7d1b14 ("RDMA/hns: Add SCC context allocation support for hip08")
Signed-off-by: Yangyang Li <liyangyang20@huawei.com>
Reviewed-by: Yixian Liu <liuyixian@huawei.com>
Reviewed-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit 6ac16e403900a98f9b330daa5f0d89f76a24c6eb)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRDMA/hns: Modify qp&cq&pd specification according to UM
Lijun Ou [Sat, 16 Feb 2019 12:10:24 +0000 (20:10 +0800)]
RDMA/hns: Modify qp&cq&pd specification according to UM

BugLink: https://bugs.launchpad.net/bugs/1822897
Accroding to hip08's limitation, qp&cq specification is 1M, mtpt
specification 1M in kernel space.

Signed-off-by: Yangyang Li <liyangyang20@huawei.com>
Signed-off-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit 3e394f9413ecba2779b6a1d77095f4d8611a52d2)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRDMA/hns: Configure capacity of hns device
Lijun Ou [Sun, 3 Feb 2019 08:13:07 +0000 (16:13 +0800)]
RDMA/hns: Configure capacity of hns device

BugLink: https://bugs.launchpad.net/bugs/1822897
This patch adds new device capability for IB_DEVICE_MEM_MGT_EXTENSIONS to
indicate device support for the following features:

1. Fast register memory region.
2. send with remote invalidate by frmr
3. local invalidate memory regsion

As well as adds the max depth of frmr page list len.

Signed-off-by: Yangyang Li <liyangyang20@huawei.com>
Signed-off-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit dad1f9802ecee3a21143293b2505e1b57b1ae525)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRDMA/hns: Delete useful prints for aeq subtype event
Yixian Liu [Sun, 3 Feb 2019 08:13:06 +0000 (16:13 +0800)]
RDMA/hns: Delete useful prints for aeq subtype event

BugLink: https://bugs.launchpad.net/bugs/1822897
Current all messages printed for aeq subtype event are wrong.  Thus,
delete them and only the value of subtype event is printed.

Signed-off-by: Yixian Liu <liuyixian@huawei.com>
Signed-off-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit e95c716c7faa0d0eede5eabb6fea2504709e25b6)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRDMA/hns: Set allocated memory to zero for wrid
Yixian Liu [Sun, 3 Feb 2019 08:13:05 +0000 (16:13 +0800)]
RDMA/hns: Set allocated memory to zero for wrid

BugLink: https://bugs.launchpad.net/bugs/1822897
The memory allocated for wrid should be initialized to zero.

Signed-off-by: Yixian Liu <liuyixian@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit f7f27a5f03cc9f47cc14f75a5be25f0f26b1b5ff)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRDMA/hns: Fix the state of rereg mr
Yixian Liu [Sun, 3 Feb 2019 08:13:04 +0000 (16:13 +0800)]
RDMA/hns: Fix the state of rereg mr

BugLink: https://bugs.launchpad.net/bugs/1822897
The state of mr after reregister operation should be set to valid
state. Otherwise, it will keep the same as the state before reregistered.

Signed-off-by: Yixian Liu <liuyixian@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit ab22bf05216a6bb4812448f3a8609489047cf311)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRDMA/hns: Limit minimum ROCE CQ depth to 64
chenglang [Sun, 3 Feb 2019 08:13:03 +0000 (16:13 +0800)]
RDMA/hns: Limit minimum ROCE CQ depth to 64

BugLink: https://bugs.launchpad.net/bugs/1822897
This patch modifies the minimum CQ depth specification of hip08 and is
consistent with the processing of hip06.

Signed-off-by: chenglang <chenglang@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit 704e0e613a6d584fde1c80ead0329e918b4f8671)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRDMA/hns: Fix the chip hanging caused by sending doorbell during reset
Wei Hu (Xavier) [Sun, 3 Feb 2019 12:43:15 +0000 (20:43 +0800)]
RDMA/hns: Fix the chip hanging caused by sending doorbell during reset

BugLink: https://bugs.launchpad.net/bugs/1822897
On hi08 chip, There is a possibility of chip hanging when sending doorbell
during reset. We can fix it by prohibiting doorbell during reset.

Fixes: 2d40788825ac ("RDMA/hns: Add support for processing send wr and receive wr")
Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit d3743fa94ccd177917783726faf54632439ddb54)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRDMA/hns: Fix the chip hanging caused by sending mailbox&CMQ during reset
Wei Hu (Xavier) [Sun, 3 Feb 2019 12:43:14 +0000 (20:43 +0800)]
RDMA/hns: Fix the chip hanging caused by sending mailbox&CMQ during reset

BugLink: https://bugs.launchpad.net/bugs/1822897
On hi08 chip, There is a possibility of chip hanging and some errors when
sending mailbox & doorbell during reset.  We can fix it by prohibiting
mailbox and doorbell during reset and reset occurred to ensure that
hardware can work normally.

Fixes: a04ff739f2a9 ("RDMA/hns: Add command queue support for hip08 RoCE driver")
Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit 6a04aed6afaefd5fd396f23da184298135f31e37)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRDMA/hns: Fix the Oops during rmmod or insmod ko when reset occurs
Wei Hu (Xavier) [Sun, 3 Feb 2019 12:43:13 +0000 (20:43 +0800)]
RDMA/hns: Fix the Oops during rmmod or insmod ko when reset occurs

BugLink: https://bugs.launchpad.net/bugs/1822897
In the reset process, the hns3 NIC driver notifies the RoCE driver to
perform reset related processing by calling the .reset_notify() interface
registered by the RoCE driver in hip08 SoC.

In the current version, if a reset occurs simultaneously during the
execution of rmmod or insmod ko, there may be Oops error as below:

 Internal error: Oops: 86000007 [#1] PREEMPT SMP
 Modules linked in: hns_roce(O) hns3(O) hclge(O) hnae3(O) [last unloaded: hns_roce_hw_v2]
 CPU: 0 PID: 14 Comm: kworker/0:1 Tainted: G           O      4.19.0-ge00d540 #1
 Hardware name: Huawei Technologies Co., Ltd.
 Workqueue: events hclge_reset_service_task [hclge]
 pstate: 60c00009 (nZCv daif +PAN +UAO)
 pc : 0xffff00000100b0b8
 lr : 0xffff00000100aea0
 sp : ffff000009afbab0
 x29: ffff000009afbab0 x28: 0000000000000800
 x27: 0000000000007ff0 x26: ffff80002f90c004
 x25: 00000000000007ff x24: ffff000008f97000
 x23: ffff80003efee0a8 x22: 0000000000001000
 x21: ffff80002f917ff0 x20: ffff8000286ea070
 x19: 0000000000000800 x18: 0000000000000400
 x17: 00000000c4d3225d x16: 00000000000021b8
 x15: 0000000000000400 x14: 0000000000000400
 x13: 0000000000000000 x12: ffff80003fac6e30
 x11: 0000800036303000 x10: 0000000000000001
 x9 : 0000000000000000 x8 : ffff80003016d000
 x7 : 0000000000000000 x6 : 000000000000003f
 x5 : 0000000000000040 x4 : 0000000000000000
 x3 : 0000000000000004 x2 : 00000000000007ff
 x1 : 0000000000000000 x0 : 0000000000000000
 Process kworker/0:1 (pid: 14, stack limit = 0x00000000af8f0ad9)
 Call trace:
  0xffff00000100b0b8
  0xffff00000100b3a0
  hns_roce_init+0x624/0xc88 [hns_roce]
  0xffff000001002df8
  0xffff000001006960
  hclge_notify_roce_client+0x74/0xe0 [hclge]
  hclge_reset_service_task+0xa58/0xbc0 [hclge]
  process_one_work+0x1e4/0x458
  worker_thread+0x40/0x450
  kthread+0x12c/0x130
  ret_from_fork+0x10/0x18
 Code: bad PC value

In the reset process, we will release the resources firstly, and after the
hardware reset is completed, we will reapply resources and reconfigure the
hardware.

We can solve this problem by modifying both the NIC and the RoCE
driver. We can modify the concurrent processing in the NIC driver to avoid
calling the .reset_notify and .uninit_instance ops at the same time. And
we need to modify the RoCE driver to record the reset stage and the
driver's init/uninit state, and check the state in the .reset_notify,
.init_instance. and uninit_instance functions to avoid NULL pointer
operation.

Fixes: cb7a94c9c808 ("RDMA/hns: Add reset process for RoCE in hip08")
Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit d061effc36f7bd38a12912977a37a50ac9140d11)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRDMA/hns: Make some function static
YueHaibing [Fri, 1 Feb 2019 03:11:04 +0000 (11:11 +0800)]
RDMA/hns: Make some function static

BugLink: https://bugs.launchpad.net/bugs/1822897
Fixes the following sparse warnings:

drivers/infiniband/hw/hns/hns_roce_hw_v2.c:5822:5: warning:
 symbol 'hns_roce_v2_query_srq' was not declared. Should it be static?
drivers/infiniband/hw/hns/hns_roce_srq.c:158:6: warning:
 symbol 'hns_roce_srq_free' was not declared. Should it be static?
drivers/infiniband/hw/hns/hns_roce_srq.c:81:5: warning:
 symbol 'hns_roce_srq_alloc' was not declared. Should it be static?

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit c3c668e742397dfc107e44c09606cc68b37df30d)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRDMA/hns: Remove set but not used variable 'rst'
YueHaibing [Thu, 31 Jan 2019 15:19:21 +0000 (15:19 +0000)]
RDMA/hns: Remove set but not used variable 'rst'

BugLink: https://bugs.launchpad.net/bugs/1822897
Fixes gcc '-Wunused-but-set-variable' warning:

drivers/infiniband/hw/hns/hns_roce_hw_v2.c: In function 'hns_roce_v2_qp_flow_control_init':
drivers/infiniband/hw/hns/hns_roce_hw_v2.c:4384:33: warning:
 variable 'rst' set but not used [-Wunused-but-set-variable]

It never used since introduction.

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit da91ddfdc7212e6e716be55a5cf2305ce84a422f)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRDMA/hns: Add timer allocation support for hip08
Yangyang Li [Tue, 18 Dec 2018 13:21:55 +0000 (21:21 +0800)]
RDMA/hns: Add timer allocation support for hip08

BugLink: https://bugs.launchpad.net/bugs/1822897
This patch adds qpc timer and cqc timer allocation support for hardware
timeout retransmission in kernel space driver.

Signed-off-by: Yangyang Li <liyangyang20@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit 0e40dc2f70cda099e13392a26bd37aed24bcd25d)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRDMA/hns: Add SCC context clr support for hip08
Yangyang Li [Tue, 18 Dec 2018 13:21:54 +0000 (21:21 +0800)]
RDMA/hns: Add SCC context clr support for hip08

BugLink: https://bugs.launchpad.net/bugs/1822897
This patch adds SCC context clear support for DCQCN in kernel space
driver.

Signed-off-by: Yangyang Li <liyangyang20@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit aa84fa18741b83daf0f8f160c46ae92f4d6f1343)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRDMA/hns: Add SCC context allocation support for hip08
Yangyang Li [Tue, 18 Dec 2018 13:21:53 +0000 (21:21 +0800)]
RDMA/hns: Add SCC context allocation support for hip08

BugLink: https://bugs.launchpad.net/bugs/1822897
This patch adds SCC context allocation and initialization support for
DCQCN in kernel space driver.

Signed-off-by: Yangyang Li <liyangyang20@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit 6a157f7d1b14eb88d89fbd396cfea15ac4bded2d)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRDMA/hns: Add the process of AEQ overflow for hip08
Xiaofei Tan [Sat, 19 Jan 2019 06:23:29 +0000 (14:23 +0800)]
RDMA/hns: Add the process of AEQ overflow for hip08

BugLink: https://bugs.launchpad.net/bugs/1822897
AEQ overflow will be reported by hardware when too many asynchronous
events occurred but not be handled in time.  Normally, AEQ overflow error
is not easy to occur. Once happened, we have to do physical function reset
to recover.  PF reset is implemented in two steps. Firstly, set reset
level with ae_dev->ops->set_default_reset_request.  Secondly, run reset
with ae_dev->ops->reset_event.

Signed-off-by: Xiaofei Tan <tanxiaofei@huawei.com>
Signed-off-by: Yixian Liu <liuyixian@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit 2b9acb9a97fe9b4101ca020643760c4a090b4cb4)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRDMA/hns: RDMA/hns: Assign rq head pointer when enable rq record db
Lijun Ou [Sat, 12 Jan 2019 10:36:29 +0000 (18:36 +0800)]
RDMA/hns: RDMA/hns: Assign rq head pointer when enable rq record db

BugLink: https://bugs.launchpad.net/bugs/1822897
When flush cqe, it needs to get the pointer of rq and sq from db address
space of user and update it into qp context by modified qp. if rq does not
exist, it will not get the value from db address space of user.

Signed-off-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit de77503a59403e7045c18c6bb0a10c245a99b648)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRDMA/hns: Modify the pbl ba page size for hip08
Lijun Ou [Wed, 12 Dec 2018 09:49:09 +0000 (17:49 +0800)]
RDMA/hns: Modify the pbl ba page size for hip08

BugLink: https://bugs.launchpad.net/bugs/1822897
Modify the pbl ba page size to 16K for in order to support 4G MR size.

Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
Signed-off-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit 91fb4d83b88a7b544ce564c44167aad29d4154f0)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRDMA/hns: Add constraint on the setting of local ACK timeout
Lijun Ou [Wed, 12 Dec 2018 09:49:08 +0000 (17:49 +0800)]
RDMA/hns: Add constraint on the setting of local ACK timeout

BugLink: https://bugs.launchpad.net/bugs/1822897
According to IB protocol, local ACK timeout shall be a 5 bit
value. Currently, hip08 could not support the possible max value 31. Fail
the request in this case.

Signed-off-by: Yixian Liu <liuyixian@huawei.com>
Signed-off-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit 44754b95dd35ee07c462b5425ae9c4cde8c7e7c8)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRDMA/hns: Bugfix for the scene without receiver queue
Lijun Ou [Wed, 12 Dec 2018 09:49:07 +0000 (17:49 +0800)]
RDMA/hns: Bugfix for the scene without receiver queue

BugLink: https://bugs.launchpad.net/bugs/1822897
In some application scenario, the user could not have receive queue when
run rdma write or read operation.

Signed-off-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit 4d103905eb1e4f14cb62fcf962c9d35da7005dea)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRDMA/hns: Fix the bug with updating rq head pointer when flush cqe
Lijun Ou [Wed, 12 Dec 2018 09:49:06 +0000 (17:49 +0800)]
RDMA/hns: Fix the bug with updating rq head pointer when flush cqe

BugLink: https://bugs.launchpad.net/bugs/1822897
When flush cqe with srq, the driver disable to update the rq head pointer
into the hardware.

Signed-off-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit 9c6ccc035c209dda07685e8dba829a203ba17499)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoOnly run regression-suite, if requested to.
Dimitri John Ledkov [Thu, 7 Mar 2019 15:32:22 +0000 (15:32 +0000)]
Only run regression-suite, if requested to.

BugLink: https://bugs.launchpad.net/bugs/1823056
Signed-off-by: Dimitri John Ledkov <xnox@ubuntu.com>
Acked-by: Seth Forshee <seth.forshee@canonical.com>
Acked-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agomake rebuild use skippable error codes when skipping.
Dimitri John Ledkov [Thu, 7 Mar 2019 15:32:21 +0000 (15:32 +0000)]
make rebuild use skippable error codes when skipping.

BugLink: https://bugs.launchpad.net/bugs/1823056
Signed-off-by: Dimitri John Ledkov <xnox@ubuntu.com>
Acked-by: Seth Forshee <seth.forshee@canonical.com>
Acked-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoMake ubuntu-regression-suite skippable on unbootable kernels.
Dimitri John Ledkov [Thu, 7 Mar 2019 15:32:20 +0000 (15:32 +0000)]
Make ubuntu-regression-suite skippable on unbootable kernels.

BugLink: https://bugs.launchpad.net/bugs/1823056
Signed-off-by: Dimitri John Ledkov <xnox@ubuntu.com>
Acked-by: Seth Forshee <seth.forshee@canonical.com>
Acked-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoSkip rebuild test, for regression-suite deps.
Dimitri John Ledkov [Thu, 7 Mar 2019 15:32:19 +0000 (15:32 +0000)]
Skip rebuild test, for regression-suite deps.

BugLink: https://bugs.launchpad.net/bugs/1823056
Signed-off-by: Dimitri John Ledkov <xnox@ubuntu.com>
Acked-by: Seth Forshee <seth.forshee@canonical.com>
Acked-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoSet +x on rebuild testcase.
Dimitri John Ledkov [Thu, 7 Mar 2019 15:32:18 +0000 (15:32 +0000)]
Set +x on rebuild testcase.

BugLink: https://bugs.launchpad.net/bugs/1823056
Signed-off-by: Dimitri John Ledkov <xnox@ubuntu.com>
Acked-by: Seth Forshee <seth.forshee@canonical.com>
Acked-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoUBUNTU: [Config] Update config for AMD MP2 I2C driver
Kai-Heng Feng [Tue, 2 Apr 2019 03:38:46 +0000 (11:38 +0800)]
UBUNTU: [Config] Update config for AMD MP2 I2C driver

BugLink: https://bugs.launchpad.net/bugs/1787775
The new MP2 driver can work as module instead of builtin.
Also this chip is part of Raven Ridge SoC, so it's only used on amd64.

Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoi2c: Add drivers for the AMD PCIe MP2 I2C controller
Kai-Heng Feng [Tue, 2 Apr 2019 03:38:43 +0000 (11:38 +0800)]
i2c: Add drivers for the AMD PCIe MP2 I2C controller

BugLink: https://bugs.launchpad.net/bugs/1787775
From: Elie Morisse <syniurge@gmail.com>

MP2 controllers have two separate busses, so may accommodate up to two I2C
adapters. Those adapters are listed in the ACPI namespace with the
"AMDI0011" HID, and probed by a platform driver.

Communication with the MP2 takes place through MMIO registers, or through
DMA for more than 32 bytes transfers.

This is major rework of the patch submitted by Nehal-bakulchandra Shah from
AMD (https://patchwork.kernel.org/patch/10597369/).

Most of the event handling of v3 was rewritten to make it work with more
than one bus (e.g on Ryzen-based Lenovo Yoga 530), and this version
contains many other improvements.

Signed-off-by: Elie Morisse <syniurge@gmail.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
(cherry picked from commit 529766e0a0114438887382a68d97341fbf8349fb linux-next)
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoi2c: add extra check to safe DMA buffer helper
Kai-Heng Feng [Tue, 2 Apr 2019 03:38:40 +0000 (11:38 +0800)]
i2c: add extra check to safe DMA buffer helper

BugLink: https://bugs.launchpad.net/bugs/1787775
From: Wolfram Sang <wsa+renesas@sang-engineering.com>

Make sure we report 'no buffer' for 0-length messages. This can only
happen if threshold is set to 0 which is kind of bogus but we should
still handle this situation. Update the docs and add a debug message
to educate callers of this function.

Reported-by: Hsin-Yi Wang <hsinyi@chromium.org>
Fixes: e94bc5d18be0 ("i2c: add helpers to ease DMA handling")
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Hsin-Yi Wang <hsinyi@chromium.org>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
(cherry picked from commit bf263c35b2ebe7f1674205f6b36487250299b5a7)
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: i2c:amd I2C Driver based on PCI Interface for upcoming platform"
Kai-Heng Feng [Tue, 2 Apr 2019 03:38:37 +0000 (11:38 +0800)]
Revert "UBUNTU: SAUCE: i2c:amd I2C Driver based on PCI Interface for upcoming platform"

This reverts commit 285d74325106800a894f4c7dc516f4f388a9af99.

Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: i2c:amd move out pointer in union i2c_event_base"
Kai-Heng Feng [Tue, 2 Apr 2019 03:38:36 +0000 (11:38 +0800)]
Revert "UBUNTU: SAUCE: i2c:amd move out pointer in union i2c_event_base"

BugLink: https://bugs.launchpad.net/bugs/1787775
This reverts commit b309826e156caebde28947dc5304562227017c8c.

Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: i2c:amd Depends on ACPI"
Kai-Heng Feng [Tue, 2 Apr 2019 03:38:35 +0000 (11:38 +0800)]
Revert "UBUNTU: SAUCE: i2c:amd Depends on ACPI"

BugLink: https://bugs.launchpad.net/bugs/1787775
This reverts commit c5fa935bf7330eed4ace7583d3da50fa0eeb93bc.

Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoscsi: libsas: Check SMP PHY control function result
John Garry [Mon, 1 Apr 2019 21:18:04 +0000 (15:18 -0600)]
scsi: libsas: Check SMP PHY control function result

BugLink: https://bugs.launchpad.net/bugs/1822680
Currently the SMP PHY control execution result is checked, however the
function result for the command is not.

As such, we may be missing all potential errors, like SMP FUNCTION FAILED,
INVALID REQUEST FRAME LENGTH, etc., meaning the PHY control request has
failed.

In some scenarios we need to ensure the function result is accepted, so add
a check for this.

Tested-by: Jian Luo <luojian5@huawei.com>
Signed-off-by: John Garry <john.garry@huawei.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
(cherry picked from commit 01929a65dfa13e18d89264ab1378854a91857e59)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoUBUNTU: [Config] remove binfmt_aout from abi for i386 lowlatency
Seth Forshee [Tue, 2 Apr 2019 19:35:25 +0000 (14:35 -0500)]
UBUNTU: [Config] remove binfmt_aout from abi for i386 lowlatency

BugLink: https://launchpad.net/bugs/1818552
The patch to disable a.out support removed the module for generic
but missed lowlatency.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoUBUNTU: [Config] update configs following snapdragon removal
Seth Forshee [Tue, 2 Apr 2019 19:34:26 +0000 (14:34 -0500)]
UBUNTU: [Config] update configs following snapdragon removal

BugLink: https://bugs.launchpad.net/bugs/1820868
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoUBUNTU: [Config] update annotations
Seth Forshee [Tue, 2 Apr 2019 14:19:26 +0000 (09:19 -0500)]
UBUNTU: [Config] update annotations

BugLink: https://bugs.launchpad.net/bugs/1820868
Update annotatios for removal of arm64 snapdragon flavour, and
also for a handful of other config changes which weren't reflected
in the annotations.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoUBUNTU: [Config] fix abi for remove i2c-qcom-cci module
Seth Forshee [Tue, 2 Apr 2019 18:39:43 +0000 (13:39 -0500)]
UBUNTU: [Config] fix abi for remove i2c-qcom-cci module

BugLink: https://bugs.launchpad.net/bugs/1820868
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable REMOTEPROC"
Seth Forshee [Tue, 2 Apr 2019 14:25:40 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable REMOTEPROC"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit bd4e3b9bee36809ffb4d6740625bbc03c1cc012d.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable QCOM audio drivers for...
Seth Forshee [Tue, 2 Apr 2019 14:25:40 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable QCOM audio drivers for APQ8016 and DB410c"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit 7e1a4bca8942f224bd2d3e68f99e5aff99e4f6a1.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) kernel: configs; add distro.config"
Seth Forshee [Tue, 2 Apr 2019 14:25:39 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) kernel: configs; add distro.config"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit 5e07c9b2c051b23c72d807eecdd2ac1bc67489c5.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) arm64: configs: enable WCN36xx"
Seth Forshee [Tue, 2 Apr 2019 14:25:39 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) arm64: configs: enable WCN36xx"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit 6aa96d1dc36a7cc09c531073f973108453556f0b.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) kernel: distro.config: enable debug friendly...
Seth Forshee [Tue, 2 Apr 2019 14:25:38 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) kernel: distro.config: enable debug friendly USB network adpater"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit 19cc2ac5b65c2e1ca86761bb22758504821b755f.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) arm64: configs: enable QCOM Venus"
Seth Forshee [Tue, 2 Apr 2019 14:25:38 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) arm64: configs: enable QCOM Venus"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit 76c81c23173f2726529dc49aef6052827eae9a25.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: Enable a53/apcs and avs"
Seth Forshee [Tue, 2 Apr 2019 14:25:37 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: Enable a53/apcs and avs"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit 655c1c6b0f585c02ba8d47db4b099b4ac720f8f3.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) kernel: configs: enable dm_mod and dm_crypt"
Seth Forshee [Tue, 2 Apr 2019 14:25:36 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) kernel: configs: enable dm_mod and dm_crypt"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit 5c3a2278c010ff4cbedc54ad46c5b25968882fc3.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) Force the SMD regulator driver to be compiled-in"
Seth Forshee [Tue, 2 Apr 2019 14:25:36 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) Force the SMD regulator driver to be compiled-in"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit 4fb49933ef8dc78d9f34bdc2ac6112050fcececb.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable CFG80211_DEFAULT_PS...
Seth Forshee [Tue, 2 Apr 2019 14:25:35 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable CFG80211_DEFAULT_PS by default"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit 81b439ea07e1a4a53af069365b871ed66e3f44e9.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) arm64: configs: enable BT_QCOMSMD"
Seth Forshee [Tue, 2 Apr 2019 14:25:35 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) arm64: configs: enable BT_QCOMSMD"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit 51431fac20ef5d0511ef73ce156d42c7d79c7b56.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) kernel: configs: add more USB net drivers"
Seth Forshee [Tue, 2 Apr 2019 14:25:34 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) kernel: configs: add more USB net drivers"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit e58a77984f49e343e159cb249a82f9f1fd3789ea.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: disable ANALOG_TV and DIGITAL_TV"
Seth Forshee [Tue, 2 Apr 2019 14:25:34 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: disable ANALOG_TV and DIGITAL_TV"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit c853c4f745a893eb45ccc5945b60b951d3dc4d80.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) arm64: configs: Enable camera drivers"
Seth Forshee [Tue, 2 Apr 2019 14:25:33 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) arm64: configs: Enable camera drivers"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit 1689146f1bc13a8f3d68e56e7154f7b956cdb4b8.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) kernel: configs: add freq stat to sysfs"
Seth Forshee [Tue, 2 Apr 2019 14:25:32 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) kernel: configs: add freq stat to sysfs"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit dd3eaa4fec7d209da12bab06e57a558fff78d5fd.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable CONFIG_USB_CONFIGFS_F_FS...
Seth Forshee [Tue, 2 Apr 2019 14:25:32 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable CONFIG_USB_CONFIGFS_F_FS by default"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit a250e732f238390968f25a2f044f43f300ad20a7.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) kernel: configs: set USB_CONFIG_F_FS in distro...
Seth Forshee [Tue, 2 Apr 2019 14:25:31 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) kernel: configs: set USB_CONFIG_F_FS in distro.config"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit 8e6ac279e8f96931687ba847f5708d3c3b3f54b7.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) kernel: distro.config: enable 'schedutil' CPUfreq...
Seth Forshee [Tue, 2 Apr 2019 14:25:31 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) kernel: distro.config: enable 'schedutil' CPUfreq governor"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit 6de41236e3f67c70c68ab7ee3bc27aa656aeac76.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) kernel: distro.config: enable 'fq' and 'fq_codel...
Seth Forshee [Tue, 2 Apr 2019 14:25:30 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) kernel: distro.config: enable 'fq' and 'fq_codel' qdiscs"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit d42ea25b1886042fe31c4e3e6b270ad26f1882e0.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) kernel: distro.config: enable 'BBR' TCP congestio...
Seth Forshee [Tue, 2 Apr 2019 14:25:30 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) kernel: distro.config: enable 'BBR' TCP congestion algorithm"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit baa964336a8d26f8f42fad20f739a47da0d0e11c.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable LEDS_QCOM_LPG"
Seth Forshee [Tue, 2 Apr 2019 14:25:29 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable LEDS_QCOM_LPG"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit 552ca5953ec4aacf6d83d830e35c5e53b166c284.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) HACK: drm/msm/iommu: Remove runtime_put calls...
Seth Forshee [Tue, 2 Apr 2019 14:25:29 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) HACK: drm/msm/iommu: Remove runtime_put calls in map/unmap"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit 47c2aae56b3fbd1f55f32f6912b3a01b8f569b08.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) power: avs: Add support for CPR (Core Power Reduc...
Seth Forshee [Tue, 2 Apr 2019 14:25:28 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) power: avs: Add support for CPR (Core Power Reduction)"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit 2c2c3154e15857ffcef19d5cda1a8182f29a2858.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) power: avs: cpr: Use raw mem access for qfprom"
Seth Forshee [Tue, 2 Apr 2019 14:25:27 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) power: avs: cpr: Use raw mem access for qfprom"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit b794bd92b13cbeafb9b0a7d4486698b3b7e69045.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) power: avs: cpr: fix with new reg_sequence struct...
Seth Forshee [Tue, 2 Apr 2019 14:25:27 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) power: avs: cpr: fix with new reg_sequence structures"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit cfff19bf385bdd713fb1be1138b3c641830ff832.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) power: avs: cpr: Register with cpufreq-dt"
Seth Forshee [Tue, 2 Apr 2019 14:25:26 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) power: avs: cpr: Register with cpufreq-dt"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit f52e2c6e64c32106672e07fa8c3ab840e87579e3.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) regulator: smd: Add floor and corner operations"
Seth Forshee [Tue, 2 Apr 2019 14:25:26 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) regulator: smd: Add floor and corner operations"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit 202d2d830af5e7e7b0d3abcd4b1b512c40272f78.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) PM / OPP: Support adjusting OPP voltages at runtime"
Seth Forshee [Tue, 2 Apr 2019 14:25:25 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) PM / OPP: Support adjusting OPP voltages at runtime"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit a17e6ffbebfdcea1e0ea10b84838bd089babad11.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) PM / OPP: Drop RCU usage in dev_pm_opp_adjust_vol...
Seth Forshee [Tue, 2 Apr 2019 14:25:25 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) PM / OPP: Drop RCU usage in dev_pm_opp_adjust_voltage()"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit 225704daac4993d4c23af87e7c91990fe1220080.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) PM / OPP: HACK: Allow to set regulator without...
Seth Forshee [Tue, 2 Apr 2019 14:25:24 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) PM / OPP: HACK: Allow to set regulator without opp_list"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit 75839624406531985a87ad42e519f6d482759dc9.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) PM / OPP: Add a helper to get an opp regulator...
Seth Forshee [Tue, 2 Apr 2019 14:25:24 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) PM / OPP: Add a helper to get an opp regulator for device"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit 951f48d1e5a4bb671b5eacded98604717b86c64d.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) cpufreq: Add apq8016 to cpufreq-dt-platdev blacklist"
Seth Forshee [Tue, 2 Apr 2019 14:25:23 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) cpufreq: Add apq8016 to cpufreq-dt-platdev blacklist"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit f2a52900cd0a1194b67929ba4612296fdc80ccb3.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) regulator: smd: Allow REGULATOR_QCOM_SMD_RPM=m"
Seth Forshee [Tue, 2 Apr 2019 14:25:22 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) regulator: smd: Allow REGULATOR_QCOM_SMD_RPM=m"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit 79d9349574193e91ebc83b4faf43e8f79d7f14b4.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
5 years agoRevert "UBUNTU: SAUCE: (snapdragon) ov5645: I2C address change"
Seth Forshee [Tue, 2 Apr 2019 14:25:22 +0000 (09:25 -0500)]
Revert "UBUNTU: SAUCE: (snapdragon) ov5645: I2C address change"

BugLink: https://bugs.launchpad.net/bugs/1820868
This reverts commit f70aa9c5609f540238a5fc5b339b5db7c34d5346.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>