03 Aug, 2011

2 commits


02 Aug, 2011

1 commit

  • * 'pstore-efi' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    efivars: Introduce PSTORE_EFI_ATTRIBUTES
    efivars: Use string functions in pstore_write
    efivars: introduce utf16_strncmp
    efivars: String functions
    efi: Add support for using efivars as a pstore backend
    pstore: Allow the user to explicitly choose a backend
    pstore: Make "part" unsigned
    pstore: Add extra context for writes and erases
    pstore: Extend API for more flexibility in new backends

    Linus Torvalds
     

26 Jul, 2011

2 commits

  • …/gregkh/driver-core-2.6

    * 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
    updated Documentation/ja_JP/SubmittingPatches
    debugfs: add documentation for debugfs_create_x64
    uio: uio_pdrv_genirq: Add OF support
    firmware: gsmi: remove sysfs entries when unload the module
    Documentation/zh_CN: Fix messy code file email-clients.txt
    driver core: add more help description for "path to uevent helper"
    driver-core: modify FIRMWARE_IN_KERNEL help message
    driver-core: Kconfig grammar corrections in firmware configuration
    DOCUMENTATION: Replace create_device() with device_create().
    DOCUMENTATION: Update overview.txt in Doc/driver-model.
    pti: pti_tty_install documentation mispelling.

    Linus Torvalds
     
  • Fix module tainting message:

    sigma: module license 'unspecified' taints kernel.

    Signed-off-by: Randy Dunlap
    Acked-by: Mike Frysinger
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

23 Jul, 2011

5 commits

  • Consolidate the attributes listed for pstore operations in one place,
    PSTORE_EFI_ATTRIBUTES.

    Signed-off-by: Mike Waychison
    Signed-off-by: Tony Luck

    Mike Waychison
     
  • Instead of open-coding the string operations for comparing the prefix of
    the variable names, use the provided utf16_* string functions.

    This patch also changes the calls to efi.set_variable to
    efivars->ops->set_variable so that the right function gets called in the
    case of gsmi (which doesn't have a valid efi structure).

    As well, make sure that we only consider variables with the right vendor
    string.

    Signed-off-by: Mike Waychison
    Signed-off-by: Tony Luck

    Mike Waychison
     
  • Introduce utf16_strncmp which is used in the next patch. Semantics
    should be the same as the strncmp C function.

    Signed-off-by: Mike Waychison
    Signed-off-by: Tony Luck

    Mike Waychison
     
  • Fix the string functions in the efivars driver to be called utf16_*
    instead of utf8_* as the encoding is utf16, not utf8.

    As well, rename utf16_strlen to utf16_strnlen as it takes a maxlength
    argument and the name should be consistent with the standard C function
    names. utf16_strlen is still provided for convenience in a subsequent
    patch.

    Signed-off-by: Mike Waychison
    Signed-off-by: Tony Luck

    Mike Waychison
     
  • EFI provides an area of nonvolatile storage managed by the firmware. We
    can use this as a pstore backend to maintain copies of oopses, aiding
    diagnosis.

    Signed-off-by: Matthew Garrett
    Signed-off-by: Tony Luck

    Matthew Garrett
     

02 Jul, 2011

1 commit


30 Jun, 2011

1 commit

  • be2iscsi passes the boot functions its phba object which is
    allocated in the shost, but iscsi_ibft passes in a object
    allocated for each item to display. The problem is that
    iscsi_boot_sysfs was managing the lifetime of the object
    passed in and doing a kfree on release. This causes a double
    free for be2iscsi which frees the shost in its pci_remove.

    This patch fixes the problem by adding a release callback
    which the drivers can call kfree or a put() type of function
    (needed for be2iscsi which will do a get/put on the shost).

    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     

29 Jun, 2011

1 commit

  • …t/gregkh/driver-core-2.6

    * 'driver-core-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
    Connector: Correctly set the error code in case of success when dispatching receive callbacks
    Connector: Set the CN_NETLINK_USERS correctly
    pti: PTI semantics fix in pti_tty_cleanup.
    pti: ENXIO error case memory leak PTI fix.
    pti: double-free security PTI fix
    drivers:misc: ti-st: fix skipping of change remote baud
    drivers/base/platform.c: don't mark platform_device_register_resndata() as __init_or_module
    st_kim: Handle case of no device found for ID 0
    firmware: fix GOOGLE_SMI kconfig dependency warning

    Linus Torvalds
     

09 Jun, 2011

1 commit

  • int i is only needed if CONFIG_ACPI is set
    so move it within a new ifdef so kernels without ACPI
    don't allocate space for nothing. Fixes warning too.

    Signed-off-by: Connor Hansen
    Signed-off-by: Peter Jones
    [v2: Fixed warning when CONFIG_ACPI was defined]
    Signed-off-by: Konrad Rzeszutek Wilk

    Connor Hansen
     

08 Jun, 2011

1 commit

  • Is it meaningful/useful to enable EFI_VARS but not EFI?
    That's what GOOGLE_SMI does. Make it enable EFI also.

    Fixes this kconfig dependency warning:

    warning: (GOOGLE_SMI) selects EFI_VARS which has unmet direct dependencies (EFI)

    Signed-off-by: Randy Dunlap
    Acked-by: Mike Waychison
    Signed-off-by: Greg Kroah-Hartman

    Randy Dunlap
     

24 May, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)
    b43: fix comment typo reqest -> request
    Haavard Skinnemoen has left Atmel
    cris: typo in mach-fs Makefile
    Kconfig: fix copy/paste-ism for dell-wmi-aio driver
    doc: timers-howto: fix a typo ("unsgined")
    perf: Only include annotate.h once in tools/perf/util/ui/browsers/annotate.c
    md, raid5: Fix spelling error in comment ('Ofcourse' --> 'Of course').
    treewide: fix a few typos in comments
    regulator: change debug statement be consistent with the style of the rest
    Revert "arm: mach-u300/gpio: Fix mem_region resource size miscalculations"
    audit: acquire creds selectively to reduce atomic op overhead
    rtlwifi: don't touch with treewide double semicolon removal
    treewide: cleanup continuations and remove logging message whitespace
    ath9k_hw: don't touch with treewide double semicolon removal
    include/linux/leds-regulator.h: fix syntax in example code
    tty: fix typo in descripton of tty_termios_encode_baud_rate
    xtensa: remove obsolete BKL kernel option from defconfig
    m68k: fix comment typo 'occcured'
    arch:Kconfig.locks Remove unused config option.
    treewide: remove extra semicolons
    ...

    Linus Torvalds
     

