From: Ben Hutchings <ben@decadent.org.uk>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: akpm@linux-foundation.org,
"Francesco Ruggeri" <fruggeri@aristanetworks.com>,
"Francesco Ruggeri" <fruggeri@arista.com>,
"David S. Miller" <davem@davemloft.net>
Subject: [PATCH 3.2 083/147] packet: race condition in packet_bind
Date: Mon, 06 Nov 2017 23:03:07 +0000 [thread overview]
Message-ID: <lsq.1510009387.27760750@decadent.org.uk> (raw)
In-Reply-To: <lsq.1510009386.175361203@decadent.org.uk>
3.2.95-rc1 review patch. If anyone has any objections, please let me know.
------------------
From: Francesco Ruggeri <fruggeri@aristanetworks.com>
commit 30f7ea1c2b5f5fb7462c5ae44fe2e40cb2d6a474 upstream.
There is a race conditions between packet_notifier and packet_bind{_spkt}.
It happens if packet_notifier(NETDEV_UNREGISTER) executes between the
time packet_bind{_spkt} takes a reference on the new netdevice and the
time packet_do_bind sets po->ifindex.
In this case the notification can be missed.
If this happens during a dev_change_net_namespace this can result in the
netdevice to be moved to the new namespace while the packet_sock in the
old namespace still holds a reference on it. When the netdevice is later
deleted in the new namespace the deletion hangs since the packet_sock
is not found in the new namespace' &net->packet.sklist.
It can be reproduced with the script below.
This patch makes packet_do_bind check again for the presence of the
netdevice in the packet_sock's namespace after the synchronize_net
in unregister_prot_hook.
More in general it also uses the rcu lock for the duration of the bind
to stop dev_change_net_namespace/rollback_registered_many from
going past the synchronize_net following unlist_netdevice, so that
no NETDEV_UNREGISTER notifications can happen on the new netdevice
while the bind is executing. In order to do this some code from
packet_bind{_spkt} is consolidated into packet_do_dev.
import socket, os, time, sys
proto=7
realDev='em1'
vlanId=400
if len(sys.argv) > 1:
vlanId=int(sys.argv[1])
dev='vlan%d' % vlanId
os.system('taskset -p 0x10 %d' % os.getpid())
s = socket.socket(socket.PF_PACKET, socket.SOCK_RAW, proto)
os.system('ip link add link %s name %s type vlan id %d' %
(realDev, dev, vlanId))
os.system('ip netns add dummy')
pid=os.fork()
if pid == 0:
# dev should be moved while packet_do_bind is in synchronize net
os.system('taskset -p 0x20000 %d' % os.getpid())
os.system('ip link set %s netns dummy' % dev)
os.system('ip netns exec dummy ip link del %s' % dev)
s.close()
sys.exit(0)
time.sleep(.004)
try:
s.bind(('%s' % dev, proto+1))
except:
print 'Could not bind socket'
s.close()
os.system('ip netns del dummy')
sys.exit(0)
os.waitpid(pid, 0)
s.close()
os.system('ip netns del dummy')
sys.exit(0)
Signed-off-by: Francesco Ruggeri <fruggeri@arista.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
[bwh: Backported to 3.2:
- Add the 'dev_curr' variable
- Drop the packet_cached_dev changes
- Adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
net/packet/af_packet.c | 80 +++++++++++++++++++++++++++++++-------------------
1 file changed, 49 insertions(+), 31 deletions(-)
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -2468,33 +2468,70 @@ static int packet_release(struct socket
* Attach a packet hook.
*/
-static int packet_do_bind(struct sock *sk, struct net_device *dev, __be16 protocol)
+static int packet_do_bind(struct sock *sk, const char *name, int ifindex,
+ __be16 protocol)
{
struct packet_sock *po = pkt_sk(sk);
+ struct net_device *dev_curr;
+ struct net_device *dev = NULL;
+ int ret = 0;
+ bool unlisted = false;
- if (po->fanout) {
- if (dev)
- dev_put(dev);
-
+ if (po->fanout)
return -EINVAL;
- }
lock_sock(sk);
spin_lock(&po->bind_lock);
- unregister_prot_hook(sk, true);
+ rcu_read_lock();
+
+ if (name) {
+ dev = dev_get_by_name_rcu(sock_net(sk), name);
+ if (!dev) {
+ ret = -ENODEV;
+ goto out_unlock;
+ }
+ } else if (ifindex) {
+ dev = dev_get_by_index_rcu(sock_net(sk), ifindex);
+ if (!dev) {
+ ret = -ENODEV;
+ goto out_unlock;
+ }
+ }
+
+ if (dev)
+ dev_hold(dev);
+
+ dev_curr = po->prot_hook.dev;
+
+ if (po->running) {
+ rcu_read_unlock();
+ __unregister_prot_hook(sk, true);
+ rcu_read_lock();
+ dev_curr = po->prot_hook.dev;
+ if (dev)
+ unlisted = !dev_get_by_index_rcu(sock_net(sk),
+ dev->ifindex);
+ }
po->num = protocol;
po->prot_hook.type = protocol;
- if (po->prot_hook.dev)
- dev_put(po->prot_hook.dev);
- po->prot_hook.dev = dev;
- po->ifindex = dev ? dev->ifindex : 0;
+ if (unlikely(unlisted)) {
+ dev_put(dev);
+ po->prot_hook.dev = NULL;
+ po->ifindex = -1;
+ } else {
+ po->prot_hook.dev = dev;
+ po->ifindex = dev ? dev->ifindex : 0;
+ }
+
+ if (dev_curr)
+ dev_put(dev_curr);
if (protocol == 0)
goto out_unlock;
- if (!dev || (dev->flags & IFF_UP)) {
+ if (!unlisted && (!dev || (dev->flags & IFF_UP))) {
register_prot_hook(sk);
} else {
sk->sk_err = ENETDOWN;
@@ -2503,9 +2540,10 @@ static int packet_do_bind(struct sock *s
}
out_unlock:
+ rcu_read_unlock();
spin_unlock(&po->bind_lock);
release_sock(sk);
- return 0;
+ return ret;
}
/*
@@ -2517,8 +2555,6 @@ static int packet_bind_spkt(struct socke
{
struct sock *sk = sock->sk;
char name[15];
- struct net_device *dev;
- int err = -ENODEV;
/*
* Check legality
@@ -2528,19 +2564,13 @@ static int packet_bind_spkt(struct socke
return -EINVAL;
strlcpy(name, uaddr->sa_data, sizeof(name));
- dev = dev_get_by_name(sock_net(sk), name);
- if (dev)
- err = packet_do_bind(sk, dev, pkt_sk(sk)->num);
- return err;
+ return packet_do_bind(sk, name, 0, pkt_sk(sk)->num);
}
static int packet_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
{
struct sockaddr_ll *sll = (struct sockaddr_ll *)uaddr;
struct sock *sk = sock->sk;
- struct net_device *dev = NULL;
- int err;
-
/*
* Check legality
@@ -2551,16 +2581,8 @@ static int packet_bind(struct socket *so
if (sll->sll_family != AF_PACKET)
return -EINVAL;
- if (sll->sll_ifindex) {
- err = -ENODEV;
- dev = dev_get_by_index(sock_net(sk), sll->sll_ifindex);
- if (dev == NULL)
- goto out;
- }
- err = packet_do_bind(sk, dev, sll->sll_protocol ? : pkt_sk(sk)->num);
-
-out:
- return err;
+ return packet_do_bind(sk, NULL, sll->sll_ifindex,
+ sll->sll_protocol ? : pkt_sk(sk)->num);
}
static struct proto packet_proto = {
next prev parent reply other threads:[~2017-11-06 23:34 UTC|newest]
Thread overview: 149+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-06 23:03 [PATCH 3.2 000/147] 3.2.95-rc1 review Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 057/147] l2tp: initialise session's refcount before making it reachable Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 115/147] eicon: fix -Warray-bounds warning Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 104/147] ASoC: wm8993: Refactor set_pll code to avoid GCC warnings Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 109/147] netfilter: xt_socket: fix compilation warnings with gcc 4.7 Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 005/147] USB: cdc-acm: add device-id for quirky printer Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 075/147] sch_tbf: fix two null pointer dereferences on init failure Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 027/147] xtensa: don't limit csum_partial export by CONFIG_NET Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 092/147] ALSA: seq: Enable 'use' locking in all configurations Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 024/147] xtensa: fix cache aliasing handling code for WT cache Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 141/147] scsi: advansys: remove #warning message Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 144/147] staging: bcm: add 32-bit host dependency Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 095/147] eCryptfs: initialize payload_len in keystore.c Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 069/147] net_sched: fix error recovery at qdisc creation Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 040/147] Input: trackpoint - add new trackpoint firmware ID Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 102/147] ASoC: wm_hubs: Silence reg_r and reg_l 'may be used uninitialized' warnings Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 063/147] l2tp: remove useless duplicate session detection in l2tp_netlink Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 081/147] ALSA: seq: Fix use-after-free at creating a port Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 113/147] IB/mlx4: Fix compiler warning about uninitialized 'vlan' variable Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 072/147] sch_hfsc: fix null pointer deref and double free on init failure Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 013/147] IB/cxgb3: Fix error codes in iwch_alloc_mr() Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 119/147] [media] tda18212: silence compiler warning Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 053/147] xfrm_user: fix info leak in xfrm_notify_sa() Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 084/147] packet: hold bind lock when rebinding to fanout hook Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 105/147] ASoC: wm8985: Refactor set_pll code to avoid gcc warnings Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 031/147] ocfs2: don't clear SGID when inheriting ACLs Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 143/147] am2150: Update nmclan_cs.c to use update PCMCIA API Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 088/147] USB: fix out-of-bounds in usb_set_configuration Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 001/147] fuse: initialize the flock flag in fuse_file on allocation Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 114/147] gigaset: silence GCC warning for unused 'format_ie' Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 004/147] USB: serial: cp210x: add support for Qivicon USB ZigBee dongle Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 078/147] cifs: check MaxPathNameComponentLength != 0 before using it Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 077/147] epoll: fix race between ep_poll_callback(POLLFREE) and ep_free()/ep_remove() Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 061/147] l2tp: hold tunnel while handling genl tunnel updates Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 125/147] aic94xx: Skip reading user settings if flash is not found Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 017/147] perf/core: Invert perf_read_group() loops Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 021/147] sctp: don't dereference ptr before leaving _sctp_walk_{params, errors}() Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 030/147] net/mlx4_en: Fix wrong indication of Wake-on-LAN (WoL) support Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 070/147] sch_htb: fix crash on init failure Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 056/147] dm: fix printk() rate limiting code Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 089/147] usb: usbtest: fix NULL pointer dereference Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 059/147] l2tp: hold tunnel while looking up sessions in l2tp_netlink Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 016/147] ipv4: initialize fib_trie prior to register_netdev_notifier call Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 138/147] drm/i915: Clean up multi-threaded forcewake patch Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 066/147] cpumask: fix spurious cpumask_of_node() on non-NUMA multi-node configs Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 035/147] af_key: do not use GFP_KERNEL in atomic contexts Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 094/147] cifs: silence compiler warnings showing up with gcc-4.7.0 Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 003/147] staging:iio:resolver:ad2s1210 fix negative IIO_ANGL_VEL read Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 082/147] KEYS: don't let add_key() update an uninstantiated key Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 135/147] mct_u232: Fix use of uninitialized pointer in mct_u323_startup() Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 048/147] PM/hibernate: touch NMI watchdog when creating snapshot Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 047/147] perf/core: Fix group {cpu,task} validation Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 064/147] l2tp: hold tunnel used while creating sessions with netlink Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 080/147] mac80211: accept key reinstall without changing anything Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 123/147] platform/x86: samsung-laptop: Initialize loca variable Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 034/147] xfs: fix inobt inode allocation search optimization Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 147/147] ARM: 8160/1: drop warning about return_address not using unwind tables Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 103/147] dccp: Fix compile warning in probe code Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 090/147] HID: usbhid: fix out-of-bounds bug Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 112/147] intel_idle: Fix a cast to pointer from integer of different size warning in intel_idle Ben Hutchings
2017-11-06 23:03 ` Ben Hutchings [this message]
2017-11-06 23:03 ` [PATCH 3.2 091/147] USB: core: fix out-of-bounds access bug in usb_get_bos_descriptor() Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 002/147] iio: light: tsl2563: use correct event code Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 032/147] RDMA/uverbs: Prevent leak of reserved field Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 054/147] xfrm_user: fix info leak in build_aevent() Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 131/147] staging:iio:gyro:adis16080: remove sparse warnings Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 051/147] ipv6: Fix may be used uninitialized warning in rt6_check Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 073/147] sch_cbq: fix null pointer dereferences on init failure Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 107/147] ALSA: snd-usb-caiaq: initialize card pointer Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 062/147] l2tp: hold tunnel while handling genl TUNNEL_GET commands Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 039/147] mm/mempolicy: fix use after free when calling get_mempolicy Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 127/147] staging: cxt1e1: remove unnecessary function, VMETRO_TRACE Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 046/147] perf: Tighten (and fix) the grouping condition Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 058/147] l2tp: define parameters of l2tp_session_get*() as "const" Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 129/147] iio: staging: ad7298_ring: Fix maybe-uninitialized warning Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 007/147] usb: renesas_usbhs: fixup resume method for autonomy mode Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 010/147] mount: copy the port field into the cloned nfs_server structure Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 146/147] Staging: wlan-ng: fix sparse warning in prism2fw.c Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 101/147] ASoC: adau1373: adau1373_hw_params: Silence overflow warning Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 093/147] mm/huge_memory: Fix unused label warning Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 008/147] usb: renesas_usbhs: fix usbhsc_resume() for !USBHSF_RUNTIME_PWCTRL Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 045/147] qlge: avoid memcpy buffer overflow Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 108/147] nilfs2: fix gcc uninitialized-variable warnings in powerpc build Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 133/147] staging/slicoss: Fix operation may be undefined warning Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 067/147] alpha: uapi: Add support for __SANE_USERSPACE_TYPES__ Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 099/147] drivers/block/DAC960: fix -Wuninitialized warning Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 049/147] ipv6: Add rt6_get_cookie() function Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 126/147] staging: comedi: vmk80xx: fix compiler warning Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 050/147] ipv6: add rcu grace period before freeing fib6_node Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 110/147] hwmon: (w83781d) Fix compile warning Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 065/147] ipv6: fix sparse warning on rt6i_node Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 085/147] packet: in packet_do_bind, test fanout with bind_lock held Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 036/147] audit: Fix use after free in audit_remove_watch_rule() Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 068/147] CIFS: remove endian related sparse warning Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 120/147] mtd: map: Fix compilation warning Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 139/147] [media] rc: Fix input deadlock and transmit error in redrat3 driver Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 011/147] x86/acpi: Prevent out of bound access caused by broken ACPI tables Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 041/147] ALSA: core: Fix unexpected error at replacing user TLV Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 060/147] l2tp: hold tunnel while processing genl delete command Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 134/147] staging: reduce stack usage in prism2fw.c Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 121/147] vmw_balloon: fix for a -Wuninitialized warning Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 130/147] [SCSI] mpt2sas: fix for unused variable 'event_data' warning Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 137/147] [media] mxl111sf: remove an unused variable Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 019/147] IB/ipoib: Prevent setting negative values to max_nonsrq_conn_qp Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 014/147] RDMA/uverbs: Fix the check for port number Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 116/147] [media] xc4000: Fix a few warnings Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 020/147] IB/ipoib: Remove double pointer assigning Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 044/147] cifs: return ENAMETOOLONG for overlong names in cifs_open()/cifs_lookup() Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 097/147] cuse: fix uninitialized variable warnings Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 096/147] ACPICA: Fix 'may be used uninitialized' warning in acpi_ns_repair_object() Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 128/147] Staging: iio/accel: Changed return type of lis3l02dq_read_event_config() to int Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 015/147] RDMA/core: Initialize port_num in qp_attr Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 018/147] perf/core: Fix locking for children siblings group read Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 142/147] net: am2150: fix nmclan_cs.c shared interrupt handling Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 111/147] pkt_sched: Fix warning false positives Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 118/147] [media] tda18218: silence compiler warning Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 042/147] ipv6: accept 64k - 1 packet length in ip6_find_1stfragopt() Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 043/147] ALSA: hda - Add stereo mic quirk for Lenovo G50-70 (17aa:3978) Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 037/147] parisc: pci memory bar assignment fails with 64bit kernels on dino/cujo Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 122/147] mtd: sst25l: kill unused variable Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 136/147] ray_cs: Fix array bounds warnings Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 009/147] libata: array underflow in ata_find_dev() Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 029/147] gpio: tegra: fix unbalanced chained_irq_enter/exit Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 022/147] sctp: fix the check for _sctp_walk_params and _sctp_walk_errors Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 098/147] drivers/block/DAC960: fix DAC960_V2_IOCTL_Opcode_T -Wenum-compare warning Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 086/147] ALSA: usb-audio: Kill stray URB at exiting Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 055/147] dm: convert DM printk macros to pr_<level> macros Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 106/147] edac: i7300_edac: Fix 'may be used uninitialized' warning Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 100/147] drbd: check MODULE for THIS_MODULE Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 132/147] sfc: Merge efx_mcdi_mac_check_fault() and efx_mcdi_get_mac_faults() Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 079/147] fix unbalanced page refcounting in bio_map_user_iov Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 117/147] isdn: hfcpci_softirq: get func return to suppress compiler warning Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 087/147] ALSA: usb-audio: Check out-of-bounds access by corrupted buffer descriptor Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 026/147] xtensa: add missing symbol exports Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 071/147] sch_multiq: fix double free on init failure Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 076/147] wl1251: add a missing spin_lock_init() Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 074/147] sch_netem: avoid null pointer deref on init failure Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 023/147] ARM: pxa: select both FB and FB_W100 for eseries Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 025/147] USB: hcd: Mark secondary HCD as dead if the primary one died Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 033/147] IB/uverbs: Fix device cleanup Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 006/147] usb: storage: return on error to avoid a null pointer dereference Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 140/147] [SCSI] libsas: prevent double completion of scmds from eh Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 012/147] cxgb4: Fix error codes in c4iw_create_cq() Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 052/147] r8169: Do not increment tx_dropped in TX ring cleaning Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 038/147] ALSA: usb-audio: Add mute TLV for playback volumes on C-Media devices Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 145/147] staging: vt6655: fix overly large stack usage Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 028/147] xtensa: mm/cache: add missing EXPORT_SYMBOLs Ben Hutchings
2017-11-06 23:03 ` [PATCH 3.2 124/147] drivers/rtc/rtc-m41t80.c: remove disabled alarm functionality Ben Hutchings
2017-11-07 14:18 ` [PATCH 3.2 000/147] 3.2.95-rc1 review Guenter Roeck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=lsq.1510009387.27760750@decadent.org.uk \
--to=ben@decadent.org.uk \
--cc=akpm@linux-foundation.org \
--cc=davem@davemloft.net \
--cc=fruggeri@arista.com \
--cc=fruggeri@aristanetworks.com \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®