14 Jun, 2020

1 commit

  • Since commit 84af7a6194e4 ("checkpatch: kconfig: prefer 'help' over
    '---help---'"), the number of '---help---' has been gradually
    decreasing, but there are still more than 2400 instances.

    This commit finishes the conversion. While I touched the lines,
    I also fixed the indentation.

    There are a variety of indentation styles found.

    a) 4 spaces + '---help---'
    b) 7 spaces + '---help---'
    c) 8 spaces + '---help---'
    d) 1 space + 1 tab + '---help---'
    e) 1 tab + '---help---' (correct indentation)
    f) 1 tab + 1 space + '---help---'
    g) 1 tab + 2 spaces + '---help---'

    In order to convert all of them to 1 tab + 'help', I ran the
    following commend:

    $ find . -name 'Kconfig*' | xargs sed -i 's/^[[:space:]]*---help---/\thelp/'

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

09 Jul, 2019

1 commit

  • Pull crypto updates from Herbert Xu:
    "Here is the crypto update for 5.3:

    API:
    - Test shash interface directly in testmgr
    - cra_driver_name is now mandatory

    Algorithms:
    - Replace arc4 crypto_cipher with library helper
    - Implement 5 way interleave for ECB, CBC and CTR on arm64
    - Add xxhash
    - Add continuous self-test on noise source to drbg
    - Update jitter RNG

    Drivers:
    - Add support for SHA204A random number generator
    - Add support for 7211 in iproc-rng200
    - Fix fuzz test failures in inside-secure
    - Fix fuzz test failures in talitos
    - Fix fuzz test failures in qat"

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (143 commits)
    crypto: stm32/hash - remove interruptible condition for dma
    crypto: stm32/hash - Fix hmac issue more than 256 bytes
    crypto: stm32/crc32 - rename driver file
    crypto: amcc - remove memset after dma_alloc_coherent
    crypto: ccp - Switch to SPDX license identifiers
    crypto: ccp - Validate the the error value used to index error messages
    crypto: doc - Fix formatting of new crypto engine content
    crypto: doc - Add parameter documentation
    crypto: arm64/aes-ce - implement 5 way interleave for ECB, CBC and CTR
    crypto: arm64/aes-ce - add 5 way interleave routines
    crypto: talitos - drop icv_ool
    crypto: talitos - fix hash on SEC1.
    crypto: talitos - move struct talitos_edesc into talitos.h
    lib/scatterlist: Fix mapping iterator when sg->offset is greater than PAGE_SIZE
    crypto/NX: Set receive window credits to max number of CRBs in RxFIFO
    crypto: asymmetric_keys - select CRYPTO_HASH where needed
    crypto: serpent - mark __serpent_setkey_sbox noinline
    crypto: testmgr - dynamically allocate crypto_shash
    crypto: testmgr - dynamically allocate testvec_config
    crypto: talitos - eliminate unneeded 'done' functions at build time
    ...

    Linus Torvalds
     

20 Jun, 2019

1 commit

  • The WEP code in the mac80211 subsystem currently uses the crypto
    API to access the arc4 (RC4) cipher, which is overly complicated,
    and doesn't really have an upside in this particular case, since
    ciphers are always synchronous and therefore always implemented in
    software. Given that we have no accelerated software implementations
    either, it is much more straightforward to invoke a generic library
    interface directly.

    Signed-off-by: Ard Biesheuvel
    Signed-off-by: Herbert Xu

    Ard Biesheuvel
     

21 May, 2019

1 commit


05 Dec, 2018

1 commit

  • Lubomir Rintel recently pointed out a dead link for o11s.org, and
    repointed it to a still live, but also stale website. As far as I
    know, no one is updating the content at open80211s.org.

    Since this Kconfig text was originally written, though, the 802.11s
    mesh drafts were approved and ultimately rolled into 802.11 proper.
    Meanwhile, the implementation has converged on the final standard,
    so we can lose all of the text here and provide something that's a
    little more helpful and accurate.

    Signed-off-by: Bob Copeland
    Reviewed-by: Lubomir Rintel
    Reviewed-by: Steve deRosier
    Signed-off-by: Johannes Berg

    Bob Copeland
     

