diff for duplicates of <1490128938.3567.2.camel@linux.intel.com> diff --git a/a/1.txt b/N1/1.txt index 432456b..113f911 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -4,27 +4,27 @@ On Mon, 2017-03-20 at 14:26 +0800, Huang, Ying wrote: > Before commit 452b94b8c8c7 ("mm/swap: don't BUG_ON() due to > uninitialized swap slot cache"), the following bug is reported, > -> A ------------[ cut here ]------------ -> A kernel BUG at mm/swap_slots.c:270! -> A invalid opcode: 0000 [#1] SMP -> A CPU: 5 PID: 1745 Comm: (sd-pam) Not tainted 4.11.0-rc1-00243-g24c534bb161b #1 -> A Hardware name: System manufacturer System Product Name/Z170-K, BIOS +> ------------[ cut here ]------------ +> kernel BUG at mm/swap_slots.c:270! +> invalid opcode: 0000 [#1] SMP +> CPU: 5 PID: 1745 Comm: (sd-pam) Not tainted 4.11.0-rc1-00243-g24c534bb161b #1 +> Hardware name: System manufacturer System Product Name/Z170-K, BIOS > 1803 05/06/2016 -> A RIP: 0010:free_swap_slot+0xba/0xd0 -> A Call Trace: -> A A A swap_free+0x36/0x40 -> A A A do_swap_page+0x360/0x6d0 -> A A A __handle_mm_fault+0x880/0x1080 -> A A A handle_mm_fault+0xd0/0x240 -> A A A __do_page_fault+0x232/0x4d0 -> A A A do_page_fault+0x20/0x70 -> A A A page_fault+0x22/0x30 -> A ---[ end trace aefc9ede53e0ab21 ]--- +> RIP: 0010:free_swap_slot+0xba/0xd0 +> Call Trace: +> swap_free+0x36/0x40 +> do_swap_page+0x360/0x6d0 +> __handle_mm_fault+0x880/0x1080 +> handle_mm_fault+0xd0/0x240 +> __do_page_fault+0x232/0x4d0 +> do_page_fault+0x20/0x70 +> page_fault+0x22/0x30 +> ---[ end trace aefc9ede53e0ab21 ]--- > > This is raised by the BUG_ON(!swap_slot_cache_initialized) in -> free_swap_slot().A A This is incorrect, because even if the swap slots +> free_swap_slot(). This is incorrect, because even if the swap slots > cache fails to be initialized, the swap should operate properly -> without the swap slots cache.A A And the use_swap_slot_cache check later +> without the swap slots cache. And the use_swap_slot_cache check later > in the function will protect the uninitialized swap slots cache case. > > In commit 452b94b8c8c7, the BUG_ON() is replaced by WARN_ON_ONCE(). @@ -40,25 +40,19 @@ Acked-by: Tim Chen <tim.c.chen@linux.intel.com> > Cc: Michal Hocko <mhocko@suse.com> > Signed-off-by: "Huang, Ying" <ying.huang@intel.com> > --- -> A mm/swap_slots.c | 2 -- -> A 1 file changed, 2 deletions(-) +> mm/swap_slots.c | 2 -- +> 1 file changed, 2 deletions(-) > > diff --git a/mm/swap_slots.c b/mm/swap_slots.c > index 7ebb23836f68..b1ccb58ad397 100644 > --- a/mm/swap_slots.c > +++ b/mm/swap_slots.c > @@ -267,8 +267,6 @@ int free_swap_slot(swp_entry_t entry) -> A { -> A struct swap_slots_cache *cache; -> A +> { +> struct swap_slots_cache *cache; +> > - WARN_ON_ONCE(!swap_slot_cache_initialized); > - -> A cache = &get_cpu_var(swp_slots); -> A if (use_swap_slot_cache && cache->slots_ret) { -> A spin_lock_irq(&cache->free_lock); - --- -To unsubscribe, send a message with 'unsubscribe linux-mm' in -the body to majordomo@kvack.org. For more info on Linux MM, -see: http://www.linux-mm.org/ . -Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> +> cache = &get_cpu_var(swp_slots); +> if (use_swap_slot_cache && cache->slots_ret) { +> spin_lock_irq(&cache->free_lock); diff --git a/a/content_digest b/N1/content_digest index 39afb4a..5720f21 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -20,27 +20,27 @@ "> Before commit 452b94b8c8c7 (\"mm/swap: don't BUG_ON() due to\n" "> uninitialized swap slot cache\"), the following bug is reported,\n" "> \n" - "> A ------------[ cut here ]------------\n" - "> A kernel BUG at mm/swap_slots.c:270!\n" - "> A invalid opcode: 0000 [#1] SMP\n" - "> A CPU: 5 PID: 1745 Comm: (sd-pam) Not tainted 4.11.0-rc1-00243-g24c534bb161b #1\n" - "> A Hardware name: System manufacturer System Product Name/Z170-K, BIOS\n" + "> \302\240 ------------[ cut here ]------------\n" + "> \302\240 kernel BUG at mm/swap_slots.c:270!\n" + "> \302\240 invalid opcode: 0000 [#1] SMP\n" + "> \302\240 CPU: 5 PID: 1745 Comm: (sd-pam) Not tainted 4.11.0-rc1-00243-g24c534bb161b #1\n" + "> \302\240 Hardware name: System manufacturer System Product Name/Z170-K, BIOS\n" "> 1803 05/06/2016\n" - "> A RIP: 0010:free_swap_slot+0xba/0xd0\n" - "> A Call Trace:\n" - "> A A A swap_free+0x36/0x40\n" - "> A A A do_swap_page+0x360/0x6d0\n" - "> A A A __handle_mm_fault+0x880/0x1080\n" - "> A A A handle_mm_fault+0xd0/0x240\n" - "> A A A __do_page_fault+0x232/0x4d0\n" - "> A A A do_page_fault+0x20/0x70\n" - "> A A A page_fault+0x22/0x30\n" - "> A ---[ end trace aefc9ede53e0ab21 ]---\n" + "> \302\240 RIP: 0010:free_swap_slot+0xba/0xd0\n" + "> \302\240 Call Trace:\n" + "> \302\240\302\240\302\240swap_free+0x36/0x40\n" + "> \302\240\302\240\302\240do_swap_page+0x360/0x6d0\n" + "> \302\240\302\240\302\240__handle_mm_fault+0x880/0x1080\n" + "> \302\240\302\240\302\240handle_mm_fault+0xd0/0x240\n" + "> \302\240\302\240\302\240__do_page_fault+0x232/0x4d0\n" + "> \302\240\302\240\302\240do_page_fault+0x20/0x70\n" + "> \302\240\302\240\302\240page_fault+0x22/0x30\n" + "> \302\240 ---[ end trace aefc9ede53e0ab21 ]---\n" "> \n" "> This is raised by the BUG_ON(!swap_slot_cache_initialized) in\n" - "> free_swap_slot().A A This is incorrect, because even if the swap slots\n" + "> free_swap_slot().\302\240\302\240This is incorrect, because even if the swap slots\n" "> cache fails to be initialized, the swap should operate properly\n" - "> without the swap slots cache.A A And the use_swap_slot_cache check later\n" + "> without the swap slots cache.\302\240\302\240And the use_swap_slot_cache check later\n" "> in the function will protect the uninitialized swap slots cache case.\n" "> \n" "> In commit 452b94b8c8c7, the BUG_ON() is replaced by WARN_ON_ONCE().\n" @@ -56,27 +56,21 @@ "> Cc: Michal Hocko <mhocko@suse.com>\n" "> Signed-off-by: \"Huang, Ying\" <ying.huang@intel.com>\n" "> ---\n" - "> A mm/swap_slots.c | 2 --\n" - "> A 1 file changed, 2 deletions(-)\n" + "> \302\240mm/swap_slots.c | 2 --\n" + "> \302\2401 file changed, 2 deletions(-)\n" "> \n" "> diff --git a/mm/swap_slots.c b/mm/swap_slots.c\n" "> index 7ebb23836f68..b1ccb58ad397 100644\n" "> --- a/mm/swap_slots.c\n" "> +++ b/mm/swap_slots.c\n" "> @@ -267,8 +267,6 @@ int free_swap_slot(swp_entry_t entry)\n" - "> A {\n" - "> A \tstruct swap_slots_cache *cache;\n" - "> A \n" + "> \302\240{\n" + "> \302\240\tstruct swap_slots_cache *cache;\n" + "> \302\240\n" "> -\tWARN_ON_ONCE(!swap_slot_cache_initialized);\n" "> -\n" - "> A \tcache = &get_cpu_var(swp_slots);\n" - "> A \tif (use_swap_slot_cache && cache->slots_ret) {\n" - "> A \t\tspin_lock_irq(&cache->free_lock);\n" - "\n" - "--\n" - "To unsubscribe, send a message with 'unsubscribe linux-mm' in\n" - "the body to majordomo@kvack.org. For more info on Linux MM,\n" - "see: http://www.linux-mm.org/ .\n" - "Don't email: <a href=mailto:\"dont@kvack.org\"> email@kvack.org </a>" + "> \302\240\tcache = &get_cpu_var(swp_slots);\n" + "> \302\240\tif (use_swap_slot_cache && cache->slots_ret) {\n" + "> \302\240\t\tspin_lock_irq(&cache->free_lock);" -c0490b8478548a95c16183055ea293ef3d91b0f5aaba1192f5f5d0362be59615 +eb7536f52c2296f54e444c19e00e9d5ca44ea1402cdf31e1156e2e61fe61d2fc
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.