23 Mar, 2012

1 commit

  • Pull s390 patches from Martin Schwidefsky:
    "The biggest patch is the rework of the smp code, something I wanted to
    do for some time. There are some patches for our various dump methods
    and one new thing: z/VM LGR detection. LGR stands for linux-guest-
    relocation and is the guest migration feature of z/VM. For debugging
    purposes we keep a log of the systems where a specific guest has lived."

    Fix up trivial conflict in arch/s390/kernel/smp.c due to the scheduler
    cleanup having removed some code next to removed s390 code.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    [S390] kernel: Pass correct stack for smp_call_ipl_cpu()
    [S390] Ensure that vmcore_info pointer is never accessed directly
    [S390] dasd: prevent validate server for offline devices
    [S390] Remove monolithic build option for zcrypt driver.
    [S390] stack dump: fix indentation in output
    [S390] kernel: Add OS info memory interface
    [S390] Use block_sigmask()
    [S390] kernel: Add z/VM LGR detection
    [S390] irq: external interrupt code passing
    [S390] irq: set __ARCH_IRQ_EXIT_IRQS_DISABLED
    [S390] zfcpdump: Implement async sdias event processing
    [S390] Use copy_to_absolute_zero() instead of "stura/sturg"
    [S390] rework idle code
    [S390] rework smp code
    [S390] rename lowcore field
    [S390] Fix gcc 4.6.0 compile warning

    Linus Torvalds
     

22 Mar, 2012

3 commits

  • Pull vfs pile 1 from Al Viro:
    "This is _not_ all; in particular, Miklos' and Jan's stuff is not there
    yet."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (64 commits)
    ext4: initialization of ext4_li_mtx needs to be done earlier
    debugfs-related mode_t whack-a-mole
    hfsplus: add an ioctl to bless files
    hfsplus: change finder_info to u32
    hfsplus: initialise userflags
    qnx4: new helper - try_extent()
    qnx4: get rid of qnx4_bread/qnx4_getblk
    take removal of PF_FORKNOEXEC to flush_old_exec()
    trim includes in inode.c
    um: uml_dup_mmap() relies on ->mmap_sem being held, but activate_mm() doesn't hold it
    um: embed ->stub_pages[] into mmu_context
    gadgetfs: list_for_each_safe() misuse
    ocfs2: fix leaks on failure exits in module_init
    ecryptfs: make register_filesystem() the last potential failure exit
    ntfs: forgets to unregister sysctls on register_filesystem() failure
    logfs: missing cleanup on register_filesystem() failure
    jfs: mising cleanup on register_filesystem() failure
    make configfs_pin_fs() return root dentry on success
    configfs: configfs_create_dir() has parent dentry in dentry->d_parent
    configfs: sanitize configfs_create()
    ...

    Linus Torvalds
     
  • Pull security subsystem updates for 3.4 from James Morris:
    "The main addition here is the new Yama security module from Kees Cook,
    which was discussed at the Linux Security Summit last year. Its
    purpose is to collect miscellaneous DAC security enhancements in one
    place. This also marks a departure in policy for LSM modules, which
    were previously limited to being standalone access control systems.
    Chromium OS is using Yama, and I believe there are plans for Ubuntu,
    at least.

    This patchset also includes maintenance updates for AppArmor, TOMOYO
    and others."

    Fix trivial conflict in due to the jumo_label->static_key
    rename.

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (38 commits)
    AppArmor: Fix location of const qualifier on generated string tables
    TOMOYO: Return error if fails to delete a domain
    AppArmor: add const qualifiers to string arrays
    AppArmor: Add ability to load extended policy
    TOMOYO: Return appropriate value to poll().
    AppArmor: Move path failure information into aa_get_name and rename
    AppArmor: Update dfa matching routines.
    AppArmor: Minor cleanup of d_namespace_path to consolidate error handling
    AppArmor: Retrieve the dentry_path for error reporting when path lookup fails
    AppArmor: Add const qualifiers to generated string tables
    AppArmor: Fix oops in policy unpack auditing
    AppArmor: Fix error returned when a path lookup is disconnected
    KEYS: testing wrong bit for KEY_FLAG_REVOKED
    TOMOYO: Fix mount flags checking order.
    security: fix ima kconfig warning
    AppArmor: Fix the error case for chroot relative path name lookup
    AppArmor: fix mapping of META_READ to audit and quiet flags
    AppArmor: Fix underflow in xindex calculation
    AppArmor: Fix dropping of allowed operations that are force audited
    AppArmor: Add mising end of structure test to caps unpacking
    ...

    Linus Torvalds
     
  • Pull kmap_atomic cleanup from Cong Wang.

    It's been in -next for a long time, and it gets rid of the (no longer
    used) second argument to k[un]map_atomic().

    Fix up a few trivial conflicts in various drivers, and do an "evil
    merge" to catch some new uses that have come in since Cong's tree.

    * 'kmap_atomic' of git://github.com/congwang/linux: (59 commits)
    feature-removal-schedule.txt: schedule the deprecated form of kmap_atomic() for removal
    highmem: kill all __kmap_atomic() [swarren@nvidia.com: highmem: Fix ARM build break due to __kmap_atomic rename]
    drbd: remove the second argument of k[un]map_atomic()
    zcache: remove the second argument of k[un]map_atomic()
    gma500: remove the second argument of k[un]map_atomic()
    dm: remove the second argument of k[un]map_atomic()
    tomoyo: remove the second argument of k[un]map_atomic()
    sunrpc: remove the second argument of k[un]map_atomic()
    rds: remove the second argument of k[un]map_atomic()
    net: remove the second argument of k[un]map_atomic()
    mm: remove the second argument of k[un]map_atomic()
    lib: remove the second argument of k[un]map_atomic()
    power: remove the second argument of k[un]map_atomic()
    kdb: remove the second argument of k[un]map_atomic()
    udf: remove the second argument of k[un]map_atomic()
    ubifs: remove the second argument of k[un]map_atomic()
    squashfs: remove the second argument of k[un]map_atomic()
    reiserfs: remove the second argument of k[un]map_atomic()
    ocfs2: remove the second argument of k[un]map_atomic()
    ntfs: remove the second argument of k[un]map_atomic()
    ...

    Linus Torvalds
     

21 Mar, 2012

11 commits

  • Pull trivial tree from Jiri Kosina:
    "It's indeed trivial -- mostly documentation updates and a bunch of
    typo fixes from Masanari.

    There are also several linux/version.h include removals from Jesper."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (101 commits)
    kcore: fix spelling in read_kcore() comment
    constify struct pci_dev * in obvious cases
    Revert "char: Fix typo in viotape.c"
    init: fix wording error in mm_init comment
    usb: gadget: Kconfig: fix typo for 'different'
    Revert "power, max8998: Include linux/module.h just once in drivers/power/max8998_charger.c"
    writeback: fix fn name in writeback_inodes_sb_nr_if_idle() comment header
    writeback: fix typo in the writeback_control comment
    Documentation: Fix multiple typo in Documentation
    tpm_tis: fix tis_lock with respect to RCU
    Revert "media: Fix typo in mixer_drv.c and hdmi_drv.c"
    Doc: Update numastat.txt
    qla4xxx: Add missing spaces to error messages
    compiler.h: Fix typo
    security: struct security_operations kerneldoc fix
    Documentation: broken URL in libata.tmpl
    Documentation: broken URL in filesystems.tmpl
    mtd: simplify return logic in do_map_probe()
    mm: fix comment typo of truncate_inode_pages_range
    power: bq27x00: Fix typos in comment
    ...

    Linus Torvalds
     
  • Pull networking merge from David Miller:
    "1) Move ixgbe driver over to purely page based buffering on receive.
    From Alexander Duyck.

    2) Add receive packet steering support to e1000e, from Bruce Allan.

    3) Convert TCP MD5 support over to RCU, from Eric Dumazet.

    4) Reduce cpu usage in handling out-of-order TCP packets on modern
    systems, also from Eric Dumazet.

    5) Support the IP{,V6}_UNICAST_IF socket options, making the wine
    folks happy, from Erich Hoover.

    6) Support VLAN trunking from guests in hyperv driver, from Haiyang
    Zhang.

    7) Support byte-queue-limtis in r8169, from Igor Maravic.

    8) Outline code intended for IP_RECVTOS in IP_PKTOPTIONS existed but
    was never properly implemented, Jiri Benc fixed that.

    9) 64-bit statistics support in r8169 and 8139too, from Junchang Wang.

    10) Support kernel side dump filtering by ctmark in netfilter
    ctnetlink, from Pablo Neira Ayuso.

    11) Support byte-queue-limits in gianfar driver, from Paul Gortmaker.

    12) Add new peek socket options to assist with socket migration, from
    Pavel Emelyanov.

    13) Add sch_plug packet scheduler whose queue is controlled by
    userland daemons using explicit freeze and release commands. From
    Shriram Rajagopalan.

    14) Fix FCOE checksum offload handling on transmit, from Yi Zou."

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1846 commits)
    Fix pppol2tp getsockname()
    Remove printk from rds_sendmsg
    ipv6: fix incorrent ipv6 ipsec packet fragment
    cpsw: Hook up default ndo_change_mtu.
    net: qmi_wwan: fix build error due to cdc-wdm dependecy
    netdev: driver: ethernet: Add TI CPSW driver
    netdev: driver: ethernet: add cpsw address lookup engine support
    phy: add am79c874 PHY support
    mlx4_core: fix race on comm channel
    bonding: send igmp report for its master
    fs_enet: Add MPC5125 FEC support and PHY interface selection
    net: bpf_jit: fix BPF_S_LDX_B_MSH compilation
    net: update the usage of CHECKSUM_UNNECESSARY
    fcoe: use CHECKSUM_UNNECESSARY instead of CHECKSUM_PARTIAL on tx
    net: do not do gso for CHECKSUM_UNNECESSARY in netif_needs_gso
    ixgbe: Fix issues with SR-IOV loopback when flow control is disabled
    net/hyperv: Fix the code handling tx busy
    ixgbe: fix namespace issues when FCoE/DCB is not enabled
    rtlwifi: Remove unused ETH_ADDR_LEN defines
    igbvf: Use ETH_ALEN
    ...

    Fix up fairly trivial conflicts in drivers/isdn/gigaset/interface.c and
    drivers/net/usb/{Kconfig,qmi_wwan.c} as per David.

    Linus Torvalds
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • Pull cgroup changes from Tejun Heo:
    "Out of the 8 commits, one fixes a long-standing locking issue around
    tasklist walking and others are cleanups."

    * 'for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
    cgroup: Walk task list under tasklist_lock in cgroup_enable_task_cg_list
    cgroup: Remove wrong comment on cgroup_enable_task_cg_list()
    cgroup: remove cgroup_subsys argument from callbacks
    cgroup: remove extra calls to find_existing_css_set
    cgroup: replace tasklist_lock with rcu_read_lock
    cgroup: simplify double-check locking in cgroup_attach_proc
    cgroup: move struct cgroup_pidlist out from the header file
    cgroup: remove cgroup_attach_task_current_cg()

    Linus Torvalds
     
  • While testing L2TP functionality, I came across a bug in getsockname(). The
    IP address returned within the pppol2tp_addr's addr memember was not being
    set to the IP address in use. This bug is caused by using inet_sk() on the
    wrong socket (the L2TP socket rather than the underlying UDP socket), and was
    likely introduced during the addition of L2TPv3 support.

    Signed-off-by: Benjamin LaHaise
    Signed-off-by: James Chapman
    Signed-off-by: David S. Miller

    Benjamin LaHaise
     
  • no socket layer outputs a message for this error and neither should rds.

    Signed-off-by: Dave Jones
    Signed-off-by: David S. Miller

    Dave Jones
     
  • Pull TTY/serial patches from Greg KH:
    "tty and serial merge for 3.4-rc1

    Here's the big serial and tty merge for the 3.4-rc1 tree.

    There's loads of fixes and reworks in here from Jiri for the tty
    layer, and a number of patches from Alan to help try to wrestle the vt
    layer into a sane model.

    Other than that, lots of driver updates and fixes, and other minor
    stuff, all detailed in the shortlog."

    * tag 'tty-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (132 commits)
    serial: pxa: add clk_prepare/clk_unprepare calls
    TTY: Wrong unicode value copied in con_set_unimap()
    serial: PL011: clear pending interrupts
    serial: bfin-uart: Don't access tty circular buffer in TX DMA interrupt after it is reset.
    vt: NULL dereference in vt_do_kdsk_ioctl()
    tty: serial: vt8500: fix annotations for probe/remove
    serial: remove back and forth conversions in serial_out_sync
    serial: use serial_port_in/out vs serial_in/out in 8250
    serial: introduce generic port in/out helpers
    serial: reduce number of indirections in 8250 code
    serial: delete useless void casts in 8250.c
    serial: make 8250's serial_in shareable to other drivers.
    serial: delete last unused traces of pausing I/O in 8250
    pch_uart: Add module parameter descriptions
    pch_uart: Use existing default_baud in setup_console
    pch_uart: Add user_uartclk parameter
    pch_uart: Add Fish River Island II uart clock quirks
    pch_uart: Use uartclk instead of base_baud
    mpc5200b/uart: select more tolerant uart prescaler on low baudrates
    tty: moxa: fix bit test in moxa_start()
    ...

    Linus Torvalds
     
  • Pull perf events changes for v3.4 from Ingo Molnar:

    - New "hardware based branch profiling" feature both on the kernel and
    the tooling side, on CPUs that support it. (modern x86 Intel CPUs
    with the 'LBR' hardware feature currently.)

    This new feature is basically a sophisticated 'magnifying glass' for
    branch execution - something that is pretty difficult to extract from
    regular, function histogram centric profiles.

    The simplest mode is activated via 'perf record -b', and the result
    looks like this in perf report:

    $ perf record -b any_call,u -e cycles:u branchy

    $ perf report -b --sort=symbol
    52.34% [.] main [.] f1
    24.04% [.] f1 [.] f3
    23.60% [.] f1 [.] f2
    0.01% [k] _IO_new_file_xsputn [k] _IO_file_overflow
    0.01% [k] _IO_vfprintf_internal [k] _IO_new_file_xsputn
    0.01% [k] _IO_vfprintf_internal [k] strchrnul
    0.01% [k] __printf [k] _IO_vfprintf_internal
    0.01% [k] main [k] __printf

    This output shows from/to branch columns and shows the highest
    percentage (from,to) jump combinations - i.e. the most likely taken
    branches in the system. "branches" can also include function calls
    and any other synchronous and asynchronous transitions of the
    instruction pointer that are not 'next instruction' - such as system
    calls, traps, interrupts, etc.

    This feature comes with (hopefully intuitive) flat ascii and TUI
    support in perf report.

    - Various 'perf annotate' visual improvements for us assembly junkies.
    It will now recognize function calls in the TUI and by hitting enter
    you can follow the call (recursively) and back, amongst other
    improvements.

    - Multiple threads/processes recording support in perf record, perf
    stat, perf top - which is activated via a comma-list of PIDs:

    perf top -p 21483,21485
    perf stat -p 21483,21485 -ddd
    perf record -p 21483,21485

    - Support for per UID views, via the --uid paramter to perf top, perf
    report, etc. For example 'perf top --uid mingo' will only show the
    tasks that I am running, excluding other users, root, etc.

    - Jump label restructurings and improvements - this includes the
    factoring out of the (hopefully much clearer) include/linux/static_key.h
    generic facility:

    struct static_key key = STATIC_KEY_INIT_FALSE;

    ...

    if (static_key_false(&key))
    do unlikely code
    else
    do likely code

    ...
    static_key_slow_inc();
    ...
    static_key_slow_inc();
    ...

    The static_key_false() branch will be generated into the code with as
    little impact to the likely code path as possible. the
    static_key_slow_*() APIs flip the branch via live kernel code patching.

    This facility can now be used more widely within the kernel to
    micro-optimize hot branches whose likelihood matches the static-key
    usage and fast/slow cost patterns.

    - SW function tracer improvements: perf support and filtering support.

    - Various hardenings of the perf.data ABI, to make older perf.data's
    smoother on newer tool versions, to make new features integrate more
    smoothly, to support cross-endian recording/analyzing workflows
    better, etc.

    - Restructuring of the kprobes code, the splitting out of 'optprobes',
    and a corner case bugfix.

    - Allow the tracing of kernel console output (printk).

    - Improvements/fixes to user-space RDPMC support, allowing user-space
    self-profiling code to extract PMU counts without performing any
    system calls, while playing nice with the kernel side.

    - 'perf bench' improvements

    - ... and lots of internal restructurings, cleanups and fixes that made
    these features possible. And, as usual this list is incomplete as
    there were also lots of other improvements

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (120 commits)
    perf report: Fix annotate double quit issue in branch view mode
    perf report: Remove duplicate annotate choice in branch view mode
    perf/x86: Prettify pmu config literals
    perf report: Enable TUI in branch view mode
    perf report: Auto-detect branch stack sampling mode
    perf record: Add HEADER_BRANCH_STACK tag
    perf record: Provide default branch stack sampling mode option
    perf tools: Make perf able to read files from older ABIs
    perf tools: Fix ABI compatibility bug in print_event_desc()
    perf tools: Enable reading of perf.data files from different ABI rev
    perf: Add ABI reference sizes
    perf report: Add support for taken branch sampling
    perf record: Add support for sampling taken branch
    perf tools: Add code to support PERF_SAMPLE_BRANCH_STACK
    x86/kprobes: Split out optprobe related code to kprobes-opt.c
    x86/kprobes: Fix a bug which can modify kernel code permanently
    x86/kprobes: Fix instruction recovery on optimized path
    perf: Add callback to flush branch_stack on context switch
    perf: Disable PERF_SAMPLE_BRANCH_* when not supported
    perf/x86: Add LBR software filter support for Intel CPUs
    ...

    Linus Torvalds
     
  • Pull RCU changes for v3.4 from Ingo Molnar. The major features of this
    series are:

    - making RCU more aggressive about entering dyntick-idle mode in order
    to improve energy efficiency

    - converting a few more call_rcu()s to kfree_rcu()s

    - applying a number of rcutree fixes and cleanups to rcutiny

    - removing CONFIG_SMP #ifdefs from treercu

    - allowing RCU CPU stall times to be set via sysfs

    - adding CPU-stall capability to rcutorture

    - adding more RCU-abuse diagnostics

    - updating documentation

    - fixing yet more issues located by the still-ongoing top-to-bottom
    inspection of RCU, this time with a special focus on the CPU-hotplug
    code path.

    * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (48 commits)
    rcu: Stop spurious warnings from synchronize_sched_expedited
    rcu: Hold off RCU_FAST_NO_HZ after timer posted
    rcu: Eliminate softirq-mediated RCU_FAST_NO_HZ idle-entry loop
    rcu: Add RCU_NONIDLE() for idle-loop RCU read-side critical sections
    rcu: Allow nesting of rcu_idle_enter() and rcu_idle_exit()
    rcu: Remove redundant check for rcu_head misalignment
    PTR_ERR should be called before its argument is cleared.
    rcu: Convert WARN_ON_ONCE() in rcu_lock_acquire() to lockdep
    rcu: Trace only after NULL-pointer check
    rcu: Call out dangers of expedited RCU primitives
    rcu: Rework detection of use of RCU by offline CPUs
    lockdep: Add CPU-idle/offline warning to lockdep-RCU splat
    rcu: No interrupt disabling for rcu_prepare_for_idle()
    rcu: Move synchronize_sched_expedited() to rcutree.c
    rcu: Check for illegal use of RCU from offlined CPUs
    rcu: Update stall-warning documentation
    rcu: Add CPU-stall capability to rcutorture
    rcu: Make documentation give more realistic rcutorture duration
    rcutorture: Permit holding off CPU-hotplug operations during boot
    rcu: Print scheduling-clock information on RCU CPU stall-warning messages
    ...

    Linus Torvalds
     

20 Mar, 2012

6 commits


19 Mar, 2012

1 commit


17 Mar, 2012

4 commits

  • Kerin Millar reported hardlockups while running `conntrackd -c'
    in a busy firewall. That system (with several processors) was
    acting as backup in a primary-backup setup.

    After several tries, I found a race condition between the deletion
    operation of ctnetlink and timeout expiration. This patch fixes
    this problem.

    Tested-by: Kerin Millar
    Reported-by: Kerin Millar
    Signed-off-by: Pablo Neira Ayuso
    Signed-off-by: David S. Miller

    Pablo Neira Ayuso
     
  • I found recently that the arp_process function which handles all of our received
    arp frames, is using IPV4_DEVCONF_ALL macro to check the state of the arp_process
    flag. This seems wrong, as it implies that either none or all of the network
    interfaces accept gratuitous arps. This patch corrects that, allowing
    per-interface arp_accept configuration to deviate from the all setting. Note
    this also brings us into line with the way the arp_filter setting is handled
    during arp_process execution.

    Tested this myself on my home network, and confirmed it works as expected.

    Signed-off-by: Neil Horman
    CC: "David S. Miller"
    Signed-off-by: David S. Miller

    Neil Horman
     
  • ip6_mc_find_dev_rcu() is called with rcu_read_lock(), so don't
    need to dev_hold().
    With dev_hold(), not corresponding dev_put(), will lead to leak.

    [ bug introduced in 96b52e61be1 (ipv6: mcast: RCU conversions) ]

    Signed-off-by: RongQing.Li
    Acked-by: Eric Dumazet
    Signed-off-by: David S. Miller

    RongQing.Li
     
  • …wireless-next into for-davem

    Conflicts:
    drivers/net/wireless/ath/ath9k/hw.c

    John W. Linville
     

16 Mar, 2012

5 commits

  • This reverts commit d47a0ac7b6 (sch_sfq: dont put new flow at the end of
    flows)

    As Jesper found out, patch sounded great but has bad side effects.

    In stress situation, pushing new flows in front of the queue can prevent
    old flows doing any progress. Packets can stay in SFQ queue for
    unlimited amount of time.

    It's possible to add heuristics to limit this problem, but this would
    add complexity outside of SFQ scope.

    A more sensible answer to Dave Taht concerns (who reported the issued I
    tried to solve in original commit) is probably to use a qdisc hierarchy
    so that high prio packets dont enter a potentially crowded SFQ qdisc.

    Reported-by: Jesper Dangaard Brouer
    Cc: Dave Taht
    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • commit 87a115783 ( ipv6: Move xfrm_lookup() call down into
    icmp6_dst_alloc().) forgot to convert one error path, leading
    to crashes in mld_sendpack()

    Many thanks to Dave Jones for providing a very complete bug report.

    Reported-by: Dave Jones
    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • uapsd_queues and uapsd_max_sp_len are relevant only for managed
    interfaces, and can be configured differently for each vif.

    Move them from the local struct to sdata->u.mgd, and update
    the debugfs functions accordingly.

    Signed-off-by: Eliad Peller
    Signed-off-by: John W. Linville

    Eliad Peller
     
  • Some debugfs write functions call kstrto* functions, which
    assume the string is null-terminated. Make it valid by changing
    ieee80211_if_write() to use static buffer instead of allocating
    one, and set the last char to NULL.

    (The write functions try to parse some integer/mac address,
    so 64 bytes buffer should be enough)

    Signed-off-by: Eliad Peller
    Signed-off-by: John W. Linville

    Eliad Peller
     
  • The current max throughput rate is known to be good as otherwise it
    wouldn't be the max throughput rate. Since rate sampling can introduce
    some overhead (by adding RTS for example or due to not aggregating the
    frame) don't sample the max throughput rate.

    Signed-off-by: Helmut Schaa
    Acked-by: Felix Fietkau
    Signed-off-by: John W. Linville

    Helmut Schaa
     

14 Mar, 2012

5 commits

  • When regulatory information changes our HT behavior (e.g,
    when we get a country code from the AP we have just associated
    with), we should use this information to change the power with
    which we transmit, and what channels we transmit. Sometimes
    the channel parameters we derive from regulatory information
    contradicts the parameters we used in association. For example,
    we could have associated specifying HT40, but the regulatory
    rules we apply may forbid HT40 operation.

    In the situation above, we should reconfigure ourselves to
    transmit in HT20 only, however it makes no sense for us to
    disable receive in HT40, since if we associated with these
    parameters, the AP has every reason to expect we can and
    will receive packets this way. The code in mac80211 does
    not have the capability of sending the appropriate action
    frames to signal a change in HT behaviour so the AP has
    no clue we can no longer receive frames encoded this way.
    In some broken AP implementations, this can leave us
    effectively deaf if the AP never retries in lower HT rates.

    This change breaks up the channel_type parameter in the
    ieee80211_enable_ht function into a separate receive and
    transmit part. It honors the channel flags set by regulatory
    in order to configure the rate control algorithm, but uses
    the capability flags to configure the channel on the radio,
    since these were used in association to set the AP's transmit
    rate.

    Signed-off-by: Paul Stewart
    Cc: Sam Leffler
    Cc: Johannes Berg
    Reviewed-by: Luis R Rodriguez
    Signed-off-by: John W. Linville

    Paul Stewart
     
  • This value is not really very useful by itself,
    yet some drivers (including iwlwifi until I can
    figure out what it should do) use it. At least
    rename it to "last_tsf" to indicate the meaning
    and add a note that it may be really old.

    I suspect the value may become useful combined
    with the rx_status->mactime, but we don't (yet)
    store that value and pass it to the driver.

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

    Johannes Berg
     
  • This is intended to be the timestamp sent by the
    peer in the beacon/probe response, not any form
    of host timestamp. Clarify the documentation and
    variable names.

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

    Johannes Berg
     
  • Not linearizing every SKB will help actually pass
    non-linear SKBs all the way up when on an encrypted
    connection. For now, linearize TKIP completely as
    it is lower performance and I don't quite grok all
    the details.

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

    Johannes Berg
     
  • This is better done inside the WEP decrypt
    function where it doesn't have to check all
    the conditions any more since they've been
    tested already.

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

    Johannes Berg
     

13 Mar, 2012

4 commits

  • Add #define pr_fmt(fmt) as appropriate.

    Add "IPv4: ", "TCP: ", and "IPsec: " to appropriate files.
    Standardize on "UDPLite: " for appropriate uses.
    Some prefixes were previously "UDPLITE: " and "UDP-Lite: ".

    Add KBUILD_MODNAME ": " to icmp and gre.
    Remove embedded prefixes as appropriate.

    Add missing "\n" to pr_info in gre.c.

    Signed-off-by: Joe Perches
    Signed-off-by: David S. Miller

    Joe Perches
     
  • Merge reason: We are going to queue up a dependent patch.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • The authentication and association handshake
    already happens in the context of the new BSS,
    and the basic rates are needed at least for
    the ACK response frame to the authentication
    or association response frames. Therefore the
    basic rates should already be configured into
    the driver when those frames are sent.

    Change the logic to set up the basic rates in
    the connection preparation that happens for
    authentication and association (if needed).

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

    Johannes Berg
     
  • As associating is possible without first authenticating
    (for FT over DS) association also has to be able to
    switch to the right channel, insert the station entry
    etc. Factor out this common code into a new function
    called ieee80211_prep_connection().

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

    Johannes Berg