11 Oct, 2018

1 commit


08 Feb, 2017

1 commit

  • Switch the FILS AEAD code to use a cmac(aes) shash instantiated by the
    crypto API rather than reusing the open coded implementation in
    aes_cmac_vector(). This makes the code more understandable, and allows
    platforms to implement cmac(aes) in a more secure (*) and efficient way
    than is typically possible when using the AES cipher directly.

    So replace the crypto_cipher by a crypto_shash, and update the aes_s2v()
    routine to call the shash interface directly.

    * In particular, the generic table based AES implementation is sensitive
    to known-plaintext timing attacks on the key, to which AES based MAC
    algorithms are especially vulnerable, given that their plaintext is not
    usually secret. Time invariant alternatives are available (e.g., based
    on SIMD algorithms), but may incur a setup cost that is prohibitive when
    operating on a single block at a time, which is why they don't usually
    expose the cipher API.

    Signed-off-by: Ard Biesheuvel
    Signed-off-by: Johannes Berg

    Ard Biesheuvel
     

14 Aug, 2015

1 commit

  • Instead of using the out-of-line average calculation, use the new
    DECLARE_EWMA() macro to declare a signal EWMA, and use that.

    This actually *reduces* the code size slightly (on x86-64) while
    also reducing the station info size by 80 bytes.

    Signed-off-by: Johannes Berg

    Johannes Berg
     

05 May, 2015

1 commit

  • Since these counters can only be read through debugfs, there's
    very little point in maintaining them all the time. However,
    even just making them depend on debugfs is pointless - they're
    not normally used. Additionally a number of them aren't even
    concurrency safe.

    Move them under MAC80211_DEBUG_COUNTERS so they're normally
    not even compiled in.

    Signed-off-by: Johannes Berg

    Johannes Berg
     

23 Apr, 2015

1 commit


27 Jan, 2015

1 commit

  • This allows mac80211 to configure GCMP and GCMP-256 to the driver and
    also use software-implementation within mac80211 when the driver does
    not support this with hardware accelaration.

    Signed-off-by: Jouni Malinen
    [remove a spurious newline]
    Signed-off-by: Johannes Berg

    Jouni Malinen
     

04 Nov, 2014

1 commit

  • This patch adds 802.11p OCB (Outside the Context of a BSS) mode
    support.

    When communicating in OCB mode a mandatory wildcard BSSID
    (48 '1' bits) is used.

    The EDCA parameters handling function was changed to support
    802.11p specific values.

    The insertion of a newly discovered STAs is done in the similar way
    as in the IBSS mode -- through the deferred insertion.

    The OCB mode uses a periodic 'housekeeping task' for expiration of
    disconnected STAs (in the similar manner as in the MESH mode).

    New Kconfig option for verbose OCB debugging outputs is added.

    Signed-off-by: Rostislav Lisovy
    Signed-off-by: Johannes Berg

    Rostislav Lisovy
     

21 Oct, 2014

1 commit

  • When the new CONFIG_MAC80211_RC_MINSTREL_VHT is not set (default 'N'),
    there is no behavioral change including in sampling and MCS_GROUP_RATES
    remains 8.
    Otherwise MCS_GROUP_RATES is 10, and a module parameter *vht_only*
    (default 'true'), restricts the rates selection to VHT when VHT is
    supported.

    Regarding the debugfs stats buffer:
    It is explicitly increased from 8k to 32k to fit every rates incl. when
    both HT and VHT rates are enabled, as for the format, before:
    type rate tpt eprob *prob ret *ok(*cum) ok( cum)
    HT20/LGI ABCDP MCS0 0.0 0.0 0.0 1 0( 0) 0( 0)
    after:
    type rate tpt eprob *prob ret *ok(*cum) ok( cum)
    HT20/LGI ABCDP MCS0 0.0 0.0 0.0 1 0( 0) 0( 0)
    VHT40/LGI MCS5/2 0.0 0.0 0.0 0 0( 0) 0( 0)

    Signed-off-by: Karl Beldan
    Cc: Felix Fietkau
    Signed-off-by: Johannes Berg

    Karl Beldan
     