20 May, 2011

3 commits

  • …/gregkh/driver-core-2.6

    * 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (44 commits)
    debugfs: Silence DEBUG_STRICT_USER_COPY_CHECKS=y warning
    sysfs: remove "last sysfs file:" line from the oops messages
    drivers/base/memory.c: fix warning due to "memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION"
    memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION
    SYSFS: Fix erroneous comments for sysfs_update_group().
    driver core: remove the driver-model structures from the documentation
    driver core: Add the device driver-model structures to kerneldoc
    Translated Documentation/email-clients.txt
    RAW driver: Remove call to kobject_put().
    reboot: disable usermodehelper to prevent fs access
    efivars: prevent oops on unload when efi is not enabled
    Allow setting of number of raw devices as a module parameter
    Introduce CONFIG_GOOGLE_FIRMWARE
    driver: Google Memory Console
    driver: Google EFI SMI
    x86: Better comments for get_bios_ebda()
    x86: get_bios_ebda_length()
    misc: fix ti-st build issues
    params.c: Use new strtobool function to process boolean inputs
    debugfs: move to new strtobool
    ...

    Fix up trivial conflicts in fs/debugfs/file.c due to the same patch
    being applied twice, and an unrelated cleanup nearby.

    Linus Torvalds
     
  • …nel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

    * 'x86-reboot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Reorder reboot method preferences

    * 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, setup: Fix EDD3.0 data verification.

    Linus Torvalds
     
  • * 'stable/broadcom.ibft' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft-2.6:
    iscsi_ibft: search for broadcom specific ibft sign (v2)

    Linus Torvalds
     

10 May, 2011

1 commit


07 May, 2011

