Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge pull request #1 from torvalds/master #391

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Merge pull request #1 from torvalds/master #391

wants to merge 1 commit into from

Conversation

zhouhanjiang
Copy link

20170217sync

@KernelPRBot
Copy link

Hi @zhouhanjiang!

Thanks for your contribution to the Linux kernel!

Linux kernel development happens on mailing lists, rather than on GitHub - this GitHub repository is a read-only mirror that isn't used for accepting contributions. So that your change can become part of Linux, please email it to us as a patch.

Sending patches isn't quite as simple as sending a pull request, but fortunately it is a well documented process.

Here's what to do:

  • Format your contribution according to kernel requirements
  • Decide who to send your contribution to
  • Set up your system to send your contribution as an email
  • Send your contribution and wait for feedback

How do I format my contribution?

The Linux kernel community is notoriously picky about how contributions are formatted and sent. Fortunately, they have documented their expectations.

Firstly, all contributions need to be formatted as patches. A patch is a plain text document showing the change you want to make to the code, and documenting why it is a good idea.

You can create patches with git format-patch.

Secondly, patches need 'commit messages', which is the human-friendly documentation explaining what the change is and why it's necessary.

Thirdly, changes have some technical requirements. There is a Linux kernel coding style, and there are licensing requirements you need to comply with.

Both of these are documented in the Submitting Patches documentation that is part of the kernel.

Note that you will almost certainly have to modify your existing git commits to satisfy these requirements. Don't worry: there are many guides on the internet for doing this.

Who do I send my contribution to?

The Linux kernel is composed of a number of subsystems. These subsystems are maintained by different people, and have different mailing lists where they discuss proposed changes.

If you don't already know what subsystem your change belongs to, the get_maintainer.pl script in the kernel source can help you.

get_maintainer.pl will take the patch or patches you created in the previous step, and tell you who is responsible for them, and what mailing lists are used. You can also take a look at the MAINTAINERS file by hand.

Make sure that your list of recipients includes a mailing list. If you can't find a more specific mailing list, then LKML - the Linux Kernel Mailing List - is the place to send your patches.