23 Jun, 2014

1 commit


28 Oct, 2013

1 commit

  • Process the CSA frame according to the procedures define in IEEE Std
    802.11-2012 section 10.9.8.4.3 as follow:
    * The mesh channel switch parameters element (MCSP) must be availabe.
    * If the MCSP's TTL is 1, drop the frame but still process the CSA.
    * If the MCSP's precedence value is less than or equal to the current
    precedence value, drop the frame and do not process the CSA.
    * The CSA frame is forwarded after TTL is decremented by 1 and the
    initiator field is set to 0. Transmit restrict field and others
    are maintained as is.
    * No beacon or probe response frame are handled here.

    Also, introduce the debug message used for mesh CSA purpose.

    Signed-off-by: Chun-Yeow Yeoh
    Signed-off-by: Johannes Berg

    Chun-Yeow Yeoh
     

11 Oct, 2013

1 commit

  • Use the generic CCM aead chaining mode driver rather than a local
    implementation that sits right on top of the core AES cipher.

    This allows the use of accelerated implementations of either
    CCM as a whole or the CTR mode which it encapsulates.

    Signed-off-by: Ard Biesheuvel
    Signed-off-by: Johannes Berg

    Ard Biesheuvel
     

22 Feb, 2013

1 commit

  • Pull driver core patches from Greg Kroah-Hartman:
    "Here is the big driver core merge for 3.9-rc1

    There are two major series here, both of which touch lots of drivers
    all over the kernel, and will cause you some merge conflicts:

    - add a new function called devm_ioremap_resource() to properly be
    able to check return values.

    - remove CONFIG_EXPERIMENTAL

    Other than those patches, there's not much here, some minor fixes and
    updates"

    Fix up trivial conflicts

    * tag 'driver-core-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (221 commits)
    base: memory: fix soft/hard_offline_page permissions
    drivercore: Fix ordering between deferred_probe and exiting initcalls
    backlight: fix class_find_device() arguments
    TTY: mark tty_get_device call with the proper const values
    driver-core: constify data for class_find_device()
    firmware: Ignore abort check when no user-helper is used
    firmware: Reduce ifdef CONFIG_FW_LOADER_USER_HELPER
    firmware: Make user-mode helper optional
    firmware: Refactoring for splitting user-mode helper code
    Driver core: treat unregistered bus_types as having no devices
    watchdog: Convert to devm_ioremap_resource()
    thermal: Convert to devm_ioremap_resource()
    spi: Convert to devm_ioremap_resource()
    power: Convert to devm_ioremap_resource()
    mtd: Convert to devm_ioremap_resource()
    mmc: Convert to devm_ioremap_resource()
    mfd: Convert to devm_ioremap_resource()
    media: Convert to devm_ioremap_resource()
    iommu: Convert to devm_ioremap_resource()
    drm: Convert to devm_ioremap_resource()
    ...

    Linus Torvalds
     

05 Feb, 2013

1 commit

  • Add routines to
    - maintain a PS mode for each peer and a non-peer PS mode
    - indicate own PS mode in transmitted frames
    - track neighbor STAs power modes
    - buffer frames when neighbors are in PS mode
    - add TIM and Awake Window IE to beacons
    - release frames in Mesh Peer Service Periods

    Add local_pm to sta_info to represent the link-specific power
    mode at this station towards the remote station. When a peer
    link is established, use the default power mode stored in mesh
    config. Update the PS status if the peering status of a neighbor
    changes.
    Maintain a mesh power mode for non-peer mesh STAs. Set the
    non-peer power mode to active mode during peering. Authenticated
    mesh peering is currently not working when either node is
    configured to be in power save mode.

    Indicate the current power mode in transmitted frames. Use QoS
    Nulls to indicate mesh power mode transitions.
    For performance reasons, calls to the function setting the frame
    flags are placed in HWMP routing routines, as there the STA
    pointer is already available.

    Add peer_pm to sta_info to represent the peer's link-specific
    power mode towards the local station. Add nonpeer_pm to
    represent the peer's power mode towards all non-peer stations.
    Track power modes based on received frames.

    Add the ps_data structure to ieee80211_if_mesh (for TIM map, PS
    neighbor counter and group-addressed frame buffer).

    Set WLAN_STA_PS flag for STA in PS mode to use the unicast frame
    buffering routines in the tx path. Update num_sta_ps to buffer
    and release group-addressed frames after DTIM beacons.

    Announce the awake window duration in beacons if in light or
    deep sleep mode towards any peer or non-peer. Create a TIM IE
    similarly to AP mode and add it to mesh beacons. Parse received
    Awake Window IEs and check TIM IEs for buffered frames.

    Release frames towards peers in mesh Peer Service Periods. Use
    the corresponding trigger frames and monitor the MPSP status.
    Append a QoS Null as trigger frame if neccessary to properly end
    the MPSP. Currently, in HT channels MPSPs behave imperfectly and
    show large delay spikes and frame losses.

    Signed-off-by: Marco Porsch
    Signed-off-by: Ivan Bezyazychnyy
    Signed-off-by: Mike Krinkin
    Signed-off-by: Max Filippov
    Signed-off-by: Johannes Berg

    Marco Porsch
     

12 Jan, 2013

1 commit

  • The CONFIG_EXPERIMENTAL config item has not carried much meaning for a
    while now and is almost always enabled by default. As agreed during the
    Linux kernel summit, remove it from any "depends on" lines in Kconfigs.

    CC: "John W. Linville"
    CC: Johannes Berg
    CC: "David S. Miller"
    Signed-off-by: Kees Cook
    Acked-by: Johannes Berg
    Acked-by: David S. Miller

    Kees Cook
     

18 Oct, 2012

1 commit


24 Jun, 2012

2 commits

  • It can be very useful to have all debug messages
    available when debugging, but hard to correlate
    between different sources, so add a trace event
    for all mac80211 debug messages.

    Signed-off-by: Johannes Berg

    Johannes Berg
     
  • There are a few things that make the logging and
    debugging in mac80211 less useful than it should
    be right now:
    * a lot of messages should be pr_info, not pr_debug
    * wholesale use of pr_debug makes it require *both*
    Kconfig and dynamic configuration
    * there are still a lot of ifdefs
    * the style is very inconsistent, sometimes the
    sdata->name is printed in front

    Clean up everything, introducing new macros and
    separating out the station MLME debugging into
    a new Kconfig symbol.

    Signed-off-by: Johannes Berg

    Johannes Berg
     

22 Jun, 2012

1 commit


11 Apr, 2012

1 commit

  • This patch adds MBSS extensible synchronization framework (Sec.
    13.13.2 of IEEE Std. 802.11-2012).

    The framework is implemented via an ops table which defines the
    following functions:

    rx_bcn_presp() - this is called every time a mesh beacon is
    received.
    adjust_tbtt() - this is called immediately before a beacon is about
    to be transmitted.

    The default neighbor offset synchronization defined in the standard is
    implemented. We also provide template functions for vendor specific
    methods.

    When neighbor offset synchronization is active (which is the default)
    mesh neighbors in the same MBSS will track timing offsets to each other
    and compensate clock drift.

    In our tests we observed that this mesh synchronization implementation
    successfully corrected drifts between stations of ~2PPM while
    introducing a jitter of ~20us.

    It is also possible to test this framework on mac80211_hwsim simulated
    phys to see how it behaves under different topologies, over poor links,
    etc.

    Signed-off-by: Marco Porsch
    Signed-off-by: Pavel Zubarev
    Signed-off-by: Javier Cardona
    Signed-off-by: John W. Linville

    Javier Cardona
     

29 Nov, 2011

1 commit

  • There's little point in this config symbol, if
    tracing is disabled the overhead is negligible
    and if you think it's too bad you can always
    turn off tracing completely.

    Also remove the part where we don't have sparse
    check the tracing code -- it seems that it can
    now deal with it (or the code changed).

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

01 Oct, 2011