1 commit

  • efivars_exit() should check for efi_enabled and not undo
    allocations when efi is not enabled. Otherwise there is an Oops
    during module unload:

    calling efivars_init+0x0/0x1000 [efivars] @ 2810
    EFI Variables Facility v0.08 2004-May-17
    initcall efivars_init+0x0/0x1000 [efivars] returned 0 after 5120 usecs
    Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
    last sysfs file: /sys/module/firmware_class/initstate
    CPU 1
    Modules linked in: efivars(-) af_packet tun nfsd lockd nfs_acl auth_rpcgss sunrpc ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter ip_tables ip6t_REJECT xt_tcpudp nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables x_tables ipv6 cpufreq_ondemand acpi_cpufreq freq_table mperf binfmt_misc dm_mirror dm_region_hash dm_log dm_multipath scsi_dh dm_mod snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep mousedev snd_seq joydev snd_seq_device mac_hid evdev snd_pcm usbkbd usbmouse usbhid snd_timer hid tg3 snd sr_mod pcspkr rtc_cmos soundcore cdrom iTCO_wdt processor sg dcdbas i2c_i801 rtc_core iTCO_vendor_support intel_agp snd_page_alloc thermal_sys rtc_lib intel_gtt 8250_pnp button hwmon unix ide_pci_generic ide_core ata_generic pata_acpi ata_piix sd_mod crc_t10dif ext3 jbd mbcache uhci_hcd ohci_hcd ssb mmc_core pcmcia pcmcia_core firmware_class ehci_hcd usbcore [last unloaded: dell_rbu]

    Pid: 2812, comm: rmmod Not tainted 2.6.39-rc6 #1 Dell Inc. OptiPlex 745 /0TY565
    RIP: 0010:[] [] unregister_efivars+0x28/0x12c [efivars]
    RSP: 0018:ffff88005eedde98 EFLAGS: 00010283
    RAX: ffffffffa06a23fc RBX: ffffffffa06a44c0 RCX: ffff88007c227a50
    RDX: 0000000000000000 RSI: 00000055ac13db78 RDI: ffffffffa06a44c0
    RBP: ffff88005eeddec8 R08: 0000000000000000 R09: ffff88005eeddd78
    R10: ffffffffa06a4220 R11: ffff88005eeddd78 R12: fffffffffffff7d0
    R13: 00007fff5a3aaec0 R14: 0000000000000000 R15: ffffffffa06a4508
    FS: 00007fa8dcc4a6f0(0000) GS:ffff88007c200000(0000) knlGS:0000000000000000
    CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
    CR2: 0000000000000000 CR3: 000000005d148000 CR4: 00000000000006e0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    Process rmmod (pid: 2812, threadinfo ffff88005eedc000, task ffff88006754b000)
    Stack:
    ffff88005eeddec8 ffffffffa06a4220 0000000000000000 00007fff5a3aaec0
    0000000000000000 0000000000000001 ffff88005eedded8 ffffffffa06a2418
    ffff88005eeddf78 ffffffff810d3598 ffffffffa06a4220 0000000000000880
    Call Trace:
    [] efivars_exit+0x1c/0xc04 [efivars]
    [] sys_delete_module+0x2d6/0x368
    [] ? lockdep_sys_exit_thunk+0x35/0x67
    [] ? audit_syscall_entry+0x172/0x1a5
    [] system_call_fastpath+0x16/0x1b
    Code: 5c c9 c3 55 48 89 e5 41 57 41 56 41 55 41 54 53 48 83 ec 08 0f 1f 44 00 00 4c 8b 67 48 48 89 fb 4c 8d 7f 48 49 81 ec 30 08 00 00 8b ac 24 30 08 00 00 49 81 ed 30 08 00 00 eb 59 48 89 df 48
    RIP [] unregister_efivars+0x28/0x12c [efivars]
    RSP
    CR2: 0000000000000000
    ---[ end trace aa99b99090f70baa ]---

    Matt apparently removed such a check in 2004 (with no reason given):
    * 17 May 2004 - Matt Domsch
    * remove check for efi_enabled in exit
    but there have been several changes since then.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Mike Waychison
    Tested-by: Randy Dunlap
    Cc: Matt Domsch
    Cc:
    Signed-off-by: Greg Kroah-Hartman

    Randy Dunlap
     

30 Apr, 2011