It's not usually necessary to subscribe to the mailing list before you send the patches, but if you're interested in kernel development, subscribing to a subsystem mailing list is a good idea. (At this point, you probably don't need to subscribe to LKML - it is a very high traffic list with about a thousand messages per day, which is often not useful for beginners.)

How do I send my contribution?

Use git send-email, which will ensure that your patches are formatted in the standard manner. In order to use git send-email, you'll need to configure git to use your SMTP email server.

For more information about using git send-email, look at the Git documentation or type git help send-email. There are a number of useful guides and tutorials about git send-email that can be found on the internet.

How do I get help if I'm stuck?

Firstly, don't get discouraged! There are an enormous number of resources on the internet, and many kernel developers who would like to see you succeed.

Many issues - especially about how to use certain tools - can be resolved by using your favourite internet search engine.

If you can't find an answer, there are a few places you can turn:

  • Kernel Newbies - this website contains a lot of useful resources for new kernel developers.
  • If you'd like a step-by-step, challenge-based introduction to kernel development, the Eudyptula Challenge would be an excellent start.
  • The kernel documentation - see also the Documentation directory in the kernel tree.

If you get really, really stuck, you could try the owners of this bot, @daxtens and @ajdlinux. Please be aware that we do have full-time jobs, so we are almost certainly the slowest way to get answers!

I sent my patch - now what?

You wait.

You can check that your email has been received by checking the mailing list archives for the mailing list you sent your patch to. Messages may not be received instantly, so be patient. Kernel developers are generally very busy people, so it may take a few weeks before your patch is looked at.

Then, you keep waiting. Three things may happen:

  • You might get a response to your email. Often these will be comments, which may require you to make changes to your patch, or explain why your way is the best way. You should respond to these comments, and you may need to submit another revision of your patch to address the issues raised.
  • Your patch might be merged into the subsystem tree. Code that becomes part of Linux isn't merged into the main repository straight away - it first goes into the subsystem tree, which is managed by the subsystem maintainer. It is then batched up with a number of other changes sent to Linus for inclusion. (This process is described in some detail in the kernel development process guide).
  • Your patch might be ignored completely. This happens sometimes - don't take it personally. Here's what to do:
    • Wait a bit more - patches often take several weeks to get a response; more if they were sent at a busy time.
    • Kernel developers often silently ignore patches that break the rules. Check for obvious violations of the the Submitting Patches guidelines, the style guidelines, and any other documentation you can find about your subsystem. Check that you're sending your patch to the right place.
    • Try again later. When you resend it, don't add angry commentary, as that will get your patch ignored. It might also get you silently blacklisted.

Further information

Happy hacking!

This message was posted by a bot - if you have any questions or suggestions, please talk to my owners, @ajdlinux and @daxtens, or raise an issue at https://github.com/ajdlinux/KernelPRBot.

fengguang pushed a commit to 0day-ci/linux that referenced this pull request Feb 20, 2017
Lines containing "} else {" should not be detected as unbalanced braces.
But the second check can be reduced to ".+else\s*{" and it therefore
never checked if the beginning of a line contains any other character
(like the relevant "}"). This check would also return true for
"} else {" and create warnings like

    CHECK: Unbalanced braces around else statement
    torvalds#391: FILE: ./net/batman-adv/tvlv.c:391:
    +   } else {

The check can be changed to check the whole line for the missing "}" to
avoid this false positive.

Fixes: 0d15324 ("checkpatch: notice unbalanced else braces in a patch")
Signed-off-by: Sven Eckelmann <[email protected]>
fengguang pushed a commit to 0day-ci/linux that referenced this pull request Feb 23, 2017
Lines containing "} else {" should not be detected as unbalanced braces. 
But the second check can be reduced to ".+else\s*{" and it therefore never
checked if the beginning of a line contains any other character (like the
relevant "}").  This check would also return true for "} else {" and
create warnings like

    CHECK: Unbalanced braces around else statement
    torvalds#391: FILE: ./net/batman-adv/tvlv.c:391:
    +   } else {

The check can be changed to check the whole line for the missing "}" to
avoid this false positive.

Fixes: 0d15324 ("checkpatch: notice unbalanced else braces in a patch")
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Sven Eckelmann <[email protected]>
Acked-by: Joe Perches <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
torvalds pushed a commit that referenced this pull request Feb 25, 2017
Lines containing "} else {" should not be detected as unbalanced braces.
But the second check can be reduced to ".+else\s*{" and it therefore
never checked if the beginning of a line contains any other character
(like the relevant "}").  This check would also return true for "} else
{" and create warnings like

    CHECK: Unbalanced braces around else statement
    #391: FILE: ./net/batman-adv/tvlv.c:391:
    +   } else {

The check can be changed to check the whole line for the missing "}" to
avoid this false positive.

Fixes: 0d15324 ("checkpatch: notice unbalanced else braces in a patch")
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Sven Eckelmann <[email protected]>
Acked-by: Joe Perches <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
fengguang pushed a commit to 0day-ci/linux that referenced this pull request Feb 25, 2017
Lines containing "} else {" should not be detected as unbalanced braces. 
But the second check can be reduced to ".+else\s*{" and it therefore never
checked if the beginning of a line contains any other character (like the
relevant "}").  This check would also return true for "} else {" and
create warnings like

    CHECK: Unbalanced braces around else statement
    torvalds#391: FILE: ./net/batman-adv/tvlv.c:391:
    +   } else {

The check can be changed to check the whole line for the missing "}" to
avoid this false positive.

Fixes: 0d15324 ("checkpatch: notice unbalanced else braces in a patch")
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Sven Eckelmann <[email protected]>
Acked-by: Joe Perches <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
fengguang pushed a commit to 0day-ci/linux that referenced this pull request Feb 28, 2017
GIT e5d56efc97f8240d0b5d66c03949382b6d7e5570

commit 6e5c8381d1db4c1cdd4b4e49d5f0d1255c2246fd
Author: Joe Perches <[email protected]>
Date:   Thu Feb 23 22:29:40 2017 -0800

    treewide: Remove remaining executable attributes from source files
    
    These are the current source files that should not have
    executable attributes set.
    
    [ Normally this would be sent through Andrew Morton's tree
      but his quilt tools don't like permission only patches. ]
    
    Signed-off-by: Joe Perches <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 915f3e3f76c05b2da93c4cc278eebc2d9219d9f4
Author: Thomas Gleixner <[email protected]>
Date:   Sat Feb 25 11:27:37 2017 +0100

    mac80211_hwsim: Replace bogus hrtimer clockid
    
    mac80211_hwsim initializes a hrtimer with clockid CLOCK_MONOTONIC_RAW.
    That's not supported.
    
    Use CLOCK_MONOTNIC instead.
    
    Signed-off-by: Thomas Gleixner <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit af050abb5c2e5e7d3e1368475d63cbac597dc34f
Author: Paul Gortmaker <[email protected]>
Date:   Mon Feb 13 19:37:00 2017 -0500

    platform/x86: intel_turbo_max_3: make it explicitly non-modular
    
    The Kconfig currently controlling compilation of this code is:
    
    drivers/platform/x86/Kconfig:config INTEL_TURBO_MAX_3
    drivers/platform/x86/Kconfig:   bool "Intel Turbo Boost Max Technology 3.0 enumeration driver"
    
    ...meaning that it currently is not being built as a module by anyone.
    
    Lets remove the couple traces of modular infrastructure use, so that
    when reading the driver there is no doubt it is builtin-only.
    
    Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
    
    We also delete the MODULE_LICENSE tag etc. since all that information
    was (or is now) contained at the top of the file in the comments.
    
    We do uncover some implicit includes during build coverage that
    were hidden behind the module.h which pulls in a lot of dependants.
    
    Cc: Andy Shevchenko <[email protected]>
    Cc: Srinivas Pandruvada <[email protected]>
    Cc: [email protected]
    Signed-off-by: Paul Gortmaker <[email protected]>
    Signed-off-by: Darren Hart <[email protected]>

commit 8d2c4538dbc7154c4aed1364db127a0e51dbd459
Author: Alex Hung <[email protected]>
Date:   Thu Feb 16 20:58:03 2017 +0800

    platform/x86: dell-laptop: Add Latitude 7480 and others to the DMI whitelist
    
    This is to support Latitude 7480 and many other newer Dell laptops.
    
    Signed-off-by: Alex Hung <[email protected]>
    Reviewed-by: Pali Rohár <[email protected]>
    Signed-off-by: Darren Hart <[email protected]>

commit bd5762a0c1c9ae66bd0ece6959bbc5013ab95dcd
Author: Alex Hung <[email protected]>
Date:   Tue Feb 14 15:20:34 2017 +0800

    platform/x86: intel-hid: Support 5 button array
    
    New firmwares include a feature called 5 button array that supports
    super key, volume up/down, rotation lock and power button. Support
    for this feature is required to fix power button on some recent
    systems.
    
    This patch was tested on a Dell Latitude 7480.
    
    Signed-off-by: Alex Hung <[email protected]>
    Reviewed-by: Michał Kępień <[email protected]>
    Signed-off-by: Darren Hart <[email protected]>

commit c685e20df5cfa11cee0954be70456872c4f670f0
Author: Hans de Goede <[email protected]>
Date:   Thu Feb 9 16:44:13 2017 +0100

    platform/x86: thinkpad_acpi: Call led_classdev_notify_brightness_hw_changed on kbd brightness change
    
    Make thinkpad_acpi call led_classdev_notify_brightness_hw_changed on the
    kbd_led led_classdev registered by thinkpad_acpi when the kbd backlight
    brightness is changed through the hotkey.
    
    This will allow userspace to monitor (poll) for brightness changes on
    these LEDs caused by the hotkey.
    
    Signed-off-by: Hans de Goede <[email protected]>
    Acked-by: Henrique de Moraes Holschuh <[email protected]>
    Signed-off-by: Andy Shevchenko <[email protected]>
    Acked-by: Pavel Machek <[email protected]>

commit 86ec0c2c0b527dc1574e5e95436bec5499102a3d
Author: Hans de Goede <[email protected]>
Date:   Thu Feb 9 16:44:12 2017 +0100

    platform/x86: thinkpad_acpi: Use brightness_set_blocking callback for LEDs
    
    Now a days the LED core can take care of executing brightness_set from
    a workqueue if it needs to sleep, make use of this and remove a bunch
    of DIY code for this.
    
    Since this commit removes the workqueue usage for LEDs, the
    led_sysfs_blink_set callback may now also sleep, this is fine.
    
    Signed-off-by: Hans de Goede <[email protected]>
    Acked-by: Henrique de Moraes Holschuh <[email protected]>
    Signed-off-by: Andy Shevchenko <[email protected]>
    Acked-by: Pavel Machek <[email protected]>

commit 06da5325d02ed3e9be9fbc7d0d621a04efc96961
Author: Hans de Goede <[email protected]>
Date:   Thu Feb 9 16:44:11 2017 +0100

    platform/x86: thinkpad_acpi: Stop setting led_classdev brightness directly
    
    There is no need to set the led_classdev's brightness value from
    its set_brightness callback, this is taken care of by the led-core and
    thinkpad_acpi really should not be mucking with it.
    
    Note that kbdlight_set_level_and_update() is still used by the old
    thinpad_acpi specific sysfs interface for the led, so we cannot
    remove it.
    
    Signed-off-by: Hans de Goede <[email protected]>
    Acked-by: Henrique de Moraes Holschuh <[email protected]>
    Signed-off-by: Andy Shevchenko <[email protected]>
    Acked-by: Pavel Machek <[email protected]>

commit b8c5099b0027f013dad115b8d00f36f12cb13bb4
Author: Hans de Goede <[email protected]>
Date:   Sun Jan 29 14:42:52 2017 +0100

    leds: class: Add new optional brightness_hw_changed attribute
    
    Some LEDs may have their brightness level changed autonomously
    (outside of kernel control) by hardware / firmware. This commit
    adds support for an optional brightness_hw_changed attribute to
    signal such changes to userspace (if a driver can detect them):
    
    What:		/sys/class/leds/<led>/brightness_hw_changed
    Date:		January 2017
    KernelVersion:	4.11
    Description:
    		Last hardware set brightness level for this LED. Some LEDs
    		may be changed autonomously by hardware/firmware. Only LEDs
    		where this happens and the driver can detect this, will
    		have this file.
    
    		This file supports poll() to detect when the hardware
    		changes the brightness.
    
    		Reading this file will return the last brightness level set
    		by the hardware, this may be different from the current
    		brightness.
    
    Drivers which want to support this, simply add LED_BRIGHT_HW_CHANGED to
    their flags field and call led_classdev_notify_brightness_hw_changed()
    with the hardware set brightness when they detect a hardware / firmware
    triggered brightness change.
    
    Signed-off-by: Hans de Goede <[email protected]>
    Acked-by: Pavel Machek <[email protected]>
    Signed-off-by: Jacek Anaszewski <[email protected]>

commit 5ffa572a431ff3fd6175419656603519fa471c27
Author: Chris Chiu <[email protected]>
Date:   Wed Feb 8 07:51:41 2017 -0600

    platform/x86: acer-wmi: add another KEY_WLAN keycode
    
    Now that we have informed the firmware that the RF Button driver is
    active, laptops such as the Acer TravelMate P238-M will generate
    a WMI key event with code 0x86 when the Fn+F3 airplane mode key is
    pressed.
    
    Add this keycode to the table so that it is converted to an appropriate
    input event.
    
    Signed-off-by: Chris Chiu <[email protected]>
    Signed-off-by: Daniel Drake <[email protected]>
    Signed-off-by: Andy Shevchenko <[email protected]>

commit 280642c3c8dda79da39e056fd5480d1c3942524e
Author: Chris Chiu <[email protected]>
Date:   Wed Feb 8 07:51:40 2017 -0600

    platform/x86: acer-wmi: Inform firmware that RF Button Driver is active
    
    The same method to activate LM(Launch Manager) can also be used to
    activate the RF Button driver with different bit toggled in the same
    lm_status. To express that many functions this byte field can achieve,
    rename the lm_status to app_status. And also the app_mask is the bit
    mask which specifically indicate which bits are going to be changed.
    
    This solves a problem where the AR9565 wifi included in the
    Acer Aspire ES1-421 is permanently hard blocked according to the rfkill
    GPIO read by ath9k.
    
    Signed-off-by: Chris Chiu <[email protected]>
    Signed-off-by: Daniel Drake <[email protected]>
    Reviewed-by: Lee, Chun-Yi <[email protected]>
    Signed-off-by: Andy Shevchenko <[email protected]>

commit 4ac20e62efc6b8a63a1a534ddf236af7fe8849b5
Author: João Paulo Rechi Vita <[email protected]>
Date:   Mon Feb 6 10:20:21 2017 -0500

    platform/x86: asus-wireless: Fix indentation
    
    Fix indentation problem introduced when this driver was first merged into
    the kernel.
    
    Signed-off-by: João Paulo Rechi Vita <[email protected]>
    Signed-off-by: Andy Shevchenko <[email protected]>

commit 4b7fb9fcf917f7eda8da8f2bf335539067772c4d
Author: João Paulo Rechi Vita <[email protected]>
Date:   Tue Feb 7 16:45:10 2017 -0500

    platform/x86: asus-wireless: Use per-HID HSWC parameters
    
    Some Asus machines use 0x4/0x5 as their LED on/off values, while others
    use 0x0/0x1, as shown in the DSDT excerpts below. Luckily it seems this
    behavior is tied to different HIDs, after looking at 44 DSDTs from
    different Asus models.
    
    Another small difference is that a few of them call GWBL instead of
    OWGS, and SWBL instead of OWGD. That does not seem to make a difference
    for asus-wireless, and is additional reasoning to not try to call these
    methods directly.
    
    Device (ASHS)                       | Device (ASHS)
    {                                   | {
        Name (_HID, "ATK4002")          |     Name (_HID, "ATK4001")
        Method (HSWC, 1, Serialized)    |     Method (HSWC, 1, Serialized)
        {                               |     {
            If ((Arg0 < 0x02))          |         If ((Arg0 < 0x02))
            {                           |         {
                OWGD (Arg0)             |             OWGD (Arg0)
                Return (One)            |             Return (One)
            }                           |         }
            If ((Arg0 == 0x02))         |
            {                           |         If ((Arg0 == 0x02))
                Local0 = OWGS ()        |         {
                If (Local0)             |             Return (OWGS ())
                {                       |         }
                        Return (0x05)   |
                }                       |         If ((Arg0 == 0x03))
                Else                    |         {
                {                       |             Return (0xFF)
                        Return (0x04)   |         }
                }                       |
            }                           |         If ((Arg0 == 0x80))
            If ((Arg0 == 0x03))         |         {
            {                           |            Return (One)
                Return (0xFF)           |         }
            }                           |     }
            If ((Arg0 == 0x04))         |     Method (_STA, 0, NotSerialized)
            {                           |     {
                OWGD (Zero)             |         If ((MSOS () >= OSW8))
                Return (One)            |         {
            }                           |             Return (0x0F)
            If ((Arg0 == 0x05))         |         }
            {                           |         Else
                OWGD (One)              |         {
                Return (One)            |             Return (Zero)
            }                           |         }
            If ((Arg0 == 0x80))         |     }
            {                           | }
                Return (One)            |
            }                           |
        }                               |
        Method (_STA, 0, NotSerialized) |
        {                               |
            If ((MSOS () >= OSW8))      |
            {                           |
                Return (0x0F)           |
            }                           |
            Else                        |
            {                           |
                Return (Zero)           |
            }                           |
        }                               |
    }                                   |
    
    Signed-off-by: João Paulo Rechi Vita <[email protected]>
    Signed-off-by: Andy Shevchenko <[email protected]>

commit 23e775db8cb90a3bde18d7c5e3bcc90a59395978
Author: Rajneesh Bhardwaj <[email protected]>
Date:   Mon Feb 13 16:11:47 2017 +0530

    platform/x86: intel_pmc_ipc: Add APL PMC PCI Id
    
    This patch adds the PCI Device id for Power Management Controller on Intel
    Apollo Lake platforms.
    
    Intel PMC IPC Driver loads as a platform driver on Apollo Lake platforms
    since Intel BIOS hides the PCI Configuration space for 0:13:1 and
    re-enumerates it as ACPI device (INT34D2). The correct PCI Device ID should
    be added if some platform firmware choses to enumerate the device via PCI
    space.
    
    Signed-off-by: Rajneesh Bhardwaj <[email protected]>
    Signed-off-by: Andy Shevchenko <[email protected]>

commit 76062b4ae2ea54fcfb8fce6940921a90f33f38da
Author: Shanth Murthy <[email protected]>
Date:   Mon Feb 13 04:02:52 2017 -0800

    platform/x86: intel_pmc_ipc: read s0ix residency API
    
    This patch adds a new API to indicate S0ix residency in usec. It utilizes
    the PMC Global Control Registers (GCR) to read deep and shallow
    S0ix residency.
    
    PMC MMIO resources:
            o Lower 4kB: IPC1 (PMC inter-processor communication) interface
            o Upper 4kB: GCR (Global Control Registers)
    
    This enables the power management framework to take corrective actions when
    the platform fails to enter S0ix after kernel freeze as part of the suspend
    to idle flow. (echo freeze > /sys/power/state).
    
    This is expected to be used with a S0ix failsafe framework such as:
    <https://lwn.net/Articles/689505/>
    
    [rajneesh: folded in "fix division in 32-bit case" from Andy Shevchenko]
    Signed-off-by: Rajneesh Bhardwaj <[email protected]>
    Signed-off-by: Shanth Murthy <[email protected]>
    [andy: fixed kbuild error, removed "total" from variables, fixed macro]
    Signed-off-by: Andy Shevchenko <[email protected]>

commit 8e4b8c7d7df78a2c8fe4ba0daf12fc877f353f5c
Author: Andy Shevchenko <[email protected]>
Date:   Wed Feb 8 17:33:01 2017 +0200

    platform/x86: alienware-wmi: Remove header duplicate
    
    No need to #include <linux/acpi.h> twice. Remove second occurrence.
    
    Signed-off-by: Andy Shevchenko <[email protected]>

commit 25b4a38fcf1be7f425b3a9eb94998c35f5b763ee
Author: Andy Shevchenko <[email protected]>
Date:   Wed Feb 8 19:03:19 2017 +0200

    platform/x86: intel_mid_powerbtn: Use SCU IPC directly
    
    On older Intel MID platforms is using SCU IPC library beneath MSIC
    calls.
    
    To make access unified between old and new platforms use SCU IPC library
    directly. It's safe since serialization is done in the library.
    
    Signed-off-by: Andy Shevchenko <[email protected]>

commit ca45ba06885f9f3fa9a7e70296f99d9a4899dbf4
Author: Andy Shevchenko <[email protected]>
Date:   Thu Feb 2 19:54:28 2017 +0200

    platform/x86: intel_mid_powerbtn: Unify IRQ acknowledgment
    
    The IRQ on Intel Merrifield can be acknowledged in the similar way it's
    done for previous MID platforms. Unify acknowledgment via SCU IPC.
    
    Signed-off-by: Andy Shevchenko <[email protected]>

commit 95330473636e5e4546f94874c957c3be66bb2140
Author: Sven Eckelmann <[email protected]>
Date:   Fri Feb 24 15:01:43 2017 -0800

    checkpatch: remove false unbalanced braces warning
    
    Lines containing "} else {" should not be detected as unbalanced braces.
    But the second check can be reduced to ".+else\s*{" and it therefore
    never checked if the beginning of a line contains any other character
    (like the relevant "}").  This check would also return true for "} else
    {" and create warnings like
    
        CHECK: Unbalanced braces around else statement
        #391: FILE: ./net/batman-adv/tvlv.c:391:
        +   } else {
    
    The check can be changed to check the whole line for the missing "}" to
    avoid this false positive.
    
    Fixes: 0d1532456c26 ("checkpatch: notice unbalanced else braces in a patch")
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Sven Eckelmann <[email protected]>
    Acked-by: Joe Perches <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit e4c5babd32f974cf3db4b5bdb02f23132cc81afb
Author: Joe Perches <[email protected]>
Date:   Fri Feb 24 15:01:41 2017 -0800

    checkpatch: notice unbalanced else braces in a patch
    
    Patches that add or modify code like
    
    	} else
    		<foo>
    or
    	else {
    		<bar>
    
    where one branch appears to have a brace and the other branch does not
    have a brace should emit a --strict style message.
    
    Link: http://lkml.kernel.org/r/c6be32747fc725cbc235802991746700a0f54fdc.1486754390.git.joe@perches.com
    Signed-off-by: Joe Perches <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 1bde561e471c964b57512008351ed75ead754b4b
Author: Matthew Wilcox <[email protected]>
Date:   Fri Feb 24 15:01:38 2017 -0800

    checkpatch: add another old address for the FSF
    
    We still have a lot of old addresses for the FSF in the kernel.
    
      willy@harry:~/kernel/idr$ git grep '675 Mass' |wc -l
      1502
      willy@harry:~/kernel/idr$ git grep '59 Temple' |wc -l
      2825
      willy@harry:~/kernel/idr$ git grep '51 Franklin' |wc -l
      2020
    
    Let's discourage adding the oldest one too.
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Matthew Wilcox <[email protected]>
    Acked-by: Joe Perches <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 758d7aada73e6d6b609a0e2ec9f627a64a968ef5
Author: Miles Chen <[email protected]>
Date:   Fri Feb 24 15:01:34 2017 -0800

    checkpatch: update $logFunctions
    
    Currently checkpatch.pl does not recognize printk_deferred* functions as
    log functions and complains about the line length of printk_deferred*
    functions.  Add printk_deferred* to logFunctions to fix it.
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Miles Chen <[email protected]>
    Acked-by: Joe Perches <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 45c55e92fcee992c05737e65ce0b1d7a36edde69
Author: Joe Perches <[email protected]>
Date:   Fri Feb 24 15:01:31 2017 -0800

    checkpatch: warn on logging continuations
    
    pr_cont(...) and printk(KERN_CONT ...) uses should be discouraged
    as their output can be interleaved by multiple logging processes.
    
    Link: http://lkml.kernel.org/r/7100ba00098694ec81471a299583ed068975fd05.1483465888.git.joe@perches.com
    Signed-off-by: Joe Perches <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 77cb8546bcd733c95bafe6b47481e5788e0e44d0
Author: Joe Perches <[email protected]>
Date:   Fri Feb 24 15:01:28 2017 -0800

    checkpatch: warn on embedded function names
    
    Embedded function names are less appropriate to use when refactoring can
    cause function renaming.  Prefer the use of "%s", __func__ to embedded
    function names.
    
    Link: http://lkml.kernel.org/r/ac9631fdbac5af3507c5bfe88ad9064f0ed764ec.1483510416.git.joe@perches.com
    Signed-off-by: Joe Perches <[email protected]>
    Acked-by: Andy Whitcroft <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 69c78423b8f439b077929410bdf8f88e7031b891
Author: Sven Schmidt <[email protected]>
Date:   Fri Feb 24 15:01:25 2017 -0800

    lib/lz4: remove back-compat wrappers
    
    Remove the functions introduced as wrappers for providing backwards
    compatibility to the prior LZ4 version.  They're not needed anymore
    since there's no callers left.
    
    Link: http://lkml.kernel.org/r/1486321748-19085-6-git-send-email-4sschmid@informatik.uni-hamburg.de
    Signed-off-by: Sven Schmidt <[email protected]>
    Cc: Bongkyu Kim <[email protected]>
    Cc: Rui Salvaterra <[email protected]>
    Cc: Sergey Senozhatsky <[email protected]>
    Cc: Greg Kroah-Hartman <[email protected]>
    Cc: Herbert Xu <[email protected]>
    Cc: David S. Miller <[email protected]>
    Cc: Anton Vorontsov <[email protected]>
    Cc: Colin Cross <[email protected]>
    Cc: Kees Cook <[email protected]>
    Cc: Tony Luck <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit d21b5ff12df45a65bb220c7e8103a5f0f5609377
Author: Sven Schmidt <[email protected]>
Date:   Fri Feb 24 15:01:22 2017 -0800

    fs/pstore: fs/squashfs: change usage of LZ4 to work with new LZ4 version
    
    Update fs/pstore and fs/squashfs to use the updated functions from the
    new LZ4 module.
    
    Link: http://lkml.kernel.org/r/1486321748-19085-5-git-send-email-4sschmid@informatik.uni-hamburg.de
    Signed-off-by: Sven Schmidt <[email protected]>
    Cc: Bongkyu Kim <[email protected]>
    Cc: Rui Salvaterra <[email protected]>
    Cc: Sergey Senozhatsky <[email protected]>
    Cc: Greg Kroah-Hartman <[email protected]>
    Cc: Herbert Xu <[email protected]>
    Cc: David S. Miller <[email protected]>
    Cc: Anton Vorontsov <[email protected]>
    Cc: Colin Cross <[email protected]>
    Cc: Kees Cook <[email protected]>
    Cc: Tony Luck <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 73a15ac6d5413caaee95979e318df58d4ee6d9a3
Author: Sven Schmidt <[email protected]>
Date:   Fri Feb 24 15:01:19 2017 -0800

    crypto: change LZ4 modules to work with new LZ4 module version
    
    Update the crypto modules using LZ4 compression as well as the test
    cases in testmgr.h to work with the new LZ4 module version.
    
    Link: http://lkml.kernel.org/r/1486321748-19085-4-git-send-email-4sschmid@informatik.uni-hamburg.de
    Signed-off-by: Sven Schmidt <[email protected]>
    Cc: Bongkyu Kim <[email protected]>
    Cc: Rui Salvaterra <[email protected]>
    Cc: Sergey Senozhatsky <[email protected]>
    Cc: Greg Kroah-Hartman <[email protected]>
    Cc: Herbert Xu <[email protected]>
    Cc: David S. Miller <[email protected]>
    Cc: Anton Vorontsov <[email protected]>
    Cc: Colin Cross <[email protected]>
    Cc: Kees Cook <[email protected]>
    Cc: Tony Luck <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit e23d54e48346e775be53b3cc25a95d65da960393
Author: Sven Schmidt <[email protected]>
Date:   Fri Feb 24 15:01:16 2017 -0800

    lib/decompress_unlz4: change module to work with new LZ4 module version
    
    Update the unlz4 wrapper to work with the updated LZ4 kernel module
    version.
    
    Link: http://lkml.kernel.org/r/1486321748-19085-3-git-send-email-4sschmid@informatik.uni-hamburg.de
    Signed-off-by: Sven Schmidt <[email protected]>
    Cc: Bongkyu Kim <[email protected]>
    Cc: Rui Salvaterra <[email protected]>
    Cc: Sergey Senozhatsky <[email protected]>
    Cc: Greg Kroah-Hartman <[email protected]>
    Cc: Herbert Xu <[email protected]>
    Cc: David S. Miller <[email protected]>
    Cc: Anton Vorontsov <[email protected]>
    Cc: Colin Cross <[email protected]>
    Cc: Kees Cook <[email protected]>
    Cc: Tony Luck <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 4e1a33b105ddf201f66dcc44490c6086a25eca0b
Author: Sven Schmidt <[email protected]>
Date:   Fri Feb 24 15:01:12 2017 -0800

    lib: update LZ4 compressor module
    
    Patch series "Update LZ4 compressor module", v7.
    
    This patchset updates the LZ4 compression module to a version based on
    LZ4 v1.7.3 allowing to use the fast compression algorithm aka LZ4 fast
    which provides an "acceleration" parameter as a tradeoff between high
    compression ratio and high compression speed.
    
    We want to use LZ4 fast in order to support compression in lustre and
    (mostly, based on that) investigate data reduction techniques in behalf
    of storage systems.
    
    Also, it will be useful for other users of LZ4 compression, as with LZ4
    fast it is possible to enable applications to use fast and/or high
    compression depending on the usecase.  For instance, ZRAM is offering a
    LZ4 backend and could benefit from an updated LZ4 in the kernel.
    
    LZ4 homepage: http://www.lz4.org/
    LZ4 source repository: https://github.com/lz4/lz4 Source version: 1.7.3
    
    Benchmark (taken from [1], Core i5-4300U @1.9GHz):
    ----------------|--------------|----------------|----------
    Compressor      | Compression  | Decompression  | Ratio
    ----------------|--------------|----------------|----------
    memcpy          |  4200 MB/s   |  4200 MB/s     | 1.000
    LZ4 fast 50     |  1080 MB/s   |  2650 MB/s     | 1.375
    LZ4 fast 17     |   680 MB/s   |  2220 MB/s     | 1.607
    LZ4 fast 5      |   475 MB/s   |  1920 MB/s     | 1.886
    LZ4 default     |   385 MB/s   |  1850 MB/s     | 2.101
    
    [1] http://fastcompression.blogspot.de/2015/04/sampling-or-faster-lz4.html
    
    [PATCH 1/5] lib: Update LZ4 compressor module
    [PATCH 2/5] lib/decompress_unlz4: Change module to work with new LZ4 module version
    [PATCH 3/5] crypto: Change LZ4 modules to work with new LZ4 module version
    [PATCH 4/5] fs/pstore: fs/squashfs: Change usage of LZ4 to work with new LZ4 version
    [PATCH 5/5] lib/lz4: Remove back-compat wrappers
    
    This patch (of 5):
    
    Update the LZ4 kernel module to LZ4 v1.7.3 by Yann Collet.  The kernel
    module is inspired by the previous work by Chanho Min.  The updated LZ4
    module will not break existing code since the patchset contains
    appropriate changes.
    
    API changes:
    
    New method LZ4_compress_fast which differs from the variant available in
    kernel by the new acceleration parameter, allowing to trade compression
    ratio for more compression speed and vice versa.
    
    LZ4_decompress_fast is the respective decompression method, featuring a
    very fast decoder (multiple GB/s per core), able to reach RAM speed in
    multi-core systems.  The decompressor allows to decompress data
    compressed with LZ4 fast as well as the LZ4 HC (high compression)
    algorithm.
    
    Also the useful functions LZ4_decompress_safe_partial and
    LZ4_compress_destsize were added.  The latter reverses the logic by
    trying to compress as much data as possible from source to dest while
    the former aims to decompress partial blocks of data.
    
    A bunch of streaming functions were also added which allow
    compressig/decompressing data in multiple steps (so called "streaming
    mode").
    
    The methods lz4_compress and lz4_decompress_unknownoutputsize are now
    known as LZ4_compress_default respectivley LZ4_decompress_safe.  The old
    methods will be removed since there's no callers left in the code.
    
    [[email protected]: fix KERNEL_LZ4 support]
      Link: http://lkml.kernel.org/r/[email protected]
    [[email protected]: simplify]
    [[email protected]: fix the simplification]
    [[email protected]: fix performance regressions]
      Link: http://lkml.kernel.org/r/1486898178-17125-2-git-send-email-4sschmid@informatik.uni-hamburg.de
    [[email protected]: v8]
      Link: http://lkml.kernel.org/r/1487182598-15351-2-git-send-email-4sschmid@informatik.uni-hamburg.de
    Link: http://lkml.kernel.org/r/1486321748-19085-2-git-send-email-4sschmid@informatik.uni-hamburg.de
    Signed-off-by: Sven Schmidt <[email protected]>
    Signed-off-by: Arnd Bergmann <[email protected]>
    Cc: Bongkyu Kim <[email protected]>
    Cc: Rui Salvaterra <[email protected]>
    Cc: Sergey Senozhatsky <[email protected]>
    Cc: Greg Kroah-Hartman <[email protected]>
    Cc: Herbert Xu <[email protected]>
    Cc: David S. Miller <[email protected]>
    Cc: Anton Vorontsov <[email protected]>
    Cc: Colin Cross <[email protected]>
    Cc: Kees Cook <[email protected]>
    Cc: Tony Luck <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 8893f519330bb073a49c5b4676fce4be6f1be15d
Author: Paul Gortmaker <[email protected]>
Date:   Fri Feb 24 15:01:09 2017 -0800

    lib/test_sort.c: make it explicitly non-modular
    
    The Kconfig currently controlling compilation of this code is:
    
         lib/Kconfig.debug:config TEST_SORT
         lib/Kconfig.debug:      bool "Array-based sort test"
    
    ...meaning that it currently is not being built as a module by anyone.
    
    Lets remove the couple traces of modular infrastructure use, so that
    when reading the code there is no doubt it is builtin-only.
    
    Since module_init translates to device_initcall in the non-modular case,
    the init ordering becomes slightly earlier when we change it to use
    subsys_initcall as done here.  However, since it is a self contained
    test, this shouldn't be an issue and subsys_initcall seems like a better
    fit for this particular case.
    
    We also delete the MODULE_LICENSE tag since that information is now
    contained at the top of the file in the comments.
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Paul Gortmaker <[email protected]>
    Cc: Kostenzer Felix <[email protected]>
    Cc: Arnd Bergmann <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit c5adae9583ef6985875532904160c6bf9f07b453
Author: Kostenzer Felix <[email protected]>
Date:   Fri Feb 24 15:01:07 2017 -0800

    lib: add CONFIG_TEST_SORT to enable self-test of sort()
    
    Along with the addition made to Kconfig.debug, the prior existing but
    permanently disabled test function has been slightly refactored.
    
    Patch has been tested using QEMU 2.1.2 with a .config obtained through
    'make defconfig' (x86_64) and manually enabling the option.
    
    [[email protected]: move sort self-test into a separate file]
      Link: http://lkml.kernel.org/r/[email protected]
    Link: http://lkml.kernel.org/r/HE1PR09MB0394B0418D504DCD27167D4FD49B0@HE1PR09MB0394.eurprd09.prod.outlook.com
    Signed-off-by: Kostenzer Felix <[email protected]>
    Signed-off-by: Arnd Bergmann <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit f231aebfc4cae2f6ed27a46a31e2630909513d77
Author: Kees Cook <[email protected]>
Date:   Fri Feb 24 15:01:04 2017 -0800

    rbtree: use designated initializers
    
    Prepare to mark sensitive kernel structures for randomization by making
    sure they're using designated initializers.  These were identified
    during allyesconfig builds of x86, arm, and arm64, with most initializer
    fixes extracted from grsecurity.
    
    Link: http://lkml.kernel.org/r/20161217010253.GA140470@beast
    Signed-off-by: Kees Cook <[email protected]>
    Acked-by: Peter Zijlstra (Intel) <[email protected]>
    Cc: David Howells <[email protected]>
    Cc: Jie Chen <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 4f5901f5a6724f4ed1641e4a94978c5039a1f8c4
Author: Niklas Söderlund <[email protected]>
Date:   Fri Feb 24 15:01:01 2017 -0800

    linux/kernel.h: fix DIV_ROUND_CLOSEST to support negative divisors
    
    While working on a thermal driver I encounter a scenario where the
    divisor could be negative, instead of adding local code to handle this I
    though I first try to add support for this in DIV_ROUND_CLOSEST.
    
    Add support to DIV_ROUND_CLOSEST for negative divisors if both dividend
    and divisor variable types are signed.  This should not alter current
    behavior for users of the macro as previously negative divisors where
    not supported.
    
    Before:
    
    DIV_ROUND_CLOSEST(  59,  4) =  15
    DIV_ROUND_CLOSEST(  59, -4) = -14
    DIV_ROUND_CLOSEST( -59,  4) = -15
    DIV_ROUND_CLOSEST( -59, -4) =  14
    
    After:
    
    DIV_ROUND_CLOSEST(  59,  4) =  15
    DIV_ROUND_CLOSEST(  59, -4) = -15
    DIV_ROUND_CLOSEST( -59,  4) = -15
    DIV_ROUND_CLOSEST( -59, -4) =  15
    
    [[email protected]: fix comment, per Guenter]
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Niklas Söderlund <[email protected]>
    Reviewed-by: Guenter Roeck <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit e4afd2e5567fc5d59988025f7528f9b4794d86a5
Author: Matthew Wilcox <[email protected]>
Date:   Fri Feb 24 15:00:58 2017 -0800

    lib/find_bit.c: micro-optimise find_next_*_bit
    
    This saves 32 bytes on my x86-64 build, mostly due to alignment
    considerations and sharing more code between find_next_bit and
    find_next_zero_bit, but it does save a couple of instructions.
    
    There's really two parts to this commit:
     - First, the first half of the test: (!nbits || start >= nbits) is
       trivially a subset of the second half, since nbits and start are both
       unsigned
     - Second, while looking at the disassembly, I noticed that GCC was
       predicting the branch taken. Since this is a failure case, it's
       clearly the less likely of the two branches, so add an unlikely() to
       override GCC's heuristics.
    
    [[email protected]: v2]
      Link: http://lkml.kernel.org/r/[email protected]
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Matthew Wilcox <[email protected]>
    Acked-by: Yury Norov <[email protected]>
    Acked-by: Rasmus Villemoes <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 55ded9551f9a64f2872df77a954d4c30f8958e82
Author: Geert Uytterhoeven <[email protected]>
Date:   Fri Feb 24 15:00:55 2017 -0800

    lib: add module support to atomic64 tests
    
    Allow to compile the atomic64 test code either to a loadable module, or
    builtin into the kernel.
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Geert Uytterhoeven <[email protected]>
    Reviewed-by: Andy Shevchenko <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit ba95b045e94fe15cace3a7d3a20fbedb2c6a817e
Author: Geert Uytterhoeven <[email protected]>
Date:   Fri Feb 24 15:00:52 2017 -0800

    lib: add module support to glob tests
    
    Extract the glob test code into its own source file, to allow to compile
    it either to a loadable module, or builtin into the kernel.
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Geert Uytterhoeven <[email protected]>
    Reviewed-by: Andy Shevchenko <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 5fb7f87408f1534f2c3fadb876dc429cca601104
Author: Geert Uytterhoeven <[email protected]>
Date:   Fri Feb 24 15:00:49 2017 -0800

    lib: add module support to crc32 tests
    
    Extract the crc32 test code into its own source file, to allow to
    compile it either to a loadable module, or builtin into the kernel.
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Geert Uytterhoeven <[email protected]>
    Reviewed-by: Andy Shevchenko <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 738bc38d49e017fe7acb3596712518e22c225816
Author: Bhumika Goyal <[email protected]>
Date:   Fri Feb 24 15:00:46 2017 -0800

    kernel/ksysfs.c: add __ro_after_init to bin_attribute structure
    
    The object notes_attr of type bin_attribute is not modified after
    getting initailized by ksysfs_init.  Apart from initialization in
    ksysfs_init it is also passed as an argument to the function
    sysfs_create_bin_file but this argument is of type const.  Therefore,
    add __ro_after_init to its declaration.
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Bhumika Goyal <[email protected]>
    Acked-by: Kees Cook <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 3e6daded1f51b79ff851b6c1e4b192f47ea3d063
Author: Viresh Kumar <[email protected]>
Date:   Fri Feb 24 15:00:44 2017 -0800

    kernel/notifier.c: simplify expression
    
    NOTIFY_STOP_MASK (0x8000) has only one bit set and there is no need to
    compare output of "ret & NOTIFY_STOP_MASK" to NOTIFY_STOP_MASK.  We just
    need to make sure the output is non-zero, that's it.
    
    Link: http://lkml.kernel.org/r/88ee58264a2bfab1c97ffc8ac753e25f55f57c10.1483593065.git.viresh.kumar@linaro.org
    Signed-off-by: Viresh Kumar <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 9c57b5808c625f4fc93da330b932647eaff321f7
Author: Yisheng Xie <[email protected]>
Date:   Fri Feb 24 15:00:40 2017 -0800

    mm balloon: umount balloon_mnt when removing vb device
    
    With CONFIG_BALLOON_COMPACTION=y the kernel will mount balloon_mnt for
    balloon page migration when we probe a virtio_balloon device.  However
    we do not unmount it when removing the device.  Fix this.
    
    Fixes: b1123ea6d3b3 ("mm: balloon: use general non-lru movable page feature")
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Yisheng Xie <[email protected]>
    Acked-by: Minchan Kim <[email protected]>
    Cc: Rafael Aquini <[email protected]>
    Cc: Konstantin Khlebnikov <[email protected]>
    Cc: Gioh Kim <[email protected]>
    Cc: Vlastimil Babka <[email protected]>
    Cc: Michal Hocko <[email protected]>
    Cc: Michael S. Tsirkin <[email protected]>
    Cc: Jason Wang <[email protected]>
    Cc: Hanjun Guo <[email protected]>
    Cc: Xishi Qiu <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 85caa95b9f19bb3a26d7e025d1134760b69e0c40
Author: Kees Cook <[email protected]>
Date:   Fri Feb 24 15:00:38 2017 -0800

    bug: switch data corruption check to __must_check
    
    The CHECK_DATA_CORRUPTION() macro was designed to have callers do
    something meaningful/protective on failure.  However, using "return
    false" in the macro too strictly limits the design patterns of callers.
    Instead, let callers handle the logic test directly, but make sure that
    the result IS checked by forcing __must_check (which appears to not be
    able to be used directly on macro expressions).
    
    Link: http://lkml.kernel.org/r/20170206204547.GA125312@beast
    Signed-off-by: Kees Cook <[email protected]>
    Suggested-by: Arnd Bergmann <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 849de0cd2c873c878fc2605156f10a8ade9bde28
Author: Gideon Israel Dsouza <[email protected]>
Date:   Fri Feb 24 15:00:35 2017 -0800

    m68k: replace gcc specific macros with ones from compiler.h
    
    There is <linux/compiler.h> which provides macros for various gcc
    specific constructs.  Eg: __weak for __attribute__((weak)).  I've
    cleaned all instances of gcc specific attributes with the right macros
    for all files under /arch/m68k
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Gideon Israel Dsouza <[email protected]>
    Cc: Greg Ungerer <[email protected]>
    Cc: Geert Uytterhoeven <[email protected]>
    Cc: Paul Gortmaker <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit a3f0825e7e37d99a02a8a1b1599687667ee50d04
Author: Gideon Israel Dsouza <[email protected]>
Date:   Fri Feb 24 15:00:32 2017 -0800

    compiler-gcc.h: add a new macro to wrap gcc attribute
    
    Add __mode(x) into compiler-gcc.h as part of a cleanup task I've taken
    up, to replace gcc specific attributes with macros.
    
    The next patch is a cleanup of the m68k subsystem and it requires a new
    macro to wrap __attribute__ ((mode (...)))
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Gideon Israel Dsouza <[email protected]>
    Cc: Greg Ungerer <[email protected]>
    Cc: Geert Uytterhoeven <[email protected]>
    Cc: Paul Gortmaker <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 16f4e3195156f2f06e90d00a36bc48d7a513f253
Author: Masahiro Yamada <[email protected]>
Date:   Fri Feb 24 15:00:29 2017 -0800

    include/linux/iopoll.h: include <linux/ktime.h> instead of <linux/hrtimer.h>
    
    The timer APIs this header needs are ktime_get(), ktime_add_us(), and
    ktime_compare().  So, including <linux/ktime.h> seems enough.  This
    commit will cut unnecessary header file parsing.
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Masahiro Yamada <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 1ca5eebb894a3625b2a543c7b550aa4ae33ba3cc
Author: Mike Frysinger <[email protected]>
Date:   Fri Feb 24 15:00:26 2017 -0800

    uapi: mqueue.h: add missing linux/types.h include
    
    Commit 63159f5dcccb ("uapi: Use __kernel_long_t in struct mq_attr")
    changed the types from long to __kernel_long_t, but didn't add a
    linux/types.h include.  Code that tries to include this header directly
    breaks:
    
      /usr/include/linux/mqueue.h:26:2: error: unknown type name '__kernel_long_t'
      __kernel_long_t mq_flags; /* message queue flags   */
    
    This also upsets configure tests for this header:
    
      checking linux/mqueue.h usability... no
      checking linux/mqueue.h presence... yes
      configure: WARNING: linux/mqueue.h: present but cannot be compiled
      configure: WARNING: linux/mqueue.h:     check for missing prerequisite headers?
      configure: WARNING: linux/mqueue.h: see the Autoconf documentation
      configure: WARNING: linux/mqueue.h:     section "Present But Cannot Be Compiled"
      configure: WARNING: linux/mqueue.h: proceeding with the compiler's result
      checking for linux/mqueue.h... no
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Mike Frysinger <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 796f571b0c5cf3efd2f652779770fa7bbbc2bb03
Author: Lafcadio Wluiki <[email protected]>
Date:   Fri Feb 24 15:00:23 2017 -0800

    procfs: use an enum for possible hidepid values
    
    Previously, the hidepid parameter was checked by comparing literal
    integers 0, 1, 2.  Let's add a proper enum for this, to make the
    checking more expressive:
    
            0 → HIDEPID_OFF
            1 → HIDEPID_NO_ACCESS
            2 → HIDEPID_INVISIBLE
    
    This changes the internal labelling only, the userspace-facing interface
    remains unmodified, and still works with literal integers 0, 1, 2.
    
    No functional changes.
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Lafcadio Wluiki <[email protected]>
    Signed-off-by: Djalal Harouni <[email protected]>
    Acked-by: Kees Cook <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit a0a07b87f3942fdee7692914b36576e009e2d434
Author: Alexey Dobriyan <[email protected]>
Date:   Fri Feb 24 15:00:20 2017 -0800

    proc: less code duplication in /proc/*/cmdline
    
    After staring at this code for a while I've figured using small 2-entry
    array describing ARGV and ENVP is the way to address code duplication
    critique.
    
    Link: http://lkml.kernel.org/r/20170105185724.GA12027@avx2
    Signed-off-by: Alexey Dobriyan <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 4e4a7fb7b4574b4074e4097561c2e34a7333306f
Author: Geliang Tang <[email protected]>
Date:   Fri Feb 24 15:00:17 2017 -0800

    proc: use rb_entry()
    
    To make the code clearer, use rb_entry() instead of container_of() to
    deal with rbtree.
    
    Link: http://lkml.kernel.org/r/4fd1f82818665705ce75c5156a060ae7caa8e0a9.1482160150.git.geliangtang@gmail.com
    Signed-off-by: Geliang Tang <[email protected]>
    Cc: Jan Kara <[email protected]>
    Cc: Al Viro <[email protected]>
    Cc: "David S. Miller" <[email protected]>
    Cc: Juergen Gross <[email protected]>
    Cc: Dmitry Torokhov <[email protected]>
    Cc: Seth Forshee <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 35ca6953cac4a6d92c2d54e946a4e153d944b027
Author: Davidlohr Bueso <[email protected]>
Date:   Fri Feb 24 15:00:14 2017 -0800

    alpha: use generic current.h
    
    Given that the arch does not add its own implementations, simply use the
    asm-generic/current.h (generic-y) header instead of duplicating code.
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Davidlohr Bueso <[email protected]>
    Cc: Richard Henderson <[email protected]>
    Cc: Ivan Kokshaysky <[email protected]>
    Cc: Matt Turner <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 9ef5ea20134e72689b9877e787fa84ab67d77cc5
Author: Sudip Mukherjee <[email protected]>
Date:   Fri Feb 24 15:00:11 2017 -0800

    arch/frv/mb93090-mb00/pci-frv.c: fix build warning
    
    The build of frv defconfig gives warning:
    
      arch/frv/mb93090-mb00/pci-frv.c:176:5: warning: ignoring return value of 'pci_assign_resource', declared with attribute warn_unused_result
    
    Just print an error message to silence the warning.  We can not do much
    here on error.
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Sudip Mukherjee <[email protected]>
    Cc: David Howells <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 0386bf385d9dbb277ff565765ac9d13fe36232d6
Author: Greg Thelen <[email protected]>
Date:   Fri Feb 24 15:00:08 2017 -0800

    kasan: add memcg kmem_cache test
    
    Make a kasan test which uses a SLAB_ACCOUNT slab cache.  If the test is
    run within a non default memcg, then it uncovers the bug fixed by
    "kasan: drain quarantine of memcg slab objects"[1].
    
    If run without fix [1] it shows "Slab cache still has objects", and the
    kmem_cache structure is leaked.
    Here's an unpatched kernel test:
    
     $ dmesg -c > /dev/null
     $ mkdir /sys/fs/cgroup/memory/test
     $ echo $$ > /sys/fs/cgroup/memory/test/tasks
     $ modprobe test_kasan 2> /dev/null
     $ dmesg | grep -B1 still
     [ 123.456789] kasan test: memcg_accounted_kmem_cache allocate memcg accounted object
     [ 124.456789] kmem_cache_destroy test_cache: Slab cache still has objects
    
    Kernels with fix [1] don't have the "Slab cache still has objects"
    warning or the underlying leak.
    
    The new test runs and passes in the default (root) memcg, though in the
    root memcg it won't uncover the problem fixed by [1].
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Greg Thelen <[email protected]>
    Reviewed-by: Vladimir Davydov <[email protected]>
    Cc: Andrey Ryabinin <[email protected]>
    Cc: Alexander Potapenko <[email protected]>
    Cc: Dmitry Vyukov <[email protected]>
    Cc: Christoph Lameter <[email protected]>
    Cc: Pekka Enberg <[email protected]>
    Cc: David Rientjes <[email protected]>
    Cc: Joonsoo Kim <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit f9fa1d919c696e90c887d8742198023e7639d139
Author: Greg Thelen <[email protected]>
Date:   Fri Feb 24 15:00:05 2017 -0800

    kasan: drain quarantine of memcg slab objects
    
    Per memcg slab accounting and kasan have a problem with kmem_cache
    destruction.
     - kmem_cache_create() allocates a kmem_cache, which is used for
       allocations from processes running in root (top) memcg.
     - Processes running in non root memcg and allocating with either
       __GFP_ACCOUNT or from a SLAB_ACCOUNT cache use a per memcg
       kmem_cache.
     - Kasan catches use-after-free by having kfree() and kmem_cache_free()
       defer freeing of objects. Objects are placed in a quarantine.
     - kmem_cache_destroy() destroys root and non root kmem_caches. It takes
       care to drain the quarantine of objects from the root memcg's
       kmem_cache, but ignores objects associated with non root memcg. This
       causes leaks because quarantined per memcg objects refer to per memcg
       kmem cache being destroyed.
    
    To see the problem:
    
     1) create a slab cache with kmem_cache_create(,,,SLAB_ACCOUNT,)
     2) from non root memcg, allocate and free a few objects from cache
     3) dispose of the cache with kmem_cache_destroy() kmem_cache_destroy()
        will trigger a "Slab cache still has objects" warning indicating
        that the per memcg kmem_cache structure was leaked.
    
    Fix the leak by draining kasan quarantined objects allocated from non
    root memcg.
    
    Racing memcg deletion is tricky, but handled.  kmem_cache_destroy() =>
    shutdown_memcg_caches() => __shutdown_memcg_cache() => shutdown_cache()
    flushes per memcg quarantined objects, even if that memcg has been
    rmdir'd and gone through memcg_deactivate_kmem_caches().
    
    This leak only affects destroyed SLAB_ACCOUNT kmem caches when kasan is
    enabled.  So I don't think it's worth patching stable kernels.
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Greg Thelen <[email protected]>
    Reviewed-by: Vladimir Davydov <[email protected]>
    Acked-by: Andrey Ryabinin <[email protected]>
    Cc: Alexander Potapenko <[email protected]>
    Cc: Dmitry Vyukov <[email protected]>
    Cc: Christoph Lameter <[email protected]>
    Cc: Pekka Enberg <[email protected]>
    Cc: David Rientjes <[email protected]>
    Cc: Joonsoo Kim <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit dc18d706a4367454ad1fc51e06148d54e8ecfaa0
Author: Nathan Fontenot <[email protected]>
Date:   Fri Feb 24 15:00:02 2017 -0800

    memory-hotplug: use dev_online for memhp_auto_online
    
    Commit 31bc3858ea3e ("add automatic onlining policy for the newly added
    memory") provides the capability to have added memory automatically
    onlined during add, but this appears to be slightly broken.
    
    The current implementation uses walk_memory_range() to call
    online_memory_block, which uses memory_block_change_state() to online
    the memory.  Instead, we should be calling device_online() for the
    memory block in online_memory_block().  This would online the memory
    (the memory bus online routine memory_subsys_online() called from
    device_online calls memory_block_change_state()) and properly update the
    device struct offline flag.
    
    As a result of the current implementation, attempting to remove a memory
    block after adding it using auto online fails.  This is because doing a
    remove, for instance
    
      echo offline > /sys/devices/system/memory/memoryXXX/state
    
    uses device_offline() which checks the dev->offline flag.
    
    Link: http://lkml.kernel.org/r/20170222220744.8119.19687.stgit@ltcalpine2-lp14.aus.stglabs.ibm.com
    Signed-off-by: Nathan Fontenot <[email protected]>
    Cc: Michael Ellerman <[email protected]>
    Cc: Michael Roth <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit dd8416c47715cf324c9a16f13273f9fda87acfed
Author: Minchan Kim <[email protected]>
Date:   Fri Feb 24 14:59:59 2017 -0800

    mm: do not access page->mapping directly on page_endio
    
    With rw_page, page_endio is used for completing IO on a page and it
    propagates write error to the address space if the IO fails.  The
    problem is it accesses page->mapping directly which might be okay for
    file-backed pages but it shouldn't for anonymous page.  Otherwise, it
    can corrupt one of field from anon_vma under us and system goes panic
    randomly.
    
    swap_writepage
      bdev_writepage
        ops->rw_page
    
    I encountered the BUG during developing new zram feature and it was
    really hard to figure it out because it made random crash, somtime
    mmap_sem lockdep, sometime other places where places never related to
    zram/zsmalloc, and not reproducible with some configuration.
    
    When I consider how that bug is subtle and people do fast-swap test with
    brd, it's worth to add stable mark, I think.
    
    Fixes: dd6bd0d9c7db ("swap: use bdev_read_page() / bdev_write_page()")
    Signed-off-by: Minchan Kim <[email protected]>
    Acked-by: Michal Hocko <[email protected]>
    Cc: Matthew Wilcox <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 9a8b300f2f7812ebf4630b8b40499da38b38e882
Author: Aneesh Kumar K.V <[email protected]>
Date:   Fri Feb 24 14:59:56 2017 -0800

    mm/thp/autonuma: use TNF flag instead of vm fault
    
    We are using the wrong flag value in task_numa_falt function.  This can
    result in us doing wrong numa fault statistics update, because we update
    num_pages_migrate and numa_fault_locality etc based on the flag argument
    passed.
    
    Fixes: bae473a423 ("mm: introduce fault_env")
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Aneesh Kumar K.V <[email protected]>
    Acked-by: Hillf Danton <[email protected]>
    Acked-by: Kirill A. Shutemov <[email protected]>
    Cc: Rik van Riel <[email protected]>
    Cc: Mel Gorman <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit db08f2030a173fdb95b2e8e28d82c4e8c04df2ac
Author: Aneesh Kumar K.V <[email protected]>
Date:   Fri Feb 24 14:59:53 2017 -0800

    mm/gup: check for protnone only if it is a PTE entry
    
    Do the prot_none/FOLL_NUMA check after we are sure this is a THP pte.
    Archs can implement prot_none such that it can return true for regular
    pmd entries.
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Aneesh Kumar K.V <[email protected]>
    Cc: Rik van Riel <[email protected]>
    Cc: Mel Gorman <[email protected]>
    Cc: Hillf Danton <[email protected]>
    Cc: Kirill A. Shutemov <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 199eaa05adc53825503a5303db624dd57397b93a
Author: Miles Chen <[email protected]>
Date:   Fri Feb 24 14:59:51 2017 -0800

    mm: cleanups for printing phys_addr_t and dma_addr_t
    
    cleanup rest of dma_addr_t and phys_addr_t type casting in mm
    use %pad for dma_addr_t
    use %pa for phys_addr_t
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Miles Chen <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit b538e422e41fd5ec8c059bde03d5504bb62bf0d1
Author: Yisheng Xie <[email protected]>
Date:   Fri Feb 24 14:59:48 2017 -0800

    mm/zsmalloc: fix comment in zsmalloc
    
    The class index and fullness group are not encoded in
    (first)page->mapping any more, after commit 3783689a1aa8 ("zsmalloc:
    introduce zspage structure").  Instead, they are store in struct zspage.
    
    Just delete this unneeded comment.
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Yisheng Xie <[email protected]>
    Suggested-by: Sergey Senozhatsky <[email protected]>
    Reviewed-by: Sergey Senozhatsky <[email protected]>
    Acked-by: Minchan Kim <[email protected]>
    Cc: Nitin Gupta <[email protected]>
    Cc: Hanjun Guo <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit ad69444e75d77981291ccf807f48d81e8fca010f
Author: Wei Yang <[email protected]>
Date:   Fri Feb 24 14:59:45 2017 -0800

    mm/page_alloc.c: remove redundant init code for ZONE_MOVABLE
    
    arch_zone_lowest/highest_possible_pfn[] is set to 0 and [ZONE_MOVABLE]
    is skipped in the loop.  No need to reset them to 0 again.
    
    This patch just removes the redundant code.
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Wei Yang <[email protected]>
    Cc: Anshuman Khandual <[email protected]>
    Cc: Mel Gorman <[email protected]>
    Cc: Michal Hocko <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 22c5cef16278bf83aa54ac96a7735ce82f93524e
Author: Yisheng Xie <[email protected]>
Date:   Fri Feb 24 14:59:42 2017 -0800

    mm/zsmalloc: remove redundant SetPagePrivate2 in create_page_chain
    
    We had used page->lru to link the component pages (except the first
    page) of a zspage, and used INIT_LIST_HEAD(&page->lru) to init it.
    Therefore, to get the last page's next page, which is NULL, we had to
    use page flag PG_Private_2 to identify it.
    
    But now, we use page->freelist to link all of the pages in zspage and
    init the page->freelist as NULL for last page, so no need to use
    PG_Private_2 anymore.
    
    This remove redundant SetPagePrivate2 in create_page_chain and
    ClearPagePrivate2 in reset_page().  Save a few cycles for migration of
    zsmalloc page :)
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Yisheng Xie <[email protected]>
    Reviewed-by: Sergey Senozhatsky <[email protected]>
    Acked-by: Minchan Kim <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit e1587a4945408faa58d0485002c110eb2454740c
Author: Vinayak Menon <[email protected]>
Date:   Fri Feb 24 14:59:39 2017 -0800

    mm: vmpressure: fix sending wrong events on underflow
    
    At the end of a window period, if the reclaimed pages is greater than
    scanned, an unsigned underflow can result in a huge pressure value and
    thus a critical event.  Reclaimed pages is found to go higher than
    scanned because of the addition of reclaimed slab pages to reclaimed in
    shrink_node without a corresponding increment to scanned pages.
    
    Minchan Kim mentioned that this can also happen in the case of a THP
    page where the scanned is 1 and reclaimed could be 512.
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Vinayak Menon <[email protected]>
    Acked-by: Minchan Kim <[email protected]>
    Acked-by: Michal Hocko <[email protected]>
    Cc: Johannes Weiner <[email protected]>
    Cc: Mel Gorman <[email protected]>
    Cc: Vlastimil Babka <[email protected]>
    Cc: Rik van Riel <[email protected]>
    Cc: Vladimir Davydov <[email protected]>
    Cc: Anton Vorontsov <[email protected]>
    Cc: Shiraz Hashim <[email protected]>
    Cc: <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit 3a4f8a0b3ffa733ffbb327685e83b63383127cf6
Author: Hugh Dickins <[email protected]>
Date:   Fri Feb 24 14:59:36 2017 -0800

    mm: remove shmem_mapping() shmem_zero_setup() duplicates
    
    Remove the prototypes for shmem_mapping() and shmem_zero_setup() from
    linux/mm.h, since they are already provided in linux/shmem_fs.h.  But
    shmem_fs.h must then provide the inline stub for shmem_mapping() when
    CONFIG_SHMEM is not set, and a few more cfiles now need to #include it.
    
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Hugh Dickins <[email protected]>
    Cc: Johannes Weiner <[email protected]>
    Cc: Michal Simek <[email protected]>
    Cc: Michael Ellerman <[email protected]>
    Signed-off-by: Andrew Morton <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>

commit e02dc017c3032dcdce1b993af0db135462e1b4b7
Author: Gavin Shan <[email protected]>
Date:   …
@armygeneral
Copy link

提交kernel方法

fengguang pushed a commit to 0day-ci/linux that referenced this pull request Mar 30, 2017
Fixed issues:
CHECK: Alignment should match open parenthesis
torvalds#71: FILE: drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:71:
+       audio_info("alsa_stream=%p substream=%p\n", alsa_stream,
+               alsa_stream ? alsa_stream->substream : 0);

CHECK: Alignment should match open parenthesis
torvalds#262: FILE: drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:262:
+static int snd_bcm2835_pcm_hw_params(struct snd_pcm_substream *substream,
+       struct snd_pcm_hw_params *params)

CHECK: Alignment should match open parenthesis
torvalds#315: FILE: drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:315:
+       err = bcm2835_audio_set_params(alsa_stream, channels,
+               alsa_stream->params_rate,

CHECK: Alignment should match open parenthesis
torvalds#384: FILE: drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:384:
+               audio_debug("bcm2835_AUDIO_TRIGGER_START running=%d\n",
+                       alsa_stream->running);

CHECK: Alignment should match open parenthesis
torvalds#391: FILE: drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:391:
+                                       bytes_to_frames(runtime,
+                                       alsa_stream->pos);

CHECK: Alignment should match open parenthesis
torvalds#436: FILE: drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:436:
+       audio_debug("pcm_pointer... (%d) hwptr=%d appl=%d pos=%d\n", 0,
+               frames_to_bytes(runtime, runtime->status->hw_ptr),

CHECK: Alignment should match open parenthesis
torvalds#447: FILE: drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:447:
+static int snd_bcm2835_pcm_lib_ioctl(struct snd_pcm_substream *substream,
+       unsigned int cmd, void *arg)

CHECK: Alignment should match open parenthesis
torvalds#452: FILE: drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:452:
+       audio_info(" .. substream=%p, cmd=%d, arg=%p (%x) ret=%d\n", substream,
+               cmd, arg, arg ? *(unsigned *) arg : 0, ret);

CHECK: Alignment should match open parenthesis
torvalds#544: FILE: drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c:544:
+       snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_CONTINUOUS,
+               snd_dma_continuous_data(GFP_KERNEL),

Signed-off-by: Andrea della Porta <[email protected]>
torvalds pushed a commit that referenced this pull request Nov 15, 2017
Only MD_SB_CHANGE_PENDING should be used to wait for transition from
clean to dirty. Checking also MD_SB_CHANGE_CLEAN is unnecessary and can
race with e.g. md_do_sync(). This sporadically causes a hang when
changing consistency policy during resync:

INFO: task mdadm:6183 blocked for more than 30 seconds.
      Not tainted 4.14.0-rc3+ #391
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
mdadm           D12752  6183   6022 0x00000000
Call Trace:
 __schedule+0x93f/0x990
 schedule+0x6b/0x90
 md_allow_write+0x100/0x130 [md_mod]
 ? do_wait_intr_irq+0x90/0x90
 resize_stripes+0x3a/0x5b0 [raid456]
 ? kernfs_fop_write+0xbe/0x180
 raid5_change_consistency_policy+0xa6/0x200 [raid456]
 consistency_policy_store+0x2e/0x70 [md_mod]
 md_attr_store+0x90/0xc0 [md_mod]
 sysfs_kf_write+0x42/0x50
 kernfs_fop_write+0x119/0x180
 __vfs_write+0x28/0x110
 ? rcu_sync_lockdep_assert+0x12/0x60
 ? __sb_start_write+0x15a/0x1c0
 ? vfs_write+0xa3/0x1a0
 vfs_write+0xb4/0x1a0
 SyS_write+0x49/0xa0
 entry_SYSCALL_64_fastpath+0x18/0xad

Fixes: 2214c26 ("md: don't return -EAGAIN in md_allow_write for external metadata arrays")
Cc: <[email protected]>
Signed-off-by: Artur Paszkiewicz <[email protected]>
Signed-off-by: Shaohua Li <[email protected]>
heftig pushed a commit to zen-kernel/zen-kernel that referenced this pull request Nov 30, 2017
commit b90f6ff upstream.

Only MD_SB_CHANGE_PENDING should be used to wait for transition from
clean to dirty. Checking also MD_SB_CHANGE_CLEAN is unnecessary and can
race with e.g. md_do_sync(). This sporadically causes a hang when
changing consistency policy during resync:

INFO: task mdadm:6183 blocked for more than 30 seconds.
      Not tainted 4.14.0-rc3+ torvalds#391
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
mdadm           D12752  6183   6022 0x00000000
Call Trace:
 __schedule+0x93f/0x990
 schedule+0x6b/0x90
 md_allow_write+0x100/0x130 [md_mod]
 ? do_wait_intr_irq+0x90/0x90
 resize_stripes+0x3a/0x5b0 [raid456]
 ? kernfs_fop_write+0xbe/0x180
 raid5_change_consistency_policy+0xa6/0x200 [raid456]
 consistency_policy_store+0x2e/0x70 [md_mod]
 md_attr_store+0x90/0xc0 [md_mod]
 sysfs_kf_write+0x42/0x50
 kernfs_fop_write+0x119/0x180
 __vfs_write+0x28/0x110
 ? rcu_sync_lockdep_assert+0x12/0x60
 ? __sb_start_write+0x15a/0x1c0
 ? vfs_write+0xa3/0x1a0
 vfs_write+0xb4/0x1a0
 SyS_write+0x49/0xa0
 entry_SYSCALL_64_fastpath+0x18/0xad

Fixes: 2214c26 ("md: don't return -EAGAIN in md_allow_write for external metadata arrays")
Signed-off-by: Artur Paszkiewicz <[email protected]>
Signed-off-by: Shaohua Li <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Mic92 pushed a commit to Mic92/linux that referenced this pull request Feb 4, 2019
ruscur pushed a commit to ruscur/linux that referenced this pull request Feb 26, 2020
WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line)
torvalds#12:
Save 2 atomic ops, 1 allocation, 1 free per open/read/close sequence for such

WARNING: braces {} are not necessary for single statement blocks
torvalds#163: FILE: fs/proc/generic.c:536:
+	if (pde->proc_ops->proc_flags & PROC_ENTRY_PERMANENT) {
+		pde->flags |= PROC_ENTRY_PERMANENT;
+	}

WARNING: line over 80 characters
torvalds#203: FILE: fs/proc/generic.c:676:
+			WARN(1, "removing permanent /proc entry '%s'", de->name);

WARNING: braces {} are not necessary for single statement blocks
torvalds#207: FILE: fs/proc/generic.c:680:
+			if (S_ISDIR(de->mode)) {
+				parent->nlink--;
+			}

WARNING: line over 80 characters
torvalds#244: FILE: fs/proc/inode.c:198:
+static loff_t pde_lseek(struct proc_dir_entry *pde, struct file *file, loff_t offset, int whence)

WARNING: line over 80 characters
torvalds#274: FILE: fs/proc/inode.c:222:
+static ssize_t pde_read(struct proc_dir_entry *pde, struct file *file, char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#303: FILE: fs/proc/inode.c:246:
+static ssize_t pde_write(struct proc_dir_entry *pde, struct file *file, const char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#332: FILE: fs/proc/inode.c:270:
+static __poll_t pde_poll(struct proc_dir_entry *pde, struct file *file, struct poll_table_struct *pts)

WARNING: line over 80 characters
torvalds#361: FILE: fs/proc/inode.c:294:
+static long pde_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#391: FILE: fs/proc/inode.c:319:
+static long pde_compat_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#421: FILE: fs/proc/inode.c:343:
+static int pde_mmap(struct proc_dir_entry *pde, struct file *file, struct vm_area_struct *vma)

WARNING: line over 80 characters
torvalds#452: FILE: fs/proc/inode.c:368:
+pde_get_unmapped_area(struct proc_dir_entry *pde, struct file *file, unsigned long orig_addr,

WARNING: line over 80 characters
torvalds#489: FILE: fs/proc/inode.c:393:
+		return pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: line over 80 characters
torvalds#491: FILE: fs/proc/inode.c:395:
+		rv = pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: braces {} are not necessary for single statement blocks
torvalds#518: FILE: fs/proc/inode.c:470:
+		if (release) {
+			return release(inode, file);
+		}

total: 0 errors, 15 warnings, 462 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

./patches/proc-faster-open-read-close-with-permanent-files.patch has style problems, please review.

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.

Please run checkpatch prior to sending patches

Cc: Alexey Dobriyan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Stephen Rothwell <[email protected]>
ruscur pushed a commit to ruscur/linux that referenced this pull request Mar 2, 2020
WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line)
torvalds#12:
Save 2 atomic ops, 1 allocation, 1 free per open/read/close sequence for such

WARNING: braces {} are not necessary for single statement blocks
torvalds#163: FILE: fs/proc/generic.c:536:
+	if (pde->proc_ops->proc_flags & PROC_ENTRY_PERMANENT) {
+		pde->flags |= PROC_ENTRY_PERMANENT;
+	}

WARNING: line over 80 characters
torvalds#203: FILE: fs/proc/generic.c:676:
+			WARN(1, "removing permanent /proc entry '%s'", de->name);

WARNING: braces {} are not necessary for single statement blocks
torvalds#207: FILE: fs/proc/generic.c:680:
+			if (S_ISDIR(de->mode)) {
+				parent->nlink--;
+			}

WARNING: line over 80 characters
torvalds#244: FILE: fs/proc/inode.c:198:
+static loff_t pde_lseek(struct proc_dir_entry *pde, struct file *file, loff_t offset, int whence)

WARNING: line over 80 characters
torvalds#274: FILE: fs/proc/inode.c:222:
+static ssize_t pde_read(struct proc_dir_entry *pde, struct file *file, char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#303: FILE: fs/proc/inode.c:246:
+static ssize_t pde_write(struct proc_dir_entry *pde, struct file *file, const char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#332: FILE: fs/proc/inode.c:270:
+static __poll_t pde_poll(struct proc_dir_entry *pde, struct file *file, struct poll_table_struct *pts)

WARNING: line over 80 characters
torvalds#361: FILE: fs/proc/inode.c:294:
+static long pde_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#391: FILE: fs/proc/inode.c:319:
+static long pde_compat_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#421: FILE: fs/proc/inode.c:343:
+static int pde_mmap(struct proc_dir_entry *pde, struct file *file, struct vm_area_struct *vma)

WARNING: line over 80 characters
torvalds#452: FILE: fs/proc/inode.c:368:
+pde_get_unmapped_area(struct proc_dir_entry *pde, struct file *file, unsigned long orig_addr,

WARNING: line over 80 characters
torvalds#489: FILE: fs/proc/inode.c:393:
+		return pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: line over 80 characters
torvalds#491: FILE: fs/proc/inode.c:395:
+		rv = pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: braces {} are not necessary for single statement blocks
torvalds#518: FILE: fs/proc/inode.c:470:
+		if (release) {
+			return release(inode, file);
+		}

total: 0 errors, 15 warnings, 462 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

./patches/proc-faster-open-read-close-with-permanent-files.patch has style problems, please review.

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.

Please run checkpatch prior to sending patches

Cc: Alexey Dobriyan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Stephen Rothwell <[email protected]>
ruscur pushed a commit to ruscur/linux that referenced this pull request Mar 4, 2020
WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line)
torvalds#12:
Save 2 atomic ops, 1 allocation, 1 free per open/read/close sequence for such

WARNING: braces {} are not necessary for single statement blocks
torvalds#163: FILE: fs/proc/generic.c:536:
+	if (pde->proc_ops->proc_flags & PROC_ENTRY_PERMANENT) {
+		pde->flags |= PROC_ENTRY_PERMANENT;
+	}

WARNING: line over 80 characters
torvalds#203: FILE: fs/proc/generic.c:676:
+			WARN(1, "removing permanent /proc entry '%s'", de->name);

WARNING: braces {} are not necessary for single statement blocks
torvalds#207: FILE: fs/proc/generic.c:680:
+			if (S_ISDIR(de->mode)) {
+				parent->nlink--;
+			}

WARNING: line over 80 characters
torvalds#244: FILE: fs/proc/inode.c:198:
+static loff_t pde_lseek(struct proc_dir_entry *pde, struct file *file, loff_t offset, int whence)

WARNING: line over 80 characters
torvalds#274: FILE: fs/proc/inode.c:222:
+static ssize_t pde_read(struct proc_dir_entry *pde, struct file *file, char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#303: FILE: fs/proc/inode.c:246:
+static ssize_t pde_write(struct proc_dir_entry *pde, struct file *file, const char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#332: FILE: fs/proc/inode.c:270:
+static __poll_t pde_poll(struct proc_dir_entry *pde, struct file *file, struct poll_table_struct *pts)

WARNING: line over 80 characters
torvalds#361: FILE: fs/proc/inode.c:294:
+static long pde_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#391: FILE: fs/proc/inode.c:319:
+static long pde_compat_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#421: FILE: fs/proc/inode.c:343:
+static int pde_mmap(struct proc_dir_entry *pde, struct file *file, struct vm_area_struct *vma)

WARNING: line over 80 characters
torvalds#452: FILE: fs/proc/inode.c:368:
+pde_get_unmapped_area(struct proc_dir_entry *pde, struct file *file, unsigned long orig_addr,

WARNING: line over 80 characters
torvalds#489: FILE: fs/proc/inode.c:393:
+		return pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: line over 80 characters
torvalds#491: FILE: fs/proc/inode.c:395:
+		rv = pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: braces {} are not necessary for single statement blocks
torvalds#518: FILE: fs/proc/inode.c:470:
+		if (release) {
+			return release(inode, file);
+		}

total: 0 errors, 15 warnings, 462 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

./patches/proc-faster-open-read-close-with-permanent-files.patch has style problems, please review.

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.

Please run checkpatch prior to sending patches

Cc: Alexey Dobriyan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Stephen Rothwell <[email protected]>
ruscur pushed a commit to ruscur/linux that referenced this pull request Mar 5, 2020
WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line)
torvalds#12:
Save 2 atomic ops, 1 allocation, 1 free per open/read/close sequence for such

WARNING: braces {} are not necessary for single statement blocks
torvalds#163: FILE: fs/proc/generic.c:536:
+	if (pde->proc_ops->proc_flags & PROC_ENTRY_PERMANENT) {
+		pde->flags |= PROC_ENTRY_PERMANENT;
+	}

WARNING: line over 80 characters
torvalds#203: FILE: fs/proc/generic.c:676:
+			WARN(1, "removing permanent /proc entry '%s'", de->name);

WARNING: braces {} are not necessary for single statement blocks
torvalds#207: FILE: fs/proc/generic.c:680:
+			if (S_ISDIR(de->mode)) {
+				parent->nlink--;
+			}

WARNING: line over 80 characters
torvalds#244: FILE: fs/proc/inode.c:198:
+static loff_t pde_lseek(struct proc_dir_entry *pde, struct file *file, loff_t offset, int whence)

WARNING: line over 80 characters
torvalds#274: FILE: fs/proc/inode.c:222:
+static ssize_t pde_read(struct proc_dir_entry *pde, struct file *file, char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#303: FILE: fs/proc/inode.c:246:
+static ssize_t pde_write(struct proc_dir_entry *pde, struct file *file, const char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#332: FILE: fs/proc/inode.c:270:
+static __poll_t pde_poll(struct proc_dir_entry *pde, struct file *file, struct poll_table_struct *pts)

WARNING: line over 80 characters
torvalds#361: FILE: fs/proc/inode.c:294:
+static long pde_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#391: FILE: fs/proc/inode.c:319:
+static long pde_compat_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#421: FILE: fs/proc/inode.c:343:
+static int pde_mmap(struct proc_dir_entry *pde, struct file *file, struct vm_area_struct *vma)

WARNING: line over 80 characters
torvalds#452: FILE: fs/proc/inode.c:368:
+pde_get_unmapped_area(struct proc_dir_entry *pde, struct file *file, unsigned long orig_addr,

WARNING: line over 80 characters
torvalds#489: FILE: fs/proc/inode.c:393:
+		return pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: line over 80 characters
torvalds#491: FILE: fs/proc/inode.c:395:
+		rv = pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: braces {} are not necessary for single statement blocks
torvalds#518: FILE: fs/proc/inode.c:470:
+		if (release) {
+			return release(inode, file);
+		}

total: 0 errors, 15 warnings, 462 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

./patches/proc-faster-open-read-close-with-permanent-files.patch has style problems, please review.

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.

Please run checkpatch prior to sending patches

Cc: Alexey Dobriyan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Stephen Rothwell <[email protected]>
ruscur pushed a commit to ruscur/linux that referenced this pull request Mar 10, 2020
WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line)
torvalds#12:
Save 2 atomic ops, 1 allocation, 1 free per open/read/close sequence for such

WARNING: braces {} are not necessary for single statement blocks
torvalds#163: FILE: fs/proc/generic.c:536:
+	if (pde->proc_ops->proc_flags & PROC_ENTRY_PERMANENT) {
+		pde->flags |= PROC_ENTRY_PERMANENT;
+	}

WARNING: line over 80 characters
torvalds#203: FILE: fs/proc/generic.c:676:
+			WARN(1, "removing permanent /proc entry '%s'", de->name);

WARNING: braces {} are not necessary for single statement blocks
torvalds#207: FILE: fs/proc/generic.c:680:
+			if (S_ISDIR(de->mode)) {
+				parent->nlink--;
+			}

WARNING: line over 80 characters
torvalds#244: FILE: fs/proc/inode.c:198:
+static loff_t pde_lseek(struct proc_dir_entry *pde, struct file *file, loff_t offset, int whence)

WARNING: line over 80 characters
torvalds#274: FILE: fs/proc/inode.c:222:
+static ssize_t pde_read(struct proc_dir_entry *pde, struct file *file, char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#303: FILE: fs/proc/inode.c:246:
+static ssize_t pde_write(struct proc_dir_entry *pde, struct file *file, const char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#332: FILE: fs/proc/inode.c:270:
+static __poll_t pde_poll(struct proc_dir_entry *pde, struct file *file, struct poll_table_struct *pts)

WARNING: line over 80 characters
torvalds#361: FILE: fs/proc/inode.c:294:
+static long pde_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#391: FILE: fs/proc/inode.c:319:
+static long pde_compat_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#421: FILE: fs/proc/inode.c:343:
+static int pde_mmap(struct proc_dir_entry *pde, struct file *file, struct vm_area_struct *vma)

WARNING: line over 80 characters
torvalds#452: FILE: fs/proc/inode.c:368:
+pde_get_unmapped_area(struct proc_dir_entry *pde, struct file *file, unsigned long orig_addr,

WARNING: line over 80 characters
torvalds#489: FILE: fs/proc/inode.c:393:
+		return pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: line over 80 characters
torvalds#491: FILE: fs/proc/inode.c:395:
+		rv = pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: braces {} are not necessary for single statement blocks
torvalds#518: FILE: fs/proc/inode.c:470:
+		if (release) {
+			return release(inode, file);
+		}

total: 0 errors, 15 warnings, 462 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

./patches/proc-faster-open-read-close-with-permanent-files.patch has style problems, please review.

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.

Please run checkpatch prior to sending patches

Cc: Alexey Dobriyan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Stephen Rothwell <[email protected]>
ruscur pushed a commit to ruscur/linux that referenced this pull request Mar 12, 2020
WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line)
torvalds#12:
Save 2 atomic ops, 1 allocation, 1 free per open/read/close sequence for such

WARNING: braces {} are not necessary for single statement blocks
torvalds#163: FILE: fs/proc/generic.c:536:
+	if (pde->proc_ops->proc_flags & PROC_ENTRY_PERMANENT) {
+		pde->flags |= PROC_ENTRY_PERMANENT;
+	}

WARNING: line over 80 characters
torvalds#203: FILE: fs/proc/generic.c:676:
+			WARN(1, "removing permanent /proc entry '%s'", de->name);

WARNING: braces {} are not necessary for single statement blocks
torvalds#207: FILE: fs/proc/generic.c:680:
+			if (S_ISDIR(de->mode)) {
+				parent->nlink--;
+			}

WARNING: line over 80 characters
torvalds#244: FILE: fs/proc/inode.c:198:
+static loff_t pde_lseek(struct proc_dir_entry *pde, struct file *file, loff_t offset, int whence)

WARNING: line over 80 characters
torvalds#274: FILE: fs/proc/inode.c:222:
+static ssize_t pde_read(struct proc_dir_entry *pde, struct file *file, char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#303: FILE: fs/proc/inode.c:246:
+static ssize_t pde_write(struct proc_dir_entry *pde, struct file *file, const char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#332: FILE: fs/proc/inode.c:270:
+static __poll_t pde_poll(struct proc_dir_entry *pde, struct file *file, struct poll_table_struct *pts)

WARNING: line over 80 characters
torvalds#361: FILE: fs/proc/inode.c:294:
+static long pde_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#391: FILE: fs/proc/inode.c:319:
+static long pde_compat_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#421: FILE: fs/proc/inode.c:343:
+static int pde_mmap(struct proc_dir_entry *pde, struct file *file, struct vm_area_struct *vma)

WARNING: line over 80 characters
torvalds#452: FILE: fs/proc/inode.c:368:
+pde_get_unmapped_area(struct proc_dir_entry *pde, struct file *file, unsigned long orig_addr,

WARNING: line over 80 characters
torvalds#489: FILE: fs/proc/inode.c:393:
+		return pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: line over 80 characters
torvalds#491: FILE: fs/proc/inode.c:395:
+		rv = pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: braces {} are not necessary for single statement blocks
torvalds#518: FILE: fs/proc/inode.c:470:
+		if (release) {
+			return release(inode, file);
+		}

total: 0 errors, 15 warnings, 462 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

./patches/proc-faster-open-read-close-with-permanent-files.patch has style problems, please review.

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.

Please run checkpatch prior to sending patches

Cc: Alexey Dobriyan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Stephen Rothwell <[email protected]>
ruscur pushed a commit to ruscur/linux that referenced this pull request Mar 13, 2020
WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line)
torvalds#12:
Save 2 atomic ops, 1 allocation, 1 free per open/read/close sequence for such

WARNING: braces {} are not necessary for single statement blocks
torvalds#163: FILE: fs/proc/generic.c:536:
+	if (pde->proc_ops->proc_flags & PROC_ENTRY_PERMANENT) {
+		pde->flags |= PROC_ENTRY_PERMANENT;
+	}

WARNING: line over 80 characters
torvalds#203: FILE: fs/proc/generic.c:676:
+			WARN(1, "removing permanent /proc entry '%s'", de->name);

WARNING: braces {} are not necessary for single statement blocks
torvalds#207: FILE: fs/proc/generic.c:680:
+			if (S_ISDIR(de->mode)) {
+				parent->nlink--;
+			}

WARNING: line over 80 characters
torvalds#244: FILE: fs/proc/inode.c:198:
+static loff_t pde_lseek(struct proc_dir_entry *pde, struct file *file, loff_t offset, int whence)

WARNING: line over 80 characters
torvalds#274: FILE: fs/proc/inode.c:222:
+static ssize_t pde_read(struct proc_dir_entry *pde, struct file *file, char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#303: FILE: fs/proc/inode.c:246:
+static ssize_t pde_write(struct proc_dir_entry *pde, struct file *file, const char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#332: FILE: fs/proc/inode.c:270:
+static __poll_t pde_poll(struct proc_dir_entry *pde, struct file *file, struct poll_table_struct *pts)

WARNING: line over 80 characters
torvalds#361: FILE: fs/proc/inode.c:294:
+static long pde_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#391: FILE: fs/proc/inode.c:319:
+static long pde_compat_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#421: FILE: fs/proc/inode.c:343:
+static int pde_mmap(struct proc_dir_entry *pde, struct file *file, struct vm_area_struct *vma)

WARNING: line over 80 characters
torvalds#452: FILE: fs/proc/inode.c:368:
+pde_get_unmapped_area(struct proc_dir_entry *pde, struct file *file, unsigned long orig_addr,

WARNING: line over 80 characters
torvalds#489: FILE: fs/proc/inode.c:393:
+		return pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: line over 80 characters
torvalds#491: FILE: fs/proc/inode.c:395:
+		rv = pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: braces {} are not necessary for single statement blocks
torvalds#518: FILE: fs/proc/inode.c:470:
+		if (release) {
+			return release(inode, file);
+		}

total: 0 errors, 15 warnings, 462 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

./patches/proc-faster-open-read-close-with-permanent-files.patch has style problems, please review.

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.

Please run checkpatch prior to sending patches

Cc: Alexey Dobriyan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Stephen Rothwell <[email protected]>
ruscur pushed a commit to ruscur/linux that referenced this pull request Mar 16, 2020
WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line)
torvalds#12:
Save 2 atomic ops, 1 allocation, 1 free per open/read/close sequence for such

WARNING: braces {} are not necessary for single statement blocks
torvalds#163: FILE: fs/proc/generic.c:536:
+	if (pde->proc_ops->proc_flags & PROC_ENTRY_PERMANENT) {
+		pde->flags |= PROC_ENTRY_PERMANENT;
+	}

WARNING: line over 80 characters
torvalds#203: FILE: fs/proc/generic.c:676:
+			WARN(1, "removing permanent /proc entry '%s'", de->name);

WARNING: braces {} are not necessary for single statement blocks
torvalds#207: FILE: fs/proc/generic.c:680:
+			if (S_ISDIR(de->mode)) {
+				parent->nlink--;
+			}

WARNING: line over 80 characters
torvalds#244: FILE: fs/proc/inode.c:198:
+static loff_t pde_lseek(struct proc_dir_entry *pde, struct file *file, loff_t offset, int whence)

WARNING: line over 80 characters
torvalds#274: FILE: fs/proc/inode.c:222:
+static ssize_t pde_read(struct proc_dir_entry *pde, struct file *file, char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#303: FILE: fs/proc/inode.c:246:
+static ssize_t pde_write(struct proc_dir_entry *pde, struct file *file, const char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#332: FILE: fs/proc/inode.c:270:
+static __poll_t pde_poll(struct proc_dir_entry *pde, struct file *file, struct poll_table_struct *pts)

WARNING: line over 80 characters
torvalds#361: FILE: fs/proc/inode.c:294:
+static long pde_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#391: FILE: fs/proc/inode.c:319:
+static long pde_compat_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#421: FILE: fs/proc/inode.c:343:
+static int pde_mmap(struct proc_dir_entry *pde, struct file *file, struct vm_area_struct *vma)

WARNING: line over 80 characters
torvalds#452: FILE: fs/proc/inode.c:368:
+pde_get_unmapped_area(struct proc_dir_entry *pde, struct file *file, unsigned long orig_addr,

WARNING: line over 80 characters
torvalds#489: FILE: fs/proc/inode.c:393:
+		return pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: line over 80 characters
torvalds#491: FILE: fs/proc/inode.c:395:
+		rv = pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: braces {} are not necessary for single statement blocks
torvalds#518: FILE: fs/proc/inode.c:470:
+		if (release) {
+			return release(inode, file);
+		}

total: 0 errors, 15 warnings, 462 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

./patches/proc-faster-open-read-close-with-permanent-files.patch has style problems, please review.

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.

Please run checkpatch prior to sending patches

Cc: Alexey Dobriyan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Stephen Rothwell <[email protected]>
ruscur pushed a commit to ruscur/linux that referenced this pull request Mar 23, 2020
WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line)
torvalds#12:
Save 2 atomic ops, 1 allocation, 1 free per open/read/close sequence for such

WARNING: braces {} are not necessary for single statement blocks
torvalds#163: FILE: fs/proc/generic.c:536:
+	if (pde->proc_ops->proc_flags & PROC_ENTRY_PERMANENT) {
+		pde->flags |= PROC_ENTRY_PERMANENT;
+	}

WARNING: line over 80 characters
torvalds#203: FILE: fs/proc/generic.c:676:
+			WARN(1, "removing permanent /proc entry '%s'", de->name);

WARNING: braces {} are not necessary for single statement blocks
torvalds#207: FILE: fs/proc/generic.c:680:
+			if (S_ISDIR(de->mode)) {
+				parent->nlink--;
+			}

WARNING: line over 80 characters
torvalds#244: FILE: fs/proc/inode.c:198:
+static loff_t pde_lseek(struct proc_dir_entry *pde, struct file *file, loff_t offset, int whence)

WARNING: line over 80 characters
torvalds#274: FILE: fs/proc/inode.c:222:
+static ssize_t pde_read(struct proc_dir_entry *pde, struct file *file, char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#303: FILE: fs/proc/inode.c:246:
+static ssize_t pde_write(struct proc_dir_entry *pde, struct file *file, const char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#332: FILE: fs/proc/inode.c:270:
+static __poll_t pde_poll(struct proc_dir_entry *pde, struct file *file, struct poll_table_struct *pts)

WARNING: line over 80 characters
torvalds#361: FILE: fs/proc/inode.c:294:
+static long pde_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#391: FILE: fs/proc/inode.c:319:
+static long pde_compat_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#421: FILE: fs/proc/inode.c:343:
+static int pde_mmap(struct proc_dir_entry *pde, struct file *file, struct vm_area_struct *vma)

WARNING: line over 80 characters
torvalds#452: FILE: fs/proc/inode.c:368:
+pde_get_unmapped_area(struct proc_dir_entry *pde, struct file *file, unsigned long orig_addr,

WARNING: line over 80 characters
torvalds#489: FILE: fs/proc/inode.c:393:
+		return pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: line over 80 characters
torvalds#491: FILE: fs/proc/inode.c:395:
+		rv = pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: braces {} are not necessary for single statement blocks
torvalds#518: FILE: fs/proc/inode.c:470:
+		if (release) {
+			return release(inode, file);
+		}

total: 0 errors, 15 warnings, 462 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

./patches/proc-faster-open-read-close-with-permanent-files.patch has style problems, please review.

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.

Please run checkpatch prior to sending patches

Cc: Alexey Dobriyan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Stephen Rothwell <[email protected]>
ruscur pushed a commit to ruscur/linux that referenced this pull request Mar 24, 2020
WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line)
torvalds#12:
Save 2 atomic ops, 1 allocation, 1 free per open/read/close sequence for such

WARNING: braces {} are not necessary for single statement blocks
torvalds#163: FILE: fs/proc/generic.c:536:
+	if (pde->proc_ops->proc_flags & PROC_ENTRY_PERMANENT) {
+		pde->flags |= PROC_ENTRY_PERMANENT;
+	}

WARNING: line over 80 characters
torvalds#203: FILE: fs/proc/generic.c:676:
+			WARN(1, "removing permanent /proc entry '%s'", de->name);

WARNING: braces {} are not necessary for single statement blocks
torvalds#207: FILE: fs/proc/generic.c:680:
+			if (S_ISDIR(de->mode)) {
+				parent->nlink--;
+			}

WARNING: line over 80 characters
torvalds#244: FILE: fs/proc/inode.c:198:
+static loff_t pde_lseek(struct proc_dir_entry *pde, struct file *file, loff_t offset, int whence)

WARNING: line over 80 characters
torvalds#274: FILE: fs/proc/inode.c:222:
+static ssize_t pde_read(struct proc_dir_entry *pde, struct file *file, char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#303: FILE: fs/proc/inode.c:246:
+static ssize_t pde_write(struct proc_dir_entry *pde, struct file *file, const char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#332: FILE: fs/proc/inode.c:270:
+static __poll_t pde_poll(struct proc_dir_entry *pde, struct file *file, struct poll_table_struct *pts)

WARNING: line over 80 characters
torvalds#361: FILE: fs/proc/inode.c:294:
+static long pde_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#391: FILE: fs/proc/inode.c:319:
+static long pde_compat_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#421: FILE: fs/proc/inode.c:343:
+static int pde_mmap(struct proc_dir_entry *pde, struct file *file, struct vm_area_struct *vma)

WARNING: line over 80 characters
torvalds#452: FILE: fs/proc/inode.c:368:
+pde_get_unmapped_area(struct proc_dir_entry *pde, struct file *file, unsigned long orig_addr,

WARNING: line over 80 characters
torvalds#489: FILE: fs/proc/inode.c:393:
+		return pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: line over 80 characters
torvalds#491: FILE: fs/proc/inode.c:395:
+		rv = pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: braces {} are not necessary for single statement blocks
torvalds#518: FILE: fs/proc/inode.c:470:
+		if (release) {
+			return release(inode, file);
+		}

total: 0 errors, 15 warnings, 462 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

./patches/proc-faster-open-read-close-with-permanent-files.patch has style problems, please review.

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.

Please run checkpatch prior to sending patches

Cc: Alexey Dobriyan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Stephen Rothwell <[email protected]>
ruscur pushed a commit to ruscur/linux that referenced this pull request Mar 27, 2020
WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line)
torvalds#12:
Save 2 atomic ops, 1 allocation, 1 free per open/read/close sequence for such

WARNING: braces {} are not necessary for single statement blocks
torvalds#163: FILE: fs/proc/generic.c:536:
+	if (pde->proc_ops->proc_flags & PROC_ENTRY_PERMANENT) {
+		pde->flags |= PROC_ENTRY_PERMANENT;
+	}

WARNING: line over 80 characters
torvalds#203: FILE: fs/proc/generic.c:676:
+			WARN(1, "removing permanent /proc entry '%s'", de->name);

WARNING: braces {} are not necessary for single statement blocks
torvalds#207: FILE: fs/proc/generic.c:680:
+			if (S_ISDIR(de->mode)) {
+				parent->nlink--;
+			}

WARNING: line over 80 characters
torvalds#244: FILE: fs/proc/inode.c:198:
+static loff_t pde_lseek(struct proc_dir_entry *pde, struct file *file, loff_t offset, int whence)

WARNING: line over 80 characters
torvalds#274: FILE: fs/proc/inode.c:222:
+static ssize_t pde_read(struct proc_dir_entry *pde, struct file *file, char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#303: FILE: fs/proc/inode.c:246:
+static ssize_t pde_write(struct proc_dir_entry *pde, struct file *file, const char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#332: FILE: fs/proc/inode.c:270:
+static __poll_t pde_poll(struct proc_dir_entry *pde, struct file *file, struct poll_table_struct *pts)

WARNING: line over 80 characters
torvalds#361: FILE: fs/proc/inode.c:294:
+static long pde_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#391: FILE: fs/proc/inode.c:319:
+static long pde_compat_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#421: FILE: fs/proc/inode.c:343:
+static int pde_mmap(struct proc_dir_entry *pde, struct file *file, struct vm_area_struct *vma)

WARNING: line over 80 characters
torvalds#452: FILE: fs/proc/inode.c:368:
+pde_get_unmapped_area(struct proc_dir_entry *pde, struct file *file, unsigned long orig_addr,

WARNING: line over 80 characters
torvalds#489: FILE: fs/proc/inode.c:393:
+		return pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: line over 80 characters
torvalds#491: FILE: fs/proc/inode.c:395:
+		rv = pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: braces {} are not necessary for single statement blocks
torvalds#518: FILE: fs/proc/inode.c:470:
+		if (release) {
+			return release(inode, file);
+		}

total: 0 errors, 15 warnings, 462 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

./patches/proc-faster-open-read-close-with-permanent-files.patch has style problems, please review.

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.

Please run checkpatch prior to sending patches

Cc: Alexey Dobriyan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Stephen Rothwell <[email protected]>
ruscur pushed a commit to ruscur/linux that referenced this pull request Mar 30, 2020
WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line)
torvalds#12:
Save 2 atomic ops, 1 allocation, 1 free per open/read/close sequence for such

WARNING: braces {} are not necessary for single statement blocks
torvalds#163: FILE: fs/proc/generic.c:536:
+	if (pde->proc_ops->proc_flags & PROC_ENTRY_PERMANENT) {
+		pde->flags |= PROC_ENTRY_PERMANENT;
+	}

WARNING: line over 80 characters
torvalds#203: FILE: fs/proc/generic.c:676:
+			WARN(1, "removing permanent /proc entry '%s'", de->name);

WARNING: braces {} are not necessary for single statement blocks
torvalds#207: FILE: fs/proc/generic.c:680:
+			if (S_ISDIR(de->mode)) {
+				parent->nlink--;
+			}

WARNING: line over 80 characters
torvalds#244: FILE: fs/proc/inode.c:198:
+static loff_t pde_lseek(struct proc_dir_entry *pde, struct file *file, loff_t offset, int whence)

WARNING: line over 80 characters
torvalds#274: FILE: fs/proc/inode.c:222:
+static ssize_t pde_read(struct proc_dir_entry *pde, struct file *file, char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#303: FILE: fs/proc/inode.c:246:
+static ssize_t pde_write(struct proc_dir_entry *pde, struct file *file, const char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#332: FILE: fs/proc/inode.c:270:
+static __poll_t pde_poll(struct proc_dir_entry *pde, struct file *file, struct poll_table_struct *pts)

WARNING: line over 80 characters
torvalds#361: FILE: fs/proc/inode.c:294:
+static long pde_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#391: FILE: fs/proc/inode.c:319:
+static long pde_compat_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#421: FILE: fs/proc/inode.c:343:
+static int pde_mmap(struct proc_dir_entry *pde, struct file *file, struct vm_area_struct *vma)

WARNING: line over 80 characters
torvalds#452: FILE: fs/proc/inode.c:368:
+pde_get_unmapped_area(struct proc_dir_entry *pde, struct file *file, unsigned long orig_addr,

WARNING: line over 80 characters
torvalds#489: FILE: fs/proc/inode.c:393:
+		return pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: line over 80 characters
torvalds#491: FILE: fs/proc/inode.c:395:
+		rv = pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: braces {} are not necessary for single statement blocks
torvalds#518: FILE: fs/proc/inode.c:470:
+		if (release) {
+			return release(inode, file);
+		}

total: 0 errors, 15 warnings, 462 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

./patches/proc-faster-open-read-close-with-permanent-files.patch has style problems, please review.

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.

Please run checkpatch prior to sending patches

Cc: Alexey Dobriyan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Stephen Rothwell <[email protected]>
ruscur pushed a commit to ruscur/linux that referenced this pull request Mar 31, 2020
WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line)
torvalds#12:
Save 2 atomic ops, 1 allocation, 1 free per open/read/close sequence for such

WARNING: braces {} are not necessary for single statement blocks
torvalds#163: FILE: fs/proc/generic.c:536:
+	if (pde->proc_ops->proc_flags & PROC_ENTRY_PERMANENT) {
+		pde->flags |= PROC_ENTRY_PERMANENT;
+	}

WARNING: line over 80 characters
torvalds#203: FILE: fs/proc/generic.c:676:
+			WARN(1, "removing permanent /proc entry '%s'", de->name);

WARNING: braces {} are not necessary for single statement blocks
torvalds#207: FILE: fs/proc/generic.c:680:
+			if (S_ISDIR(de->mode)) {
+				parent->nlink--;
+			}

WARNING: line over 80 characters
torvalds#244: FILE: fs/proc/inode.c:198:
+static loff_t pde_lseek(struct proc_dir_entry *pde, struct file *file, loff_t offset, int whence)

WARNING: line over 80 characters
torvalds#274: FILE: fs/proc/inode.c:222:
+static ssize_t pde_read(struct proc_dir_entry *pde, struct file *file, char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#303: FILE: fs/proc/inode.c:246:
+static ssize_t pde_write(struct proc_dir_entry *pde, struct file *file, const char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#332: FILE: fs/proc/inode.c:270:
+static __poll_t pde_poll(struct proc_dir_entry *pde, struct file *file, struct poll_table_struct *pts)

WARNING: line over 80 characters
torvalds#361: FILE: fs/proc/inode.c:294:
+static long pde_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#391: FILE: fs/proc/inode.c:319:
+static long pde_compat_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#421: FILE: fs/proc/inode.c:343:
+static int pde_mmap(struct proc_dir_entry *pde, struct file *file, struct vm_area_struct *vma)

WARNING: line over 80 characters
torvalds#452: FILE: fs/proc/inode.c:368:
+pde_get_unmapped_area(struct proc_dir_entry *pde, struct file *file, unsigned long orig_addr,

WARNING: line over 80 characters
torvalds#489: FILE: fs/proc/inode.c:393:
+		return pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: line over 80 characters
torvalds#491: FILE: fs/proc/inode.c:395:
+		rv = pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: braces {} are not necessary for single statement blocks
torvalds#518: FILE: fs/proc/inode.c:470:
+		if (release) {
+			return release(inode, file);
+		}

total: 0 errors, 15 warnings, 462 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

./patches/proc-faster-open-read-close-with-permanent-files.patch has style problems, please review.

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.

Please run checkpatch prior to sending patches

Cc: Alexey Dobriyan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Stephen Rothwell <[email protected]>
ruscur pushed a commit to ruscur/linux that referenced this pull request Apr 2, 2020
WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line)
torvalds#12:
Save 2 atomic ops, 1 allocation, 1 free per open/read/close sequence for such

WARNING: braces {} are not necessary for single statement blocks
torvalds#163: FILE: fs/proc/generic.c:536:
+	if (pde->proc_ops->proc_flags & PROC_ENTRY_PERMANENT) {
+		pde->flags |= PROC_ENTRY_PERMANENT;
+	}

WARNING: line over 80 characters
torvalds#203: FILE: fs/proc/generic.c:676:
+			WARN(1, "removing permanent /proc entry '%s'", de->name);

WARNING: braces {} are not necessary for single statement blocks
torvalds#207: FILE: fs/proc/generic.c:680:
+			if (S_ISDIR(de->mode)) {
+				parent->nlink--;
+			}

WARNING: line over 80 characters
torvalds#244: FILE: fs/proc/inode.c:198:
+static loff_t pde_lseek(struct proc_dir_entry *pde, struct file *file, loff_t offset, int whence)

WARNING: line over 80 characters
torvalds#274: FILE: fs/proc/inode.c:222:
+static ssize_t pde_read(struct proc_dir_entry *pde, struct file *file, char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#303: FILE: fs/proc/inode.c:246:
+static ssize_t pde_write(struct proc_dir_entry *pde, struct file *file, const char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#332: FILE: fs/proc/inode.c:270:
+static __poll_t pde_poll(struct proc_dir_entry *pde, struct file *file, struct poll_table_struct *pts)

WARNING: line over 80 characters
torvalds#361: FILE: fs/proc/inode.c:294:
+static long pde_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#391: FILE: fs/proc/inode.c:319:
+static long pde_compat_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#421: FILE: fs/proc/inode.c:343:
+static int pde_mmap(struct proc_dir_entry *pde, struct file *file, struct vm_area_struct *vma)

WARNING: line over 80 characters
torvalds#452: FILE: fs/proc/inode.c:368:
+pde_get_unmapped_area(struct proc_dir_entry *pde, struct file *file, unsigned long orig_addr,

WARNING: line over 80 characters
torvalds#489: FILE: fs/proc/inode.c:393:
+		return pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: line over 80 characters
torvalds#491: FILE: fs/proc/inode.c:395:
+		rv = pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: braces {} are not necessary for single statement blocks
torvalds#518: FILE: fs/proc/inode.c:470:
+		if (release) {
+			return release(inode, file);
+		}

total: 0 errors, 15 warnings, 462 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

./patches/proc-faster-open-read-close-with-permanent-files.patch has style problems, please review.

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.

Please run checkpatch prior to sending patches

Cc: Alexey Dobriyan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Stephen Rothwell <[email protected]>
ruscur pushed a commit to ruscur/linux that referenced this pull request Apr 3, 2020
WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line)
torvalds#12:
Save 2 atomic ops, 1 allocation, 1 free per open/read/close sequence for such

WARNING: braces {} are not necessary for single statement blocks
torvalds#163: FILE: fs/proc/generic.c:536:
+	if (pde->proc_ops->proc_flags & PROC_ENTRY_PERMANENT) {
+		pde->flags |= PROC_ENTRY_PERMANENT;
+	}

WARNING: line over 80 characters
torvalds#203: FILE: fs/proc/generic.c:676:
+			WARN(1, "removing permanent /proc entry '%s'", de->name);

WARNING: braces {} are not necessary for single statement blocks
torvalds#207: FILE: fs/proc/generic.c:680:
+			if (S_ISDIR(de->mode)) {
+				parent->nlink--;
+			}

WARNING: line over 80 characters
torvalds#244: FILE: fs/proc/inode.c:198:
+static loff_t pde_lseek(struct proc_dir_entry *pde, struct file *file, loff_t offset, int whence)

WARNING: line over 80 characters
torvalds#274: FILE: fs/proc/inode.c:222:
+static ssize_t pde_read(struct proc_dir_entry *pde, struct file *file, char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#303: FILE: fs/proc/inode.c:246:
+static ssize_t pde_write(struct proc_dir_entry *pde, struct file *file, const char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#332: FILE: fs/proc/inode.c:270:
+static __poll_t pde_poll(struct proc_dir_entry *pde, struct file *file, struct poll_table_struct *pts)

WARNING: line over 80 characters
torvalds#361: FILE: fs/proc/inode.c:294:
+static long pde_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#391: FILE: fs/proc/inode.c:319:
+static long pde_compat_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#421: FILE: fs/proc/inode.c:343:
+static int pde_mmap(struct proc_dir_entry *pde, struct file *file, struct vm_area_struct *vma)

WARNING: line over 80 characters
torvalds#452: FILE: fs/proc/inode.c:368:
+pde_get_unmapped_area(struct proc_dir_entry *pde, struct file *file, unsigned long orig_addr,

WARNING: line over 80 characters
torvalds#489: FILE: fs/proc/inode.c:393:
+		return pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: line over 80 characters
torvalds#491: FILE: fs/proc/inode.c:395:
+		rv = pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: braces {} are not necessary for single statement blocks
torvalds#518: FILE: fs/proc/inode.c:470:
+		if (release) {
+			return release(inode, file);
+		}

total: 0 errors, 15 warnings, 462 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

./patches/proc-faster-open-read-close-with-permanent-files.patch has style problems, please review.

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.

Please run checkpatch prior to sending patches

Cc: Alexey Dobriyan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Stephen Rothwell <[email protected]>
ruscur pushed a commit to ruscur/linux that referenced this pull request Apr 6, 2020
WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line)
torvalds#12:
Save 2 atomic ops, 1 allocation, 1 free per open/read/close sequence for such

WARNING: braces {} are not necessary for single statement blocks
torvalds#163: FILE: fs/proc/generic.c:536:
+	if (pde->proc_ops->proc_flags & PROC_ENTRY_PERMANENT) {
+		pde->flags |= PROC_ENTRY_PERMANENT;
+	}

WARNING: line over 80 characters
torvalds#203: FILE: fs/proc/generic.c:676:
+			WARN(1, "removing permanent /proc entry '%s'", de->name);

WARNING: braces {} are not necessary for single statement blocks
torvalds#207: FILE: fs/proc/generic.c:680:
+			if (S_ISDIR(de->mode)) {
+				parent->nlink--;
+			}

WARNING: line over 80 characters
torvalds#244: FILE: fs/proc/inode.c:198:
+static loff_t pde_lseek(struct proc_dir_entry *pde, struct file *file, loff_t offset, int whence)

WARNING: line over 80 characters
torvalds#274: FILE: fs/proc/inode.c:222:
+static ssize_t pde_read(struct proc_dir_entry *pde, struct file *file, char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#303: FILE: fs/proc/inode.c:246:
+static ssize_t pde_write(struct proc_dir_entry *pde, struct file *file, const char __user *buf, size_t count, loff_t *ppos)

WARNING: line over 80 characters
torvalds#332: FILE: fs/proc/inode.c:270:
+static __poll_t pde_poll(struct proc_dir_entry *pde, struct file *file, struct poll_table_struct *pts)

WARNING: line over 80 characters
torvalds#361: FILE: fs/proc/inode.c:294:
+static long pde_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#391: FILE: fs/proc/inode.c:319:
+static long pde_compat_ioctl(struct proc_dir_entry *pde, struct file *file, unsigned int cmd, unsigned long arg)

WARNING: line over 80 characters
torvalds#421: FILE: fs/proc/inode.c:343:
+static int pde_mmap(struct proc_dir_entry *pde, struct file *file, struct vm_area_struct *vma)

WARNING: line over 80 characters
torvalds#452: FILE: fs/proc/inode.c:368:
+pde_get_unmapped_area(struct proc_dir_entry *pde, struct file *file, unsigned long orig_addr,

WARNING: line over 80 characters
torvalds#489: FILE: fs/proc/inode.c:393:
+		return pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: line over 80 characters
torvalds#491: FILE: fs/proc/inode.c:395:
+		rv = pde_get_unmapped_area(pde, file, orig_addr, len, pgoff, flags);

WARNING: braces {} are not necessary for single statement blocks
torvalds#518: FILE: fs/proc/inode.c:470:
+		if (release) {
+			return release(inode, file);
+		}

total: 0 errors, 15 warnings, 462 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

./patches/proc-faster-open-read-close-with-permanent-files.patch has style problems, please review.

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.

Please run checkpatch prior to sending patches

Cc: Alexey Dobriyan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Stephen Rothwell <[email protected]>
ojeda added a commit to ojeda/linux that referenced this pull request Jun 29, 2021
rust: fix bug where unsafe expressions didn't require unsafe block.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants