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

Commit ab494991 authored by Ivaylo Georgiev's avatar Ivaylo Georgiev
Browse files

Merge android-4.19.49 (3f534fa2) into msm-4.19



* refs/heads/tmp-3f534fa2:
  Linux 4.19.49
  media: uvcvideo: Fix uvc_alloc_entity() allocation alignment
  of: overlay: set node fields from properties when add new overlay node
  of: overlay: validate overlay properties #address-cells and #size-cells
  scsi: lpfc: Fix backport of faf5a744f4f8 ("scsi: lpfc: avoid uninitialized variable warning")
  x86/kprobes: Set instruction page as executable
  x86/ftrace: Set trampoline pages as executable
  x86/ftrace: Do not call function graph from dynamic trampolines
  binder: fix race between munmap() and direct reclaim
  Revert "binder: fix handling of misaligned binder object"
  Revert "x86/build: Move _etext to actual end of .text"
  include/linux/module.h: copy __init/__exit attrs to init/cleanup_module
  Compiler Attributes: add support for __copy (gcc >= 9)
  drm/lease: Make sure implicit planes are leased
  drm/rockchip: shutdown drm subsystem on shutdown
  drm/sun4i: Fix sun8i HDMI PHY configuration for > 148.5 MHz
  drm/sun4i: Fix sun8i HDMI PHY clock initialization
  drm/vmwgfx: Don't send drm sysfs hotplug events on initial master set
  drm/tegra: gem: Fix CPU-cache maintenance for BO's allocated using get_pages()
  gcc-plugins: Fix build failures under Darwin host
  Revert "lockd: Show pid of lockd for remote locks"
  CIFS: cifs_read_allocate_pages: don't iterate through whole page array on ENOMEM
  cifs: fix memory leak of pneg_inbuf on -EOPNOTSUPP ioctl case
  staging: wlan-ng: fix adapter initialization failure
  staging: vc04_services: prevent integer overflow in create_pagelist()
  serial: sh-sci: disable DMA for uart_console
  vt/fbcon: deinitialize resources in visual_init() after failed memory allocation
  evm: check hash algorithm passed to init_desc()
  ima: show rules with IMA_INMASK correctly
  doc: Cope with Sphinx logging deprecations
  doc: Cope with the deprecation of AutoReporter
  docs: Fix conf.py for Sphinx 2.0
  arm64: Fix the arm64_personality() syscall wrapper redirection
  kernel/signal.c: trace_signal_deliver when signal_group_exit
  memcg: make it work on sparse non-0-node systems
  tty: max310x: Fix external crystal register setup
  tty: serial: msm_serial: Fix XON/XOFF
  i2c: synquacer: fix synquacer_i2c_doxfer() return value
  i2c: mlxcpld: Fix wrong initialization order in probe
  drm/nouveau/i2c: Disable i2c bus access after ->fini()
  KVM: s390: Do not report unusabled IDs via KVM_CAP_MAX_VCPU_ID
  ALSA: hda/realtek - Improve the headset mic for Acer Aspire laptops
  ALSA: hda/realtek - Set default power save node to 0
  ALSA: line6: Assure canceling delayed work at disconnection
  powerpc/perf: Fix MMCRA corruption by bhrb_filter
  KVM: PPC: Book3S HV: XIVE: Do not clear IRQ data of passthrough interrupts
  s390/crypto: fix possible sleep during spinlock aquired
  s390/crypto: fix gcm-aes-s390 selftest failures
  iio: adc: ti-ads8688: fix timestamp is not updated in buffer
  iio: dac: ds4422/ds4424 fix chip verification
  Btrfs: incremental send, fix file corruption when no-holes feature is enabled
  Btrfs: fix fsync not persisting changed attributes of a directory
  Btrfs: fix race updating log root item during fsync
  Btrfs: fix wrong ctime and mtime of a directory after log replay
  tracing: Avoid memory leak in predicate_parse()
  scsi: zfcp: fix to prevent port_remove with pure auto scan LUNs (only sdevs)
  scsi: zfcp: fix missing zfcp_port reference put on -EBUSY from port_remove
  brcmfmac: fix NULL pointer derefence during USB disconnect
  media: smsusb: better handle optional alignment
  media: usb: siano: Fix false-positive "uninitialized variable" warning
  media: usb: siano: Fix general protection fault in smsusb
  USB: rio500: fix memory leak in close after disconnect
  USB: rio500: refuse more than one device at a time
  USB: Add LPM quirk for Surface Dock GigE adapter
  USB: sisusbvga: fix oops in error path of sisusb_probe
  USB: Fix slab-out-of-bounds write in usb_get_bos_descriptor
  usbip: usbip_host: fix stub_dev lock context imbalance regression
  usbip: usbip_host: fix BUG: sleeping function called from invalid context
  usb: xhci: avoid null pointer deref when bos field is NULL
  xhci: Convert xhci_handshake() to use readl_poll_timeout_atomic()
  xhci: Use %zu for printing size_t type
  xhci: update bounce buffer with correct sg num
  include/linux/bitops.h: sanitize rotate primitives
  sparc64: Fix regression in non-hypervisor TLB flush xcall
  ANDROID: uid_sys_stats: report uid_cputime stats in microseconds
  Revert "fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied"
  cuttlefish_defconfig: update with recent upstream change
  cuttlefish_defconfig: update with recent upstream change

