Linux 4.14.261
Greg Kroah-Hartman
maintainerI'm announcing the release of the 4.14.261 kernel.
All users of the 4.14 kernel series must upgrade.
The updated 4.14.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.14.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Makefile | 2 drivers/android/binder_alloc.c | 2 drivers/hid/Kconfig | 1 drivers/input/joystick/spaceball.c | 11 + drivers/input/mouse/appletouch.c | 4 drivers/net/ethernet/freescale/fman/fman_port.c | 12 + drivers/net/usb/pegasus.c | 4 drivers/nfc/st21nfca/i2c.c | 29 +++- drivers/platform/x86/apple-gmux.c | 2 drivers/scsi/lpfc/lpfc_debugfs.c | 4 drivers/scsi/vmw_pvscsi.c | 7 - drivers/tee/tee_private.h | 4 drivers/tee/tee_shm.c | 155 +++++++++--------------- drivers/usb/gadget/function/f_fs.c | 9 - drivers/usb/host/xhci-pci.c | 5 include/net/sctp/sctp.h | 6 include/net/sctp/structs.h | 3 include/uapi/linux/nfc.h | 6 net/ipv4/af_inet.c | 10 - net/sctp/endpointola.c | 23 ++- net/sctp/sctp_diag.c | 12 - net/sctp/socket.c | 23 ++- scripts/recordmcount.pl | 2 security/selinux/hooks.c | 2 24 files changed, 174 insertions(+), 164 deletions(-)
Alexey Makhalov (1):
scsi: vmw_pvscsi: Set residual data length conditionally
Dan Carpenter (1):
scsi: lpfc: Terminate string in lpfc_debugfs_nvmeio_trc_write()
Dmitry V. Levin (1):
uapi: fix linux/nfc.h userspace compilation errors
Greg Kroah-Hartman (1):
Linux 4.14.261
Hans de Goede (1):
HID: asus: Add depends on USB_HID to HID_ASUS Kconfig option
Heiko Carstens (1):
recordmcount.pl: fix typo in s390 mcount regex
Jens Wiklander (1):
tee: handle lookup of shm with reference count 0
Krzysztof Kozlowski (1):
nfc: uapi: use kernel size_t to fix user-space builds
Leo L. Schwab (1):
Input: spaceball - fix parsing of movement data packets
Mathias Nyman (1):
xhci: Fresco FL1100 controller should not have BROKEN_MSI quirk set.
Matthias-Christian Ott (1):
net: usb: pegasus: Do not drop long Ethernet frames
Miaoqian Lin (1):
fsl/fman: Fix missing put_device() call in fman_port_probe
Muchun Song (1):
net: fix use-after-free in tw_timer_handler
Pavel Skripkin (1):
Input: appletouch - initialize work before device registration
Todd Kjos (1):
binder: fix async_free_space accounting for empty parcels
Tom Rix (1):
selinux: initialize proto variable in selinux_ip_postroute_compat()
Vincent Pelletier (1):
usb: gadget: f_fs: Clear ffs_eventfd in ffs_data_clear.
Wang Qing (1):
platform/x86: apple-gmux: use resource_size() with res
Wei Yongjun (1):
NFC: st21nfca: Fix memory leak in device probe and remove
Xin Long (1):
sctp: use call_rcu to free endpoint
Greg Kroah-Hartman
maintainerMakefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 4 PATCHLEVEL = 14 -SUBLEVEL = 260 +SUBLEVEL = 261 EXTRAVERSION = NAME = Petit Gorille
drivers/android/binder_alloc.c +1 -1
@@ -619,7 +619,7 @@ static void binder_free_buf_locked(struct binder_alloc *alloc,BUG_ON (buffer->data > alloc->buffer + alloc->buffer_size);if (buffer->async_transaction) { - alloc->free_async_space += size +sizeof (struct binder_buffer ); + alloc->free_async_space += buffer_size +sizeof (struct binder_buffer ); binder_alloc_debug(BINDER_DEBUG_BUFFER_ALLOC_ASYNC, "%d: binder_free_buf size %zd async free %zd\n",
drivers/hid/Kconfig +1 -0
@@ -148,6 +148,7 @@ config HID_APPLEIR config HID_ASUS tristate "Asus" + depends on USB_HID depends on LEDS_CLASS ---help--- Support for Asus notebook built-in keyboard and touchpad via i2c, and
drivers/input/joystick/spaceball.c +9 -2
@@ -35,6 +35,7 @@#include <linux/module.h> #include <linux/input.h> #include <linux/serio.h> +#include <asm/unaligned.h> #define DRIVER_DESC "SpaceTec SpaceBall 2003/3003/4000 FLX driver"
@@ -91,9 +92,15 @@ static void spaceball_process_packet(struct spaceball* spaceball)case 'D' :/* Ball data */ if (spaceball->idx !=15 )return ; -for (i =0 ; i <6 ; i++) +/* +* Skip first three bytes; read six axes worth of data. +* Axis values are signed 16-bit big-endian. +*/ + data +=3 ; +for (i =0 ; i <ARRAY_SIZE (spaceball_axes); i++) {input_report_abs (dev, spaceball_axes[i], - (__s16)((data[2 * i +3 ] <<8 ) | data[2 * i +2 ])); + (__s16 )get_unaligned_be16 (&data[i *2 ])); + }break ;case 'K' :/* Button data */
drivers/input/mouse/appletouch.c +2 -2
@@ -929,6 +929,8 @@ static int atp_probe(struct usb_interface *iface,set_bit (BTN_TOOL_TRIPLETAP , input_dev->keybit);set_bit (BTN_LEFT , input_dev->keybit); +INIT_WORK (&dev->work, atp_reinit); + error =input_register_device (dev->input);if (error) goto err_free_buffer;
@@ -936,8 +938,6 @@ static int atp_probe(struct usb_interface *iface,/* save our data pointer in this interface device */ usb_set_intfdata (iface, dev); -INIT_WORK (&dev->work, atp_reinit); -return 0 ; err_free_buffer:
drivers/net/ethernet/freescale/fman/fman_port.c +7 -5
@@ -1779,7 +1779,7 @@ static int fman_port_probe(struct platform_device *of_dev) fman =dev_get_drvdata (&fm_pdev->dev);if (!fman) { err = -EINVAL ; - goto return_err; + goto put_device; } err =of_property_read_u32 (port_node,"cell-index" , &val);
@@ -1787,7 +1787,7 @@ static int fman_port_probe(struct platform_device *of_dev)dev_err (port->dev,"%s: reading cell-index for %pOF failed\n" , __func__, port_node); err = -EINVAL ; - goto return_err; + goto put_device; } port_id = (u8 )val; port->dts_params.id = port_id;
@@ -1821,7 +1821,7 @@ static int fman_port_probe(struct platform_device *of_dev) }else {dev_err (port->dev,"%s: Illegal port type\n" , __func__); err = -EINVAL ; - goto return_err; + goto put_device; } port->dts_params.type = port_type;
@@ -1835,7 +1835,7 @@ static int fman_port_probe(struct platform_device *of_dev)dev_err (port->dev,"%s: incorrect qman-channel-id\n" , __func__); err = -EINVAL ; - goto return_err; + goto put_device; } port->dts_params.qman_channel_id = qman_channel_id; }
@@ -1845,7 +1845,7 @@ static int fman_port_probe(struct platform_device *of_dev)dev_err (port->dev,"%s: of_address_to_resource() failed\n" , __func__); err = -ENOMEM ; - goto return_err; + goto put_device; } port->dts_params.fman = fman;
@@ -1870,6 +1870,8 @@ static int fman_port_probe(struct platform_device *of_dev)return 0 ; +put_device: +put_device (&fm_pdev->dev); return_err:of_node_put (port_node); free_port:
drivers/net/usb/pegasus.c +2 -2
@@ -498,11 +498,11 @@ static void read_bulk_callback(struct urb *urb) goto goon; rx_status = buf[count -2 ]; -if (rx_status &0x1e ) { +if (rx_status &0x1c ) {netif_dbg (pegasus, rx_err, net,"RX packet error %x\n" , rx_status); net->stats.rx_errors++; -if (rx_status &0x06 )/* long or runt */ +if (rx_status &0x04 )/* runt */ net->stats.rx_length_errors++;if (rx_status &0x08 ) net->stats.rx_crc_errors++;
drivers/nfc/st21nfca/i2c.c +20 -9
@@ -544,7 +544,8 @@ static int st21nfca_hci_i2c_probe(struct i2c_client *client, phy->gpiod_ena =devm_gpiod_get (dev,"enable" ,GPIOD_OUT_LOW );if (IS_ERR (phy->gpiod_ena)) {nfc_err (dev,"Unable to get ENABLE GPIO\n" ); -return PTR_ERR (phy->gpiod_ena); + r =PTR_ERR (phy->gpiod_ena); + goto out_free; } phy->se_status.is_ese_present =
@@ -555,7 +556,7 @@ static int st21nfca_hci_i2c_probe(struct i2c_client *client, r =st21nfca_hci_platform_init (phy);if (r <0 ) {nfc_err (&client->dev,"Unable to reboot st21nfca\n" ); -return r; + goto out_free; } r = devm_request_threaded_irq(&client->dev, client->irq, NULL,
@@ -564,15 +565,23 @@ static int st21nfca_hci_i2c_probe(struct i2c_client *client, ST21NFCA_HCI_DRIVER_NAME, phy);if (r <0 ) {nfc_err (&client->dev,"Unable to register IRQ handler\n" ); -return r; + goto out_free; } -return st21nfca_hci_probe (phy, &i2c_phy_ops,LLC_SHDLC_NAME , -ST21NFCA_FRAME_HEADROOM , -ST21NFCA_FRAME_TAILROOM , -ST21NFCA_HCI_LLC_MAX_PAYLOAD , - &phy->hdev, - &phy->se_status); + r =st21nfca_hci_probe (phy, &i2c_phy_ops,LLC_SHDLC_NAME , +ST21NFCA_FRAME_HEADROOM , +ST21NFCA_FRAME_TAILROOM , +ST21NFCA_HCI_LLC_MAX_PAYLOAD , + &phy->hdev, + &phy->se_status); +if (r) + goto out_free; + +return 0 ; + +out_free: +kfree_skb (phy->pending_skb); +return r; }static int st21nfca_hci_i2c_remove (struct i2c_client *client)
@@ -585,6 +594,8 @@ static int st21nfca_hci_i2c_remove(struct i2c_client *client)if (phy->powered)st21nfca_hci_i2c_disable (phy); +if (phy->pending_skb) +kfree_skb (phy->pending_skb);return 0 ; }
drivers/platform/x86/apple-gmux.c +1 -1
@@ -628,7 +628,7 @@ static int gmux_probe(struct pnp_dev *pnp, const struct pnp_device_id *id) } gmux_data->iostart = res->start; - gmux_data->iolen = res->end - res->start; + gmux_data->iolen =resource_size (res);if (gmux_data->iolen <GMUX_MIN_IO_LEN ) { pr_err("gmux I/O region too small (%lu < %u)\n",
drivers/scsi/lpfc/lpfc_debugfs.c +2 -2
@@ -2177,8 +2177,8 @@ lpfc_debugfs_nvmeio_trc_write(struct file *file, const char __user *buf,char mybuf[64 ];char *pbuf; -if (nbytes >64 ) - nbytes =64 ; +if (nbytes >63 ) + nbytes =63 ;memset (mybuf,0 ,sizeof (mybuf));
drivers/scsi/vmw_pvscsi.c +5 -2
@@ -578,9 +578,12 @@ static void pvscsi_complete_request(struct pvscsi_adapter *adapter,* Commands like INQUIRY may transfer less data than * requested by the initiator via bufflen. Set residual * count to make upper layer aware of the actual amount -* of data returned. +* of data returned. There are cases when controller +* returns zero dataLen with non zero data - do not set +* residual count in that case. */ -scsi_set_resid (cmd,scsi_bufflen (cmd) - e->dataLen); +if (e->dataLen && (e->dataLen <scsi_bufflen (cmd))) +scsi_set_resid (cmd,scsi_bufflen (cmd) - e->dataLen); cmd->result = (DID_OK <<16 );break ;
drivers/tee/tee_private.h +2 -2
@@ -31,7 +31,7 @@ struct tee_device;* @paddr: physical address of the shared memory * @kaddr: virtual address of the shared memory * @size: size of shared memory -* @dmabuf: dmabuf used to for exporting to user space +* @refcount: reference counter * @flags: defined by TEE_SHM_* in tee_drv.h * @id: unique id of a shared memory object on this device */
@@ -42,7 +42,7 @@ struct tee_shm {phys_addr_t paddr;void *kaddr;size_t size; -struct dma_buf *dmabuf; +refcount_t refcount;u32 flags;int id; };
drivers/tee/tee_shm.c +61 -94
230 lines not on this page · raw message
drivers/usb/gadget/function/f_fs.c +6 -3
@@ -1688,11 +1688,15 @@ static void ffs_data_clear(struct ffs_data *ffs)BUG_ON (ffs->gadget); -if (ffs->epfiles) +if (ffs->epfiles) {ffs_epfiles_destroy (ffs->epfiles, ffs->eps_count); + ffs->epfiles =NULL ; + } -if (ffs->ffs_eventfd) +if (ffs->ffs_eventfd) {eventfd_ctx_put (ffs->ffs_eventfd); + ffs->ffs_eventfd =NULL ; + }kfree (ffs->raw_descs_data);kfree (ffs->raw_strings);
@@ -1705,7 +1709,6 @@ static void ffs_data_reset(struct ffs_data *ffs)ffs_data_clear (ffs); - ffs->epfiles =NULL ; ffs->raw_descs_data =NULL ; ffs->raw_descs =NULL ; ffs->raw_strings =NULL ;
drivers/usb/host/xhci-pci.c +4 -1
@@ -100,7 +100,6 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)/* Look for vendor-specific quirks */ if (pdev->vendor ==PCI_VENDOR_ID_FRESCO_LOGIC && (pdev->device ==PCI_DEVICE_ID_FRESCO_LOGIC_PDK || - pdev->device ==PCI_DEVICE_ID_FRESCO_LOGIC_FL1100 || pdev->device ==PCI_DEVICE_ID_FRESCO_LOGIC_FL1400 )) {if (pdev->device ==PCI_DEVICE_ID_FRESCO_LOGIC_PDK && pdev->revision ==0x0 ) {
@@ -135,6 +134,10 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) pdev->device == PCI_DEVICE_ID_FRESCO_LOGIC_FL1009) xhci->quirks |= XHCI_BROKEN_STREAMS; +if (pdev->vendor ==PCI_VENDOR_ID_FRESCO_LOGIC && + pdev->device ==PCI_DEVICE_ID_FRESCO_LOGIC_FL1100 ) + xhci->quirks |=XHCI_TRUST_TX_LENGTH ; +if (pdev->vendor ==PCI_VENDOR_ID_NEC ) xhci->quirks |=XHCI_NEC_HOST ;
include/net/sctp/sctp.h +3 -3
@@ -118,6 +118,7 @@ extern struct percpu_counter sctp_sockets_allocated;int sctp_asconf_mgmt (struct sctp_sock *,struct sctp_sockaddr_entry *);struct sk_buff *sctp_skb_recv_datagram (struct sock *,int ,int ,int *); +typedef int (*sctp_callback_t )(struct sctp_endpoint *,struct sctp_transport *,void *);int sctp_transport_walk_start (struct rhashtable_iter *iter);void sctp_transport_walk_stop (struct rhashtable_iter *iter); struct sctp_transport *sctp_transport_get_next(struct net *net,
@@ -128,9 +129,8 @@ int sctp_transport_lookup_process(int (*cb)(struct sctp_transport *, void *),struct net *net, const union sctp_addr *laddr, const union sctp_addr *paddr, void *p); -int sctp_for_each_transport (int (*cb)(struct sctp_transport *,void *), -int (*cb_done)(struct sctp_transport *,void *), -struct net *net,int *pos,void *p); +int sctp_transport_traverse_process (sctp_callback_t cb,sctp_callback_t cb_done, +struct net *net,int *pos,void *p);int sctp_for_each_endpoint (int (*cb)(struct sctp_endpoint *,void *),void *p);int sctp_get_sctp_info (struct sock *sk,struct sctp_association *asoc,struct sctp_info *info);
include/net/sctp/structs.h +2 -1
@@ -1272,6 +1272,7 @@ struct sctp_endpoint { reconf_enable:1 ;__u8 strreset_enable; +struct rcu_head rcu; };/* Recover the outter endpoint structure. */
@@ -1287,7 +1288,7 @@ static inline struct sctp_endpoint *sctp_ep(struct sctp_ep_common *base)struct sctp_endpoint *sctp_endpoint_new (struct sock *,gfp_t );void sctp_endpoint_free (struct sctp_endpoint *);void sctp_endpoint_put (struct sctp_endpoint *); -void sctp_endpoint_hold (struct sctp_endpoint *); +int sctp_endpoint_hold (struct sctp_endpoint *ep);void sctp_endpoint_add_asoc (struct sctp_endpoint *,struct sctp_association *); struct sctp_association *sctp_endpoint_lookup_assoc( const struct sctp_endpoint *ep,
include/uapi/linux/nfc.h +3 -3
@@ -261,7 +261,7 @@ enum nfc_sdp_attr {#define NFC_SE_ENABLED 0x1struct sockaddr_nfc { -sa_family_t sa_family; +__kernel_sa_family_t sa_family;__u32 dev_idx;__u32 target_idx;__u32 nfc_protocol;
@@ -269,14 +269,14 @@ struct sockaddr_nfc {#define NFC_LLCP_MAX_SERVICE_NAME 63struct sockaddr_nfc_llcp { -sa_family_t sa_family; +__kernel_sa_family_t sa_family;__u32 dev_idx;__u32 target_idx;__u32 nfc_protocol;__u8 dsap;/* Destination SAP, if known */ __u8 ssap;/* Source SAP to be bound to */ char service_name[NFC_LLCP_MAX_SERVICE_NAME]; /* Service name URI */; -size_t service_name_len; +__kernel_size_t service_name_len; };/* NFC socket protocols */
net/ipv4/af_inet.c +4 -6
@@ -1883,6 +1883,10 @@ static int __init inet_init(void)ip_init (); +/* Initialise per-cpu ipv4 mibs */ +if (init_ipv4_mibs ()) +panic ("%s: Cannot init ipv4 mibs\n" , __func__); +/* Setup TCP slab cache for open requests. */ tcp_init ();
@@ -1911,12 +1915,6 @@ static int __init inet_init(void)if (init_inet_pernet_ops ())pr_crit ("%s: Cannot init ipv4 inet pernet ops\n" , __func__); -/* -* Initialise per-cpu ipv4 mibs -*/ - -if (init_ipv4_mibs ()) -pr_crit ("%s: Cannot init ipv4 mibs\n" , __func__);ipv4_proc_init ();
net/sctp/endpointola.c +15 -8
@@ -242,6 +242,18 @@ void sctp_endpoint_free(struct sctp_endpoint *ep) }/* Final destructor for endpoint. */ +static void sctp_endpoint_destroy_rcu (struct rcu_head *head) +{ + struct sctp_endpoint *ep = container_of(head, struct sctp_endpoint, rcu); +struct sock *sk = ep->base.sk; + +sctp_sk (sk)->ep =NULL ; +sock_put (sk); + +kfree (ep); +SCTP_DBG_OBJCNT_DEC (ep); +} +static void sctp_endpoint_destroy (struct sctp_endpoint *ep) {struct sock *sk;
@@ -275,18 +287,13 @@ static void sctp_endpoint_destroy(struct sctp_endpoint *ep)if (sctp_sk (sk)->bind_hash)sctp_put_port (sk); -sctp_sk (sk)->ep =NULL ; -/* Give up our hold on the sock */ -sock_put (sk); - -kfree (ep); -SCTP_DBG_OBJCNT_DEC (ep); +call_rcu (&ep->rcu, sctp_endpoint_destroy_rcu); }/* Hold a reference to an endpoint. */ -void sctp_endpoint_hold (struct sctp_endpoint *ep) +int sctp_endpoint_hold (struct sctp_endpoint *ep) { -refcount_inc (&ep->base.refcnt); +return refcount_inc_not_zero (&ep->base.refcnt); }/* Release a reference to an endpoint and clean up if there are
net/sctp/sctp_diag.c +6 -6
@@ -276,9 +276,8 @@ static int sctp_tsp_dump_one(struct sctp_transport *tsp, void *p)return err; } -static int sctp_sock_dump (struct sctp_transport *tsp,void *p) +static int sctp_sock_dump (struct sctp_endpoint *ep,struct sctp_transport *tsp,void *p) { -struct sctp_endpoint *ep = tsp->asoc->ep;struct sctp_comm_param *commp = p;struct sock *sk = ep->base.sk;struct sk_buff *skb = commp->skb;
@@ -288,6 +287,8 @@ static int sctp_sock_dump(struct sctp_transport *tsp, void *p)int err =0 ;lock_sock (sk); +if (ep != tsp->asoc->ep) + goto release;list_for_each_entry (assoc, &ep->asocs, asocs) {if (cb->args[4 ] < cb->args[1 ]) goto next;
@@ -330,9 +331,8 @@ static int sctp_sock_dump(struct sctp_transport *tsp, void *p)return err; } -static int sctp_sock_filter (struct sctp_transport *tsp,void *p) +static int sctp_sock_filter (struct sctp_endpoint *ep,struct sctp_transport *tsp,void *p) { -struct sctp_endpoint *ep = tsp->asoc->ep;struct sctp_comm_param *commp = p;struct sock *sk = ep->base.sk;const struct inet_diag_req_v2 *r = commp->r;
@@ -490,8 +490,8 @@ static void sctp_diag_dump(struct sk_buff *skb, struct netlink_callback *cb,if (!(idiag_states & ~(TCPF_LISTEN |TCPF_CLOSE ))) goto done; -sctp_for_each_transport (sctp_sock_filter, sctp_sock_dump, - net, &pos, &commp); +sctp_transport_traverse_process (sctp_sock_filter, sctp_sock_dump, + net, &pos, &commp); cb->args[2 ] = pos; done:
net/sctp/socket.c +15 -8
@@ -4738,11 +4738,12 @@ int sctp_transport_lookup_process(int (*cb)(struct sctp_transport *, void *), }EXPORT_SYMBOL_GPL (sctp_transport_lookup_process); -int sctp_for_each_transport (int (*cb)(struct sctp_transport *,void *), -int (*cb_done)(struct sctp_transport *,void *), -struct net *net,int *pos,void *p) { +int sctp_transport_traverse_process (sctp_callback_t cb,sctp_callback_t cb_done, +struct net *net,int *pos,void *p) +{struct rhashtable_iter hti;struct sctp_transport *tsp; +struct sctp_endpoint *ep;int ret; again:
@@ -4752,26 +4753,32 @@ int sctp_for_each_transport(int (*cb)(struct sctp_transport *, void *), tsp =sctp_transport_get_idx (net, &hti, *pos +1 );for (; !IS_ERR_OR_NULL (tsp); tsp =sctp_transport_get_next (net, &hti)) { - ret =cb (tsp, p); -if (ret) -break ; + ep = tsp->asoc->ep; +if (sctp_endpoint_hold (ep)) {/* asoc can be peeled off */ + ret =cb (ep, tsp, p); +if (ret) +break ; +sctp_endpoint_put (ep); + } (*pos)++;sctp_transport_put (tsp); }sctp_transport_walk_stop (&hti);if (ret) { -if (cb_done && !cb_done (tsp, p)) { +if (cb_done && !cb_done (ep, tsp, p)) { (*pos)++; +sctp_endpoint_put (ep);sctp_transport_put (tsp); goto again; } +sctp_endpoint_put (ep);sctp_transport_put (tsp); }return ret; } -EXPORT_SYMBOL_GPL (sctp_for_each_transport); +EXPORT_SYMBOL_GPL (sctp_transport_traverse_process);/* 7.2.1 Association Status (SCTP_STATUS)
scripts/recordmcount.pl +1 -1
@@ -252,7 +252,7 @@ if ($arch eq "x86_64") { } elsif ($arch eq "s390" && $bits == 64) { if ($cc =~ /-DCC_USING_HOTPATCH/) { - $mcount_regex = "^\\s*([0-9a-fA-F]+):\\s*c0 04 00 00 00 00\\s*(bcrl\\s*0,|jgnop\\s*)[0-9a-f]+ <([^\+]*)>\$"; + $mcount_regex = "^\\s*([0-9a-fA-F]+):\\s*c0 04 00 00 00 00\\s*(brcl\\s*0,|jgnop\\s*)[0-9a-f]+ <([^\+]*)>\$"; $mcount_adjust = 0; } else { $mcount_regex = "^\\s*([0-9a-fA-F]+):\\s*R_390_(PC|PLT)32DBL\\s+_mcount\\+0x2\$";
security/selinux/hooks.c +1 -1
@@ -5321,7 +5321,7 @@ static unsigned int selinux_ip_postroute_compat(struct sk_buff *skb,struct common_audit_data ad;struct lsm_network_audit net = {0 ,};char *addrp; -u8 proto; +u8 proto =0 ;if (sk ==NULL )return NF_ACCEPT ;