3 commits

  • In order to keep Google's firmware drivers organized amongst themselves,
    all Google firmware drivers are gated on CONFIG_GOOGLE_FIRMWARE=y, which
    defaults to 'n' in the kernel build.

    Signed-off-by: Mike Waychison
    Signed-off-by: Greg Kroah-Hartman

    Mike Waychison
     
  • This patch introduces the 'memconsole' driver.

    Our firmware gives us access to an in-memory log of the firmware's
    output. This gives us visibility in a data-center of headless machines
    as to what the firmware is doing.

    The memory console is found by the driver by finding a header block in
    the EBDA. The buffer is then copied out, and is exported to userland in
    the file /sys/firmware/log.

    Signed-off-by: San Mehat
    Signed-off-by: Mike Waychison
    Signed-off-by: Greg Kroah-Hartman

    Mike Waychison
     
  • The "gsmi" driver bridges userland with firmware specific routines for
    accessing hardware.

    Currently, this driver only supports NVRAM and eventlog information.
    Deprecated functions have been removed from the driver, though their
    op-codes are left in place so that they are not re-used.

    This driver works by trampolining into the firmware via the smi_command
    outlined in the FADT table. Three protocols are used due to various
    limitations over time, but all are included herein.

    This driver should only ever load on Google boards, identified by either
    a "Google, Inc." board vendor string in DMI, or "GOOGLE" in the OEM
    strings of the FADT ACPI table. This logic happens in
    gsmi_system_valid().

    Signed-off-by: Duncan Laurie
    Signed-off-by: Aaron Durbin
    Signed-off-by: Mike Waychison
    Signed-off-by: Greg Kroah-Hartman

    Mike Waychison
     

28 Apr, 2011

1 commit

  • Check for nonzero path in edd_has_edd30() has no sense. First, it looks
    at the wrong memory. Device path starts at offset 30 of the info->params
    structure which is at offset 8 from the beginning of info structure,
    but code looks at info + 4 instead. This was correct when code was
    introduced, but around v2.6.4 three more fields were added to edd_info
    structure (commit 66b61a5c in history.git). Second, even if it will check
    correct memory it will always succeed since at offset 30 (params->key)
    there will be non-zero values otherwise previous check would fail.

    The patch replaces this bogus check with one that verifies checksum.

    Signed-off-by: Gleb Natapov
    Link: http://lkml.kernel.org/r/20110426082132.GG2265@redhat.com
    Signed-off-by: H. Peter Anvin

    Gleb Natapov
     

26 Apr, 2011

1 commit

  • Using C line continuation inside format strings is error prone.
    Clean up the unintended whitespace introduced by misuse of \.
    Neaten correctly used line continations as well for consistency.

    drivers/scsi/arcmsr/arcmsr_hba.c has these errors as well,
    but arcmsr needs a lot more work and the driver should likely be
    moved to staging instead.

    Signed-off-by: Joe Perches
    Acked-by: Randy Dunlap
    Signed-off-by: Jiri Kosina

    Joe Perches
     

20 Apr, 2011

2 commits


15 Apr, 2011

1 commit

  • Broadcom iscsi offload firmware uses a non standard ibft sign of "BIFT".
    When we added support for boot, the anaconda team and I were using
    older firmware (I guess 4 years old), so boot does not work on current
    cards.

    This patch modifies the ibft search code to search for "BIFT" along
    with the other possible values.

    Broadcom has tested the patch and reported it works with their
    firmware. Mike has tested Chelsio and Intel cards.

    [v2:
    - Add ACPI_SIG_IBFT to ibft_signs
    - replace break with goto in find_ibft_in_mem innner loop.]
    Signed-off-by: Mike Christie
    Signed-off-by: Peter Jones
    Signed-off-by: Konrad Rzeszutek Wilk

    Mike Christie
     

23 Mar, 2011

1 commit


19 Mar, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (47 commits)
    doc: CONFIG_UNEVICTABLE_LRU doesn't exist anymore
    Update cpuset info & webiste for cgroups
    dcdbas: force SMI to happen when expected
    arch/arm/Kconfig: remove one to many l's in the word.
    asm-generic/user.h: Fix spelling in comment
    drm: fix printk typo 'sracth'
    Remove one to many n's in a word
    Documentation/filesystems/romfs.txt: fixing link to genromfs
    drivers:scsi Change printk typo initate -> initiate
    serial, pch uart: Remove duplicate inclusion of linux/pci.h header
    fs/eventpoll.c: fix spelling
    mm: Fix out-of-date comments which refers non-existent functions
    drm: Fix printk typo 'failled'
    coh901318.c: Change initate to initiate.
    mbox-db5500.c Change initate to initiate.
    edac: correct i82975x error-info reported
    edac: correct i82975x mci initialisation
    edac: correct commented info
    fs: update comments to point correct document
    target: remove duplicate include of target/target_core_device.h from drivers/target/target_core_hba.c
    ...

    Trivial conflict in fs/eventpoll.c (spelling vs addition)

    Linus Torvalds
     

17 Mar, 2011