Change-Id: I62be41246e49d33b20377ca090ae4a73bc6b592d
Signed-off-by: default avatarIvaylo Georgiev <irgeorgiev@codeaurora.org>
parents d7864ac2 3f534fa2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ needs_sphinx = '1.3'
extensions = ['kerneldoc', 'rstFlatTable', 'kernel_include', 'cdomain', 'kfigure', 'sphinx.ext.ifconfig']

# The name of the math extension changed on Sphinx 1.4
if major == 1 and minor > 3:
if (major == 1 and minor > 3) or (major > 1):
    extensions.append("sphinx.ext.imgmath")
else:
    extensions.append("sphinx.ext.pngmath")
+33 −11
Original line number Diff line number Diff line
@@ -37,8 +37,20 @@ import glob
from docutils import nodes, statemachine
from docutils.statemachine import ViewList
from docutils.parsers.rst import directives, Directive

#
# AutodocReporter is only good up to Sphinx 1.7
#
import sphinx

Use_SSI = sphinx.__version__[:3] >= '1.7'
if Use_SSI:
    from sphinx.util.docutils import switch_source_input
else:
    from sphinx.ext.autodoc import AutodocReporter

import kernellog

__version__  = '1.0'

class KernelDocDirective(Directive):
@@ -90,7 +102,8 @@ class KernelDocDirective(Directive):
        cmd += [filename]

        try:
            env.app.verbose('calling kernel-doc \'%s\'' % (" ".join(cmd)))
            kernellog.verbose(env.app,
                              'calling kernel-doc \'%s\'' % (" ".join(cmd)))

            p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
            out, err = p.communicate()
@@ -100,7 +113,8 @@ class KernelDocDirective(Directive):
            if p.returncode != 0:
                sys.stderr.write(err)

                env.app.warn('kernel-doc \'%s\' failed with return code %d' % (" ".join(cmd), p.returncode))
                kernellog.warn(env.app,
                               'kernel-doc \'%s\' failed with return code %d' % (" ".join(cmd), p.returncode))
                return [nodes.error(None, nodes.paragraph(text = "kernel-doc missing"))]
            elif env.config.kerneldoc_verbosity > 0:
                sys.stderr.write(err)
@@ -121,21 +135,29 @@ class KernelDocDirective(Directive):
                    lineoffset += 1

            node = nodes.section()
            buf = self.state.memo.title_styles, self.state.memo.section_level, self.state.memo.reporter
            self.state.memo.reporter = AutodocReporter(result, self.state.memo.reporter)
            self.state.memo.title_styles, self.state.memo.section_level = [], 0
            try:
                self.state.nested_parse(result, 0, node, match_titles=1)
            finally:
                self.state.memo.title_styles, self.state.memo.section_level, self.state.memo.reporter = buf
            self.do_parse(result, node)

            return node.children

        except Exception as e:  # pylint: disable=W0703
            env.app.warn('kernel-doc \'%s\' processing failed with: %s' %
            kernellog.warn(env.app, 'kernel-doc \'%s\' processing failed with: %s' %
                           (" ".join(cmd), str(e)))
            return [nodes.error(None, nodes.paragraph(text = "kernel-doc missing"))]

    def do_parse(self, result, node):
        if Use_SSI:
            with switch_source_input(self.state, result):
                self.state.nested_parse(result, 0, node, match_titles=1)
        else:
            save = self.state.memo.title_styles, self.state.memo.section_level, self.state.memo.reporter
            self.state.memo.reporter = AutodocReporter(result, self.state.memo.reporter)
            self.state.memo.title_styles, self.state.memo.section_level = [], 0
            try:
                self.state.nested_parse(result, 0, node, match_titles=1)
            finally:
                self.state.memo.title_styles, self.state.memo.section_level, self.state.memo.reporter = save


def setup(app):
    app.add_config_value('kerneldoc_bin', None, 'env')
    app.add_config_value('kerneldoc_srctree', None, 'env')
+28 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
#
# Sphinx has deprecated its older logging interface, but the replacement
# only goes back to 1.6.  So here's a wrapper layer to keep around for
# as long as we support 1.4.
#
import sphinx

if sphinx.__version__[:3] >= '1.6':
    UseLogging = True
    from sphinx.util import logging
    logger = logging.getLogger('kerneldoc')
else:
    UseLogging = False

def warn(app, message):
    if UseLogging:
        logger.warning(message)
    else:
        app.warn(message)

def verbose(app, message):
    if UseLogging:
        logger.verbose(message)
    else:
        app.verbose(message)

+23 −17
Original line number Diff line number Diff line
@@ -60,6 +60,8 @@ import sphinx
from sphinx.util.nodes import clean_astext
from six import iteritems

import kernellog

PY3 = sys.version_info[0] == 3

if PY3:
@@ -171,20 +173,20 @@ def setupTools(app):
    This function is called once, when the builder is initiated.
    """
    global dot_cmd, convert_cmd   # pylint: disable=W0603
    app.verbose("kfigure: check installed tools ...")
    kernellog.verbose(app, "kfigure: check installed tools ...")

    dot_cmd = which('dot')
    convert_cmd = which('convert')

    if dot_cmd:
        app.verbose("use dot(1) from: " + dot_cmd)
        kernellog.verbose(app, "use dot(1) from: " + dot_cmd)
    else:
        app.warn("dot(1) not found, for better output quality install "
        kernellog.warn(app, "dot(1) not found, for better output quality install "
                       "graphviz from http://www.graphviz.org")
    if convert_cmd:
        app.verbose("use convert(1) from: " + convert_cmd)
        kernellog.verbose(app, "use convert(1) from: " + convert_cmd)
    else:
        app.warn(
        kernellog.warn(app,
            "convert(1) not found, for SVG to PDF conversion install "
            "ImageMagick (https://www.imagemagick.org)")

@@ -220,12 +222,13 @@ def convert_image(img_node, translator, src_fname=None):

    # in kernel builds, use 'make SPHINXOPTS=-v' to see verbose messages

    app.verbose('assert best format for: ' + img_node['uri'])
    kernellog.verbose(app, 'assert best format for: ' + img_node['uri'])

    if in_ext == '.dot':

        if not dot_cmd:
            app.verbose("dot from graphviz not available / include DOT raw.")
            kernellog.verbose(app,
                              "dot from graphviz not available / include DOT raw.")
            img_node.replace_self(file2literal(src_fname))

        elif translator.builder.format == 'latex':
@@ -252,7 +255,8 @@ def convert_image(img_node, translator, src_fname=None):

        if translator.builder.format == 'latex':
            if convert_cmd is None:
                app.verbose("no SVG to PDF conversion available / include SVG raw.")
                kernellog.verbose(app,
                                  "no SVG to PDF conversion available / include SVG raw.")
                img_node.replace_self(file2literal(src_fname))
            else:
                dst_fname = path.join(translator.builder.outdir, fname + '.pdf')
@@ -265,18 +269,19 @@ def convert_image(img_node, translator, src_fname=None):
        _name = dst_fname[len(translator.builder.outdir) + 1:]

        if isNewer(dst_fname, src_fname):
            app.verbose("convert: {out}/%s already exists and is newer" % _name)
            kernellog.verbose(app,
                              "convert: {out}/%s already exists and is newer" % _name)

        else:
            ok = False
            mkdir(path.dirname(dst_fname))

            if in_ext == '.dot':
                app.verbose('convert DOT to: {out}/' + _name)
                kernellog.verbose(app, 'convert DOT to: {out}/' + _name)
                ok = dot2format(app, src_fname, dst_fname)

            elif in_ext == '.svg':
                app.verbose('convert SVG to: {out}/' + _name)
                kernellog.verbose(app, 'convert SVG to: {out}/' + _name)
                ok = svg2pdf(app, src_fname, dst_fname)

            if not ok:
@@ -305,7 +310,8 @@ def dot2format(app, dot_fname, out_fname):
    with open(out_fname, "w") as out:
        exit_code = subprocess.call(cmd, stdout = out)
        if exit_code != 0:
            app.warn("Error #%d when calling: %s" % (exit_code, " ".join(cmd)))
            kernellog.warn(app,
                          "Error #%d when calling: %s" % (exit_code, " ".join(cmd)))
    return bool(exit_code == 0)

def svg2pdf(app, svg_fname, pdf_fname):
@@ -322,7 +328,7 @@ def svg2pdf(app, svg_fname, pdf_fname):
    # use stdout and stderr from parent
    exit_code = subprocess.call(cmd)
    if exit_code != 0:
        app.warn("Error #%d when calling: %s" % (exit_code, " ".join(cmd)))
        kernellog.warn(app, "Error #%d when calling: %s" % (exit_code, " ".join(cmd)))
    return bool(exit_code == 0)


@@ -415,15 +421,15 @@ def visit_kernel_render(self, node):
    app = self.builder.app
    srclang = node.get('srclang')

    app.verbose('visit kernel-render node lang: "%s"' % (srclang))
    kernellog.verbose(app, 'visit kernel-render node lang: "%s"' % (srclang))

    tmp_ext = RENDER_MARKUP_EXT.get(srclang, None)
    if tmp_ext is None:
        app.warn('kernel-render: "%s" unknown / include raw.' % (srclang))
        kernellog.warn(app, 'kernel-render: "%s" unknown / include raw.' % (srclang))
        return

    if not dot_cmd and tmp_ext == '.dot':
        app.verbose("dot from graphviz not available / include raw.")
        kernellog.verbose(app, "dot from graphviz not available / include raw.")
        return

    literal_block = node[0]
+1 −1
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
VERSION = 4
PATCHLEVEL = 19
SUBLEVEL = 48
SUBLEVEL = 49
EXTRAVERSION =
NAME = "People's Front"

Loading