1 commit

  • Register and implement the TDLS cfg80211 callback functions.

    Internally prepare and send TDLS management frames. We incorporate
    local STA capabilities and supported rates with extra IEs given by
    usermode. The resulting packet is either encapsulated in a data frame,
    or assembled as an action frame. It is transmitted either directly or
    through the AP, as mandated by the TDLS specification.

    Declare support for the TDLS external setup wiphy capability. This
    tells usermode to handle link setup and discovery on its own, and use the
    kernel driver for sending TDLS mgmt packets.

    Signed-off-by: Arik Nemtsov
    Cc: Kalyan C Gaddam
    Signed-off-by: John W. Linville

    Arik Nemtsov
     

25 Aug, 2011

1 commit


05 Apr, 2011

1 commit

  • The only thing that using crypto_blkcipher with ecb does over just using
    arc4 directly is wrapping the encrypt/decrypt function into a for loop,
    looping over each individual character.
    To be able to do this, it pulls in around 40 kb worth of unnecessary
    kernel modules (at least on a MIPS embedded device).
    Using arc4 directly not only eliminates those dependencies, it also makes
    the code smaller.

    Signed-off-by: Felix Fietkau
    Signed-off-by: John W. Linville

    Felix Fietkau
     

05 Mar, 2011

1 commit


02 Mar, 2011

1 commit


23 Feb, 2011

1 commit


19 Feb, 2011

1 commit


21 Jan, 2011

1 commit

  • The meaning of CONFIG_EMBEDDED has long since been obsoleted; the option
    is used to configure any non-standard kernel with a much larger scope than
    only small devices.

    This patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes
    references to the option throughout the kernel. A new CONFIG_EMBEDDED
    option is added that automatically selects CONFIG_EXPERT when enabled and
    can be used in the future to isolate options that should only be
    considered for embedded systems (RISC architectures, SLOB, etc).

    Calling the option "EXPERT" more accurately represents its intention: only
    expert users who understand the impact of the configuration changes they
    are making should enable it.

    Reviewed-by: Ingo Molnar
    Acked-by: David Woodhouse
    Signed-off-by: David Rientjes
    Cc: Greg KH
    Cc: "David S. Miller"
    Cc: Jens Axboe
    Cc: Arnd Bergmann
    Cc: Robin Holt
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Rientjes
     

27 Dec, 2010

1 commit


08 Dec, 2010

1 commit

  • Extend nl80211 to report an exponential weighted moving average (EWMA) of the
    signal value. Since the signal value usually fluctuates between different
    packets, an average can be more useful than the value of the last packet.

    This uses the recently added generic EWMA library function.

    --
    v2: fix ABI breakage and change factor to be a power of 2.

    Signed-off-by: Bruno Randolf
    Signed-off-by: John W. Linville

    Bruno Randolf
     

03 Dec, 2010

1 commit

  • It's not useful to build LED triggers when there's no LEDs that can be
    triggered by them. Therefore, fix up the dependencies so that this
    cannot happen, and fix a few users that select triggers to depend on
    LEDS_CLASS as well (there is also one user that also selects LEDS_CLASS,
    which is OK).

    Signed-off-by: Johannes Berg
    Reported-by: Randy Dunlap
    Acked-by: Randy Dunlap
    Tested-by: Ingo Molnar
    Cc: Arnd Hannemann
    Cc: Michal Hocko
    Cc: Richard Purdie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Berg
     

25 Nov, 2010

1 commit


19 Nov, 2010

1 commit

  • Extend nl80211 to report an exponential weighted moving average (EWMA) of the
    signal value. Since the signal value usually fluctuates between different
    packets, an average can be more useful than the value of the last packet.

    This uses the recently added generic EWMA library function.

    Signed-off-by: Bruno Randolf
    Signed-off-by: John W. Linville

    Bruno Randolf
     

01 Jul, 2010

1 commit

  • Allow selection of minstrel_ht as default rate control algorithm. At
    the moment minstrel_ht can only be requested by the driver code but
    not selected as default in make menuconfig. Fix this by using
    minstrel_ht when minstrel was selected as default and minstrel_ht
    is available.

    This change won't affect legacy devices as minstrel_ht falls back to
    minstrel in that case.

    Signed-off-by: Helmut Schaa
    Signed-off-by: John W. Linville

    Helmut Schaa
     

03 Jun, 2010

1 commit