1 commit

  • …/gregkh/driver-core-2.6

    * 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (50 commits)
    printk: do not mangle valid userspace syslog prefixes
    efivars: Add Documentation
    efivars: Expose efivars functionality to external drivers.
    efivars: Parameterize operations.
    efivars: Split out variable registration
    efivars: parameterize efivars
    efivars: Make efivars bin_attributes dynamic
    efivars: move efivars globals into struct efivars
    drivers:misc: ti-st: fix debugging code
    kref: Fix typo in kref documentation
    UIO: add PRUSS UIO driver support
    Fix spelling mistakes in Documentation/zh_CN/SubmittingPatches
    firmware: Fix unaligned memory accesses in dmi-sysfs
    firmware: Add documentation for /sys/firmware/dmi
    firmware: Expose DMI type 15 System Event Log
    firmware: Break out system_event_log in dmi-sysfs
    firmware: Basic dmi-sysfs support
    firmware: Add DMI entry types to the headers
    Driver core: convert platform_{get,set}_drvdata to static inline functions
    Translate linux-2.6/Documentation/magic-number.txt into Chinese
    ...

    Linus Torvalds
     

14 Mar, 2011

6 commits

  • Signed-off-by: Mike Waychison
    Cc: Matt Domsch ,
    Signed-off-by: Greg Kroah-Hartman

    Mike Waychison
     
  • Instead of letting efivars access struct efi directly when dealing with
    variables, use an operations structure. This allows a later change to
    reuse the efivars logic without having to pretend to support everything
    in struct efi.

    Signed-off-by: Mike Waychison
    Cc: Matt Domsch ,
    Signed-off-by: Greg Kroah-Hartman

    Mike Waychison
     
  • In anticipation of re-using the variable facilities in efivars from
    elsewhere, split out the registration and unregistration of struct
    efivars from the rest of the EFI specific sysfs code.

    Signed-off-by: Mike Waychison
    Cc: Matt Domsch ,
    Signed-off-by: Greg Kroah-Hartman

    Mike Waychison
     
  • Now that we all global variable state is encapsulated by struct efivars,
    parameterize all functions to the efivars local to the control flow rather
    than at file scope. We do this by removing the variable "efivars" at file
    scope and move its storage down to the end of the file.

    Variables get at efivars by storing the efivars pointer within each
    efivar_entry. The "new_var" and "del_var" binary attribute files get at
    the efivars through the private pointer.

    Signed-off-by: Mike Waychison
    Cc: Matt Domsch ,
    Signed-off-by: Greg Kroah-Hartman

    Mike Waychison
     
  • In preparation for encapsulating efivars, we need to have the
    bin_attributes be dynamically allocated so that we can use their
    ->private fields to get back to the struct efivars structure.

    Signed-off-by: Mike Waychison
    Cc: Matt Domsch ,
    Signed-off-by: Greg Kroah-Hartman

    Mike Waychison
     
  • In preparation for abstracting out efivars to be usable by other similar
    variable services, move the global lock, list and kset into a structure.
    Later patches will change the scope of 'efivars' and have it be passed
    by function argument.

    Signed-off-by: Mike Waychison
    Cc: Matt Domsch ,
    Signed-off-by: Greg Kroah-Hartman

    Mike Waychison
     

02 Mar, 2011

1 commit

  • The dcdbas driver can do an I/O write to cause a SMI to occur. The SMI handler
    looks at certain registers and memory locations, so the SMI needs to happen
    immediately. On some systems I/O writes are posted, though, causing the SMI to
    happen well after the "outb" occurred, which causes random failures. Following
    the "outb" with an "inb" forces the write to go through even if it is posted.

    Signed-off-by: Stuart Hayes
    Acked-by: Doug Warzecha
    Signed-off-by: Jiri Kosina

    Stuart Hayes
     

26 Feb, 2011

1 commit

  • DMI entries are arranged in memory back to back with no alignment
    guarantees. This means that the struct dmi_header passed to callbacks
    from dmi_walk() itself isn't byte aligned. This causes problems on
    architectures that expect aligned data, such as IA64.

    The dmi-sysfs patchset introduced structure member accesses through this
    passed in dmi_header. Fix this by memcpy()ing the structures to
    temporary locations on stack when inspecting/copying them.

    Signed-off-by: Mike Waychison
    Tested-by: Tony Luck
    Signed-off-by: Greg Kroah-Hartman

    Mike